UPDS Programación Básica

     FUNDAMENTOS DE PROGRAMACIÓN 



UNIVERSIDAD PRIVADA DOMINGO SAVIO 


ESTUDIANTES: Josué Daniel Vaca Jiménez 

                                      Maria Alejandra Suarez Obaldo 

                                                 Freddy Orlando Villarroel Salvatierra 

                      Sally Aparicio Padilla 

      

LICENCIADO: Roger Iván Paz Vidal 

Materia: Programación Básica 

2022








INTRODUCCIÓN 

En este blog estaremos presentando al lector tres temas que se consideran importantes para adentrarnos al mundo de la programación que son: Definición de Algoritmo, Diagramas de Flujo y Pseudocódigos, estaremos presentando conceptos y ejemplos claros con imágenes incluidas para que al lector se le haga fácil de comprender además que estaremos utilizando el método cuantitativo y el método cualitativo que nos ayudara a comprender cada tema mejor.










CAPITULO 1: DEFINICIÓN DE ALGORITMO 


CONCEPTO E IMPORTANCIA

Es un conjunto de pasos lógicos y estructurados que nos permiten dar solución aún problema. 

La importancia de un algoritmo radica en desarrollar un razonamiento lógico matemático a través de la comprensión y aplicación de metodologías para la resolución de problemáticas, éstas problemáticas bien pueden ser de la propia asignatura o de otras disciplinas como matemáticas, química y física que implican el seguimiento de algoritmos, apoyando así al razonamiento critico deductivo e inductivo.

ESTRUCTURA DE UN ALGORITMO

Todo algoritmo consta de tres secciones principales:


Entrada: Es la introducción de datos para ser transformados.
Proceso: Es el conjunto de operaciones a realizar para dar solución al problema.
Salida: Son los resultados obtenidos a través del proceso.

ANÁLISIS DEL PROBLEMA

IDENTIFICADORES

Un identificador es el nombre que se le asigna a los datos de un programa (constantes, variables, tipos de datos), y que nos permiten el acceso a su contenido.

Ejemplo:

Calf1

Valor_1

Num_hrs

TIPOS DE DATOS

Es el valor que puede tomar una constante o variable . Por ejemplo, para representar los datos de un alumno como: Nombre, Num_cta, calf1, calf2, etc.

Los tipos de datos más utilizados son:

a) Numéricos: Representan un valor entero y real.

Ejemplo:

Entero: 250, -5             Real: 3.1416, -27.5

METODOLOGÍA PARA LA DESCOMPOSICIÓN DE UN ALGORITMO.

TIPOS DE DATOS

b) Lógicos: Solo pueden tener dos valores (verdadero o falso), y son el resultado de una comparación.

c) Alfanuméricos: Son una serie de caracteres que sirven para representar y manejar datos como nombres de personas, artículos, productos, direcciones, etc.

VARIABLES

Permite almacenar de forma temporal un valor y el cual puede cambiar durante la ejecución del algoritmo ó programa.

Toda variable tiene un nombre que sirve para identificarla.

Ejemplo:

prom=(calf1+calf2+calf3)/3

Las variables son: prom, calf1, calf2, calf3

CONSTANTES

Son datos numéricos o alfanuméricos que contienen un valor y que no cambia durante la ejecución del algoritmo o programa.

Ejemplos:

prom=(calf1+calf2+calf3)/3

PI=3.1416


Las constantes son: 3, PI.

OPERADORES Y EXPRESIONES

Expresiones: Es un conjunto de constantes, variables, operadores con lo que se realizan las operaciones y permite obtener un resultado.

Ejemplo:

resultado  a*(2*b+5)/c

Operadores: Es un símbolo que permite manipular los valores de variables y/o constantes.

OPERADORES MATEMÁTICOS

1)   ^ **

2)   / *    div mod

3)   + -

Los operadores con igual nivel de prioridad se evalúan de izquierda a derecha.

OPERADOR DE ASIGNACIÓN

1)  = ó <-

Sirve para recuperar o guardar los valores obtenidos al realizarse o ejecutarse una expresión.

OPERADORES DE RELACIÓN

1) Mayor que >

2) Menor que <

3) Mayor igual que >=

4) Menor igual que <=

5) Igual =

6) Diferencia < > !=

  1.          Son empleados para comparar dos o más valores.
  2.           Su resultado produce valores como verdadero y falso.
  3.           Tienen el mismo nivel de prioridad.


DISEÑO DE ALGORITMOS

ALTERNATIVAS DE SOLUCIÓN

Es la forma de representar la secuencia lógica de ejecución de instrucciones.

Esta puede ser a través de:

1) Diagramas de flujo

2) Pseudocódigo

DIAGRAMA DE FLUJO.- Es empleado para representar la solución de un algoritmo empleando figuras geométricas, donde cada una de ellas representa en particular una tarea especifica que realizar. Las más comunes son:






CAPITULO 2: DIAGRAMA DE FLUJO

¿QUÉ ES DIAGRAMA DE FLUJO?

Un diagrama de flujo es un diagrama que describe un proceso, sistema o algoritmo informático. Se usan ampliamente en numerosos campos para documentar, estudiar, planificar, mejorar y comunicar procesos que suelen ser complejos en diagramas claros y fáciles de comprender. Los diagramas de flujo emplean rectángulos, óvalos, diamantes y otras numerosas figuras para definir el tipo de paso, junto con flechas conectoras que establecen el flujo y la secuencia. Pueden variar desde diagramas simples y dibujados a mano hasta diagramas exhaustivos creados por computadora que describen múltiples pasos y rutas. Si tomamos en cuenta todas las diversas figuras de los diagramas de flujo, son uno de los diagramas más comunes del mundo, usados por personas con y sin conocimiento técnico en una variedad de campos. Los diagramas de flujo a veces se denominan con nombres más especializados, como "diagrama de flujo de procesos", "mapa de procesos", "diagrama de flujo funcional", "mapa de procesos de negocios", "notación y modelado de procesos de negocio (BPMN)" o "diagrama de flujo de procesos (PFD)". Están relacionados con otros diagramas populares, como los diagramas de flujo de datos (DFD) y los diagramas de actividad de lenguaje unificado de modelado (UML). 

HISTORIA

El uso de los diagramas de flujo para documentar procesos de negocios se inició entre las décadas de 1920 y 1930. En 1921, los ingenieros industriales Frank y Lillian Gilbreth presentaron el "diagrama de flujo de procesos" en la Sociedad Americana de Ingenieros Mecánicos (ASME – American Society of Mechanical Engineers).  A principios de la década de 1930, el ingeniero industrial Allan H. Morgensen empleó las herramientas de Gilbreth para presentar conferencias sobre cómo aumentar la eficiencia en el trabajo a personas de negocios en su empresa.  En la década de 1940, dos estudiantes de Morgensen, Art Spinanger y Ben S. Graham, difundieron los métodos más ampliamente. Spinanger  introdujo los métodos de simplificación del trabajo en Procter & Gamble. Graham, director de Standard Register Industrial, adaptó los diagramas de flujo de procesos al procesamiento de información. En 1947, ASME adoptó un sistema de símbolos para los diagramas de flujo de procesos derivado del trabajo original de Gilbreth.

Además, a fines de la década de 1940, Herman Goldstine y John Van Neumann usaron diagramas de flujo para desarrollar programas informáticos. Pronto la creación de diagramas se volvió cada vez más popular para los programas informáticos y algoritmos de todo tipo. Los diagramas de flujo se continúan usando para la programación hoy en día. Sin embargo, el pseudocódigo, una combinación de palabras y lenguaje de codificación pensado para lectura humana, a menudo se usa para representar niveles más específicos de detalle y para tener una versión más cercana al producto final.

En Japón, Kaoru Ishikawa (1915-1989), una personalidad clave en las iniciativas de calidad en manufactura, afirmó que los diagramas de flujo eran una de las herramientas fundamentales en el área de control de calidad, junto a otras complementarias, como:

SÍMBOLOS COMUNES DE LOS DIAGRAMAS DE FLUJO

Estas figuras y símbolos para diagramas de flujo son algunos de los más comunes que encontrarás en la mayoría de los diagramas de flujo.





DIAGRAMAS DE FLUJO PARA ALGORITMOS/PROGRAMACIÓN BÁSICA

  Como una representación visual del flujo de datos, los diagramas de flujo son útiles para escribir un programa o algoritmo y explicárselo a otros o colaborar con otros en el mismo. Puedes usar un diagrama de flujo para explicar detalladamente la lógica detrás de un programa antes de empezar a codificar el proceso automatizado. Puede ayudar a organizar una perspectiva general y ofrecer una guía cuando llega el momento de codificar. Más específicamente, los diagramas de flujo pueden:

·         Demostrar cómo el código está organizado.
·         Visualizar la ejecución de un código dentro de un programa.
·         Mostrar la estructura de un sitio web o aplicación.
·         Comprender cómo los usuarios navegan por un sitio web o programa.


A menudo, los programadores pueden escribir un pseudocódigo, una combinación de lenguaje natural y lenguaje informático que puede ser leído por personas. Esto puede permitir más detalle que el diagrama de flujo y servir como reemplazo del diagrama de flujo o como el próximo paso del código mismo.
Los diagramas relacionados que se emplean en el software informático incluyen:

  1.           Lenguaje unificado de modelado (UML): este es el lenguaje de propósito general usado en la ingeniería de software para el modelado.
  2.       Diagramas Nassi-Shneiderman (NSD): usados para la programación informática estructurada. Llevan el nombre de sus creadores: Isaac Nassi y Ben Shneiderman, quienes los desarrollaron en 1972 en la Universidad Estatal de Nueva York en Stony Brook. También se denominan "estructogramas".
  3.       Diagramas DRAKON: DRAKON es un lenguaje de programación visual de algoritmos empleado para crear diagramas de flujo

¿CÓMO SE USAN LOS DIAGRAMAS DE FLUJO EN MUCHOS OTROS CAMPOS?

Más allá de la programación informática, los diagramas de flujo pueden tener muchos usos en diversos campos.

En cualquier campo pueden:

·         Documentar y analizar un proceso.

·         Estandarizar un proceso para obtener eficiencia y calidad.

·         Comunicar un proceso para capacitar a otros sectores de la organización o lograr el entendimiento de su parte.

·         Identificar cuellos de botellas, redundancias y pasos innecesarios en un proceso y mejorarlo.

Educación:

·         Planificar los requisitos académicos y las tareas del curso.

·         Crear una presentación oral o un plan de clase.

·         Organizar un proyecto grupal o individual.

·         Mostrar un proceso civil o legal, como el registro de votantes.

·         Planificar y estructurar la escritura creativa, como poesía o poesía lírica.

·         Demostrar el desarrollo de un personaje en la literatura y el cine.

·         Representar el flujo de algoritmos o acertijos lógicos.

·         Comprender un proceso científico, como el ciclo de Krebs.

·         Dibujar un proceso anatómico, como la digestión.

·         Trazar síntomas y tratamientos para enfermedades o trastornos.

·         Comunicar hipótesis y teorías, como la pirámide de Maslow o jerarquía de las necesidades humanas.

Ventas y marketing:

·         Trazar el flujo de una encuesta.

·         Dibujar un proceso de ventas.

·         Planificar estrategias de investigación.

·         Mostrar flujos de registro.

·         Difundir políticas de comunicación, como un plan de R.R. P.P. de emergencia.

TIPOS DE DIAGRAMAS DE FLUJO

Distintos autores describen numerosos tipos de diagramas de flujo en diferentes términos. Estas personas incluyen a expertos publicados, como Alan B. Sterneckert, Andrew Veronis, Marilyn Bohl y Mark A. Fryman.

Sterneckert, en su libro escrito en 2003 Critical Incident Management, mencionó cuatro tipos de diagramas de flujo populares, enmarcados en el concepto de controles de flujos en vez del flujo en sí mismo:

·         Diagramas de flujo de documentos: Estos "tienen el propósito de mostrar los controles existentes en el flujo de documentos a través de los componentes de un sistema. (…) El diagrama se lee de izquierda a derecha y detalla el flujo de documentos a través de numerosas unidades de negocio".

·         Diagramas de flujo de datos: Estos indican "los controles que rigen los flujos de datos en un sistema. (…) Los diagramas de flujo de datos se usan principalmente para mostrar los canales donde se transmiten los datos a través del sistema en lugar de como se controla el flujo".

·         Diagramas de flujo de sistemas: Estos "indican el flujo de datos que pasa hacia los componentes principales de un sistema, o a través de ellos, tales como entrada de datos, programas, medios de almacenamiento, procesadores y redes de comunicación".

·         Diagramas de flujo de programas: Estos muestran "los controles ubicados internamente en un programa dentro de un sistema".

Veronis, en su libro escrito en 1978, Microprocessors: Design and Applications, describió tres tipos de diagramas de flujo en función del alcance y nivel de detalle:

·         Diagrama de flujo de sistema: identifica los dispositivos que se emplearán.

·         Diagrama de flujo general: vista general.

·         Diagrama de flujo detallado: más detalles.

Bohl, en su libro escrito en 1978 llamado A Guide for Programmers, enumera solo dos:

·         Diagrama de flujo de sistemas.

·         Diagrama de flujo de programas.

But Fryman, en su libro escrito en 2001 titulado Quality and Process Improvement, distinguió los tipos de muchas maneras, más desde una perspectiva orientada a los negocios que a la informática:

·         Diagrama de flujo de decisiones.

·         Diagrama de flujo lógico.

·         Diagrama de flujo de sistemas.

·         Diagrama de flujo de productos.

·         Diagrama de flujo de procesos.

Otros tipos de diagramas de flujo definidos por otros incluyen:

·         Diagrama de carriles, también conocido como "diagrama de flujo de carriles": detalla los roles de cada participante en procesos que se realizan entre equipos.

·         Diagrama de flujo de trabajo: documenta flujos de trabajo, a menudo involucra tareas, documentos e información en las oficinas.

·         Diagrama de cadena de procesos impulsada por eventos (EPC): documenta o planifica un proceso de negocio.

·         Diagrama de flujo de lenguaje de descripción y especificación (SDL): realiza un lluvia de ideas sobre los algoritmos informáticos mediante tres componentes básicos: proceso, bloqueo y definición de sistema.

Estos diagramas relacionados también se piensan, a veces, como tipos de diagramas de flujo:

·         Diagrama de flujo de datos (DFD): traza el flujo de información de cualquier sistema o proceso.

·         Diagrama de flujo de procesos (PFD), también conocido como "gráfico de flujo de procesos": ilustra las relaciones entre los principales componentes de una planta industrial.

·         Modelo y notación de procesos de negocio (BPMN 2.0): modela los pasos de un proceso de negocio planificado.

¿CÓMO PLANIFICAR Y DIBUJAR UN DIAGRAMA DE FLUJO BÁSICO? 
1.   Define tu propósito y alcance. ¿Qué deseas lograr? ¿Estás considerando las cosas correctas con un punto inicial y final apropiados para alcanzar ese propósito? Realiza una investigación lo suficientemente detallada, pero lo suficientemente simple a la hora de crear tus diagramas para comunicarte con tu audiencia.

2.   Identifica las tareas en orden cronológico. Esto puede involucrar las conversaciones con los participantes, la observación de un proceso o la revisión de cualquier documentación existente. Puedes escribir los pasos en forma de notas o comenzar con un diagrama en versión borrador.

3.   Organízalos por tipo y figura correspondiente, como procesos, decisiones, datos, entradas o salidas.

4.   Crea tu diagrama, ya sea dibujándolo a mano o usando un programa como Lucid chart.

5.   Confirma tu diagrama de flujo, verificando todos los pasos con las personas que participan en el proceso. Observa el proceso para asegurarte de no dejar de lado nada que sea importante para tu propósito.





CAPITULO 3: PSEUDOCÓDIGOS 



Una de las mejores formas de aprender a programar es empezar por los diagramas de flujo y el pseudocódigo.

El pseudocódigo es una forma de expresar los distintos pasos que va a realizar un programa, de la forma más parecida a un lenguaje de programación. Su principal función es la de representar por pasos la solución a un problema o algoritmo, de la forma más detallada posible, utilizando un lenguaje cercano al de programación.

CARACTERÍSTICAS DE PSEUDOCÓDIGOS

Su principal característica es la de representar un método que facilita la programación y solución del algoritmo del programa. También se caracteriza por ser una forma de representación, fácil de utilizar y de manipular, que simplifica el paso del programa, al lenguaje de programación.

Otra característica que tiene el pseudocódigo es su independencia al código en el que se va a escribir el programa, proporcionando un método que facilita la posterior programación y la resolución del algoritmo del programa.

VENTAJAS Y DSVENTAJAS DEL PSEUDOCÓDIGO

Las tareas más complejas o repetitivas pueden representarse de forma más sencilla ya que está escrito en un lenguaje sencillo y no estructurado que permite una transición sencilla al lenguaje de programación, más complejo y estructurado. Tener un programa escrito en pseudocódigo facilita la tarea de programar en un lenguaje formal y mejora la calidad en la resolución de problemas, además de reducir el espacio necesario a la hora de desarrollar un problema. El pseudocódigo llega donde el diagrama de flujo no lo hace. La solución de un diagrama de flujo suele ser la ideal, pero no suele ser fácil de implementar al crear el programa. 

Una de las desventajas del uso de pseudocódigo es la falta de normas, que puede hacer que la lógica de un programa, resulte complicada de ver por el programador que va a implementar este pseudocódigo.

COMPONENETES Y SINTAXIS DE PSEUDOCÓDIGOS

Para escribir programas utilizando pseudocódigo es necesario seguir unas pautas o normas de sintaxis para que puedan ser leídos y comprendidos por los programadores a la hora de pasarlos a un lenguaje de programación. Es muy útil utilizar herramientas que faciliten esta escritura de pseudocódigo, como es el caso de PSeInt, que asiste con un simple e intuitivo pseudolenguaje en español y que además incluye un editor de diagramas de flujo.

ESTRUCTURA DE ALGORITMO EN PSEUDOCÓDIGO

Todo algoritmo en pseudocódigo tiene la siguiente estructura general:

Proceso SinTitulo

    acción 1;

    acción 2;

    ...

    acción n;

FinProceso



  • Comienza con la palabra clave Proceso (o alternativamente Algoritmo, son sinónimos) seguida del nombre del programa.
  • Le sigue una secuencia (Estructura de control secuencial) de instrucciones. Una secuencia de instrucciones es una lista de una o más instrucciones y/o estructuras de control.
·                  ·         Finaliza con la palabra FinProceso (o FinAlgoritmo)

  • La identación no es significativo, pero se recomienda para que el código sea más legible.
  • O se diferencia entre mayúsculas y minúsculas. Preferible las minúsculas, aunque a veces se añaden automáticamente los nombres con la primera letra en mayúsculas.

·                     

   

 

"La persona exitosa convierte en un hábito lo que a la persona que fracasa no le gusta hacer"
-Thomas Edison









Comentarios

Entradas más populares de este blog

Contador del 0 al 12 con 4 bits-Sistemas Digitales 2