logicayalgoritmos.files.wordpress.com€¦  · web viewcontenido módulo 2. estructuras básicas...

20
Contenido Módulo 2. Estructuras básicas de programación. Lección 1. Algoritmos, Diagramas de Flujo, Seudocódigo. Aunque en la actualidad los avances en temas de computación están a la vanguardia, es difícil encontrar medios e información que entreguen la fundamentación básica para iniciarse en el campo de la informática y la programación para la generación de pensamiento crítico, en el desarrollo de soluciones basadas en un algoritmo. De acuerdo a Cairó (2008), es muy importante facilitarle al alumno el aprendizaje de las estructuras de datos y algoritmos sin asociarlas a un lenguaje de programación en particular y permitir que se concentre en la conceptualización y el modelamiento de datos que permitan el dominio de los conceptos básicos que luego sean replicados en un lenguaje formal al escribir un programa. ¿Qué es un algoritmo? Es un conjunto de pasos, procedimientos o acciones que permiten realizar o alcanzar un resultado a una situación problemática presentada. Para lograr la solución de una situación problemática se deben tener en cuenta los pasos descritos en la siguiente gráfica:

Upload: others

Post on 18-Jan-2021

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: logicayalgoritmos.files.wordpress.com€¦  · Web viewContenido Módulo 2. Estructuras básicas de programación.. Lección 1. Algoritmos, Diagramas de Flujo, Seudoc. ó. digo

Contenido Módulo 2. Estructuras básicas de programación.

Lección 1. Algoritmos, Diagramas de Flujo, Seudocódigo.

Aunque en la actualidad los avances en temas de computación están a la vanguardia, es difícil encontrar medios e información que entreguen la fundamentación básica para iniciarse en el campo de la informática y la programación para la generación de pensamiento crítico, en el desarrollo de soluciones basadas en un algoritmo.

De acuerdo a Cairó (2008), es muy importante facilitarle al alumno el aprendizaje de las estructuras de datos y algoritmos sin asociarlas a un lenguaje de programación en particular y permitir que se concentre en la conceptualización y el modelamiento de datos que permitan el dominio de los conceptos básicos que luego sean replicados en un lenguaje formal al escribir un programa.

¿Qué es un algoritmo?

Es un conjunto de pasos, procedimientos o acciones que permiten realizar o alcanzar un resultado a una situación problemática presentada.

Para lograr la solución de una situación problemática se deben tener en cuenta los pasos descritos en la siguiente gráfica:

Hay tres características que se deben tener en cuenta en el desarrollo de un algoritmo:

Precisión: el procedimiento a seguir debe ser claro y con pasos definidos.

Problema

Análisis Construcción Verificación

Page 2: logicayalgoritmos.files.wordpress.com€¦  · Web viewContenido Módulo 2. Estructuras básicas de programación.. Lección 1. Algoritmos, Diagramas de Flujo, Seudoc. ó. digo

Determinismo: Al ingresar datos semejantes debe obtenerse resultados similares.

Finitud: Todo algoritmo debe tener un comienzo y un final independientemente de la complejidad del mismo.

Realizando una analogía de la forma como se soluciona un problema y la forma de desarrollar un algoritmo se puede representar gráficamente de la siguiente manera:

En el esquema la primera fase; datos de entrada se puede asociar al análisis profundo que se realiza de la situación, ya que es el momento en que se conoce la información con la cual se inicia el proceso de solución de la situación problemática.

La segunda fase; el procesamiento de datos está asociado a la construcción del algoritmo porque se realizan las actividades o procesos necesarios para llegar a la solución.

Para finalizar, la impresión de resultados se asocia a la verificación del algoritmo porque es la fase donde se comprueban los resultados y se establece si los resultados concuerdan con los esperados.

¿Qué es un diagrama de flujo?

Es la representación gráfica del algoritmo, es decir es la representación mediante símbolos de cada uno de los pasos a realizar para solucionar la situación problemática.

Su importancia radica en que si su construcción es correcta, se puede realizar el respectivo programa en cualquier lenguaje de programación de forma simple y directa.

Datos de entrada

Procesamiento de datos

Impresión de Resultados

Page 3: logicayalgoritmos.files.wordpress.com€¦  · Web viewContenido Módulo 2. Estructuras básicas de programación.. Lección 1. Algoritmos, Diagramas de Flujo, Seudoc. ó. digo

Los símbolos a utilizar deben atender las recomendaciones de la International Organization for Standardization (ISO) y de la American National Standards Institute (ANSI) para la elaboración de los diagramas de flujo.

La figura muestra los símbolos más comunes utilizados en la elaboración de diagramas de flujo de acuerdo a Cairó (2008).

Teniendo en cuenta lo anterior, la utilización de los símbolos para crear un diagrama de flujo básico sería de la siguiente forma:

Page 4: logicayalgoritmos.files.wordpress.com€¦  · Web viewContenido Módulo 2. Estructuras básicas de programación.. Lección 1. Algoritmos, Diagramas de Flujo, Seudoc. ó. digo

Reglas para la creación de diagramas de flujo

La correcta aplicación de los pasos o procedimientos mediante los símbolos presentados, permitirá crear una estructura gráfica que se pueda utilizar para la solución de una situación problemática; con lo cual se facilitará la escritura en un lenguaje de programación.

De acuerdo a Cairó (2008) se deben tener en cuenta un conjunto de reglas, para la construcción de diagramas de flujo:

1. Inicio y fin, tomando como base el concepto de finitud en la construcción de un algoritmo.

2. Rectas, horizontales y verticales, no se deben cruzar y no deben ser inclinadas.

Page 5: logicayalgoritmos.files.wordpress.com€¦  · Web viewContenido Módulo 2. Estructuras básicas de programación.. Lección 1. Algoritmos, Diagramas de Flujo, Seudoc. ó. digo

3. Las líneas utilizadas para indicar el de flujo de datos, deben estar conectadas y llegar a un símbolo.

4. La construcción del diagrama debe realizarse de arriba hacia abajo y de izquierda a derecha.

5. Notación independiente del lenguaje de programación. 6. Comentarios para entendimiento de lo realizado en tareas complejas.7. Conectores adecuados y numeración de páginas en el evento de ser

necesario.8. Solo una línea de flujo de datos debe llegar a un símbolo.

Page 6: logicayalgoritmos.files.wordpress.com€¦  · Web viewContenido Módulo 2. Estructuras básicas de programación.. Lección 1. Algoritmos, Diagramas de Flujo, Seudoc. ó. digo

Conceptos Fundamentales

Tipos de datos

*Simples: Ocupa solo una casilla de memoria y referencia un único valor a la vez

*Estructurados: Son aquellos que ocupan más de un espacio de memoria y regularmente están compuestos por datos simples

Tipos de datos

NuméricosEnteros Simple

Reales Estructurado

AlfanuméricosCaracter Simple

Cadena Estructurado

Lógicos Simple

Page 7: logicayalgoritmos.files.wordpress.com€¦  · Web viewContenido Módulo 2. Estructuras básicas de programación.. Lección 1. Algoritmos, Diagramas de Flujo, Seudoc. ó. digo

Datos Numéricos:

*Enteros: Son aquellos que no tienen parte decimal, como ejemplo: 128, -754, 3, -20, 16235, -256897.

*Reales: Son aquellos que poseen parte decimal, ejemplo: 7.5, -1200.12, 16825.235, -12356.33.

Datos Alfanuméricos:

*Caracter: Son datos que pueden contener dígitos, letras del abecedario, o símbolos especiales; ejemplo: `s`, `3`, `_`, `f`.

*Reales: Son aquellos formados por un conjunto de caracteres y se escriben entre comllas; ejemplo: “sheg467”, “Ernesto Solano”, “nicotina*/.98j”.

Datos Alfanuméricos:

Conocidos como booleanos, son aquellos que solo pueden tomar valores de true o false.

Otros Conceptos:

Identificador: Nombre que permite identificar una constante o una variable que se almacenan en una posición de memoria.

Variable: Objetos que cambian su valor en la ejecución de un programa.

Constante: Datos que no cambian en la ejecución de un programa.

Operaciones:

Para realizar estas operaciones es necesario utilizar los operadores aritméticos o lógicos que interactúen con números, constantes o variables, según sea el caso.

Page 8: logicayalgoritmos.files.wordpress.com€¦  · Web viewContenido Módulo 2. Estructuras básicas de programación.. Lección 1. Algoritmos, Diagramas de Flujo, Seudoc. ó. digo

El siguiente ejemplo muestra varios casos y la forma de resolver los mismos:

((1580 MOD 6 * 2 ** 7) > (7 + 8 * 3 ** 4)) > ((15 * 2) = (60 * 2 / 4))

((1580 MOD 6 *128) > (7 + 8 * 3 ** 4)) > ((15 * 2) = (60 * 2 / 4))

((2 * 128) > (7 + 8 * 3 ** 4)) > ((15 * 2) = (60 * 2 / 4))

(256 > (7 + 8 * 3 ** 4)) > ((15 * 2) = (60 * 2 / 4))

(256 > (7 + 8 * 81)) > ((15 * 2) = (60 * 2 / 4))

(256 > (7 + 648)) > ((15 * 2) = (60 * 2 / 4))

(256 > 655) > ((15 * 2) = (60 * 2 / 4))

FALSO > ((15 * 2) = (60 * 2 / 4))

FALSO > (30 = (60 * 2 / 4))

FALSO > (30 = (120 / 4))

FALSO > (30 = 30)

FALSO > VERDADERO

FALSO

Nota: Verdadero siempre es mayor que Falso

Seudocódigo (Programas)

Es un conjunto de instrucciones, o pasos que se siguen en un lenguaje no formal, para alcanzar un resultado específico, a partir de un diagrama de flujo diseñado con anterioridad.

Page 9: logicayalgoritmos.files.wordpress.com€¦  · Web viewContenido Módulo 2. Estructuras básicas de programación.. Lección 1. Algoritmos, Diagramas de Flujo, Seudoc. ó. digo

Lección 2. Estructuras Básicas de Diagramación.

Construcción de diagramas de flujo:

Desarrollo de diagramas de flujo partiendo de situaciones planteadas, para empezar a desarrollar habilidad y capacidad de razonamiento.

Estructuras Básicas

Se llama estructuras básicas al conjunto de símbolos utilizados para realizar diagramas de flujo que respondan a planteamientos sencillos que no involucren decisiones o repeticiones.

Entre ellas tenemos:

Los símbolos de inicio y fin, con los cuales se inicia y se cierra el diagrama de flujo

El símbolo de lectura de datos que va a permitir la entrada de los mismos para el uso en los procesos del programa

El de procesamiento o asignación es un símbolo utilizado con frecuencia porque con él se realiza el tratamiento de datos y las operaciones básicas entre otros.

Para terminar el símbolo de impresión de resultados que es el que permite mostrar por pantalla el resultado de la ejecución del diagrama de flujo.

Ejemplo 1:

Page 10: logicayalgoritmos.files.wordpress.com€¦  · Web viewContenido Módulo 2. Estructuras básicas de programación.. Lección 1. Algoritmos, Diagramas de Flujo, Seudoc. ó. digo

Tenemos el código y 5 calificaciones de un alumno, obtenidas a lo largo del semestre, genere un diagrama de flujo que imprima el código del alumno y la nota definitiva

Entrada: Código (MAT), entero y 5 Calificaciones CAL1, CAL2, CAL3, CAL4, CAL5

Salida: Nota Final (Pro)

Ejemplo 2:

Diseñe un diagrama de flujo de datos para calcular e imprimir el cuadrado y el cubo de un número entero NUM

Entrada: Número (NUM), entero

Salida: Cubo de número (CUB) y el cuadrado (CUA)

CALIFICACIÓN

{Programa que calcula la nota final de una asignatura}

{MAT variable de tipo realCAL1, CAL2, CAL3, CAL4, CAL5 variable de tipo real}

1. Leer MAT, CAL1, CAL2, CAL3, CAL4, CAL5

2. Hacer PRO (CAL1+CAL2+CAL3+CAL4+CAL5)/5

3. Imprimir MAT, PRO

Page 11: logicayalgoritmos.files.wordpress.com€¦  · Web viewContenido Módulo 2. Estructuras básicas de programación.. Lección 1. Algoritmos, Diagramas de Flujo, Seudoc. ó. digo

Ejemplo 3:

Elabore un diagrama de flujo para un rectángulo donde su base y altura están dados. Calcular además el perímetro y la superficie de la figura geométrica.

Entrada: Base (BASE), Altura (ALTU) de tipo real

Salida: Superficie (SUP) y el Perímetro (PER) de tipo real

Ejemplo 4:

Diseñe un diagrama de flujo que resuelva el siguiente problema: en una estación de gasolina la medida de tanqueo está dada en galones pero el cobro

CUBO_CUADRADO

{Programa que calcula el cubo y el cuadrado de un número}

{NUM, CUA, CUB variable de tipo entero}

1. Leer NUM

2. Hacer CUA NUM*NUMCUB NUM**3

3. Imprimir CUA, CUB

RECTÁNGULO

{Programa que calcula la superficie y el perímetro de un rectángulo}

{BASE, ALTU, SUP, PER variables de tipo real}

1. Leer BASE, ALTU

2. Hacer SUP BASE*ALTUPER 2*(BASE+ALTU)

3. Imprimir SUP, PER

Page 12: logicayalgoritmos.files.wordpress.com€¦  · Web viewContenido Módulo 2. Estructuras básicas de programación.. Lección 1. Algoritmos, Diagramas de Flujo, Seudoc. ó. digo

lo realizan en litros. Se debe calcular el valor que hay que cobrarle al cliente con los datos señalados.

Entrada: Galones (GAL), de tipo real

Salida: Cobro (TOTAL) de tipo real

Tener en cuenta que 1 galón es igual a 3.785 litros, el costo de un litro es de $8.20

Lección 3. Estructuras Condicionales.

Las Estructuras Condicionales son aquellas que se encuentran en el desarrollo de soluciones de problemas en los cuales se debe tomar una decisión para poder continuar y realizar procesos que intervienen en la solución.

El símbolo utilizado para representar la decisión es un rombo en el cual se colocará la condición a evaluar; teniendo en cuenta que en algunas ocasiones se deben tomar decisiones en cascada es decir que se presenta más de una condición para evaluar y puede generar una especie de árbol de decisión para llegar a la solución.

Las estructuras condicionales se pueden clasificar de la siguiente forma:

1. SI ENTONCES (Condicional Simple)2. SI ENTONCES SI/NO (Condicional Doble)3. SI MULTIPLE (Condicional Múltiple)

Estructura Simple:

GASOLINA

{Programa que calcula el costo de cargar gasolina en la estación}

{GAL, TOTAL variables de tipo real}

1. Leer GAL

2. Hacer TOTAL GAL*3.785*8.20

3. Imprimir TOTAL

Page 13: logicayalgoritmos.files.wordpress.com€¦  · Web viewContenido Módulo 2. Estructuras básicas de programación.. Lección 1. Algoritmos, Diagramas de Flujo, Seudoc. ó. digo

Permite que el flujo del diagrama siga por un camino específico si se cumple una condición o un conjunto de condiciones. Si la respuesta de la evaluación de la condición es verdadera, se ejecuta el proceso o los procesos señalados, en caso contrario no se realiza nada.

Si condición entoncesHacer operación

{Fin del condicional}

Ejemplo 1:

Hacer el diagrama de flujo para el siguiente caso: Se conoce el sueldo de un trabajador, y se aplicará un aumento del 15% solo si su sueldo es inferior a $1000. Imprima en este caso el nuevo sueldo del trabajador.

Entrada: Sueldo (SUE), de tipo real

Salida: Aumento (AUM), Nuevo Sueldo (NSUE) de tipo real

Page 14: logicayalgoritmos.files.wordpress.com€¦  · Web viewContenido Módulo 2. Estructuras básicas de programación.. Lección 1. Algoritmos, Diagramas de Flujo, Seudoc. ó. digo

Estructura Doble:

Esta estructura permite que el flujo se dirija por dos lados diferentes luego de evaluar la condición; si es verdadero se ejecutan las operaciones destinadas para tal fin, de lo contrario se ejecutan otras, luego los dos caminos convergen en un solo punto.

Si condición Entonces Hacer operación 1 Sino Hacer operación 2{Fin del condicional}

SUELDO

{Programa que calcula el aumento de sueldo de un trabajador}

{SUE, AUM, NSUE variables de tipo real}

1. Leer SUE

2. SI SUE < 1000 ENTONCES AUM SUE*0.15 NSUE SUE + AUM

3. Imprimir NSUE

Page 15: logicayalgoritmos.files.wordpress.com€¦  · Web viewContenido Módulo 2. Estructuras básicas de programación.. Lección 1. Algoritmos, Diagramas de Flujo, Seudoc. ó. digo

Ejemplo 2:

Hacer el diagrama de flujo para la siguiente situación: Dada una calificación de una asignatura, determine si se aprobó. En caso tal, debe enviar un mensaje que diga “Aprobado”, de lo contrario debe enviar un mensaje de “Reprobado”. 8 es la nota mínima para aprobación de la asignatura.

Entrada: Sueldo (SUE), de tipo real

Salida: Aumento (AUM), Nuevo Sueldo (NSUE) de tipo real

Estructura Múltiple:

Es la estructura que permite que el flujo de datos pueda tomar diferentes caminos, en función del valor del selector, de esta forma se realizan las acciones u operaciones dependiendo del camino tomado.

NOTA_FINAL

{Programa que verifica si un estudiante aprobó o no una asignatura}

{CAL variable de tipo real}

1. Leer CAL

2. Si CAL >= 8 entonces Imprimir “Aprobado”Sino Imprimir “Reprobado”{Fin Si}

Page 16: logicayalgoritmos.files.wordpress.com€¦  · Web viewContenido Módulo 2. Estructuras básicas de programación.. Lección 1. Algoritmos, Diagramas de Flujo, Seudoc. ó. digo

Si selector igual Valor 1: Hacer acción 1 Valor 2: Hacer acción 2 . . Valor N: Hacer acción N{Fin del condicional}Hacer Acción N +1

Ejemplo 3:

Realice un diagrama de flujo en el cual se imprima la categoría del trabajador y su nuevo sueldo, teniendo en cuenta el porcentaje de aumento y la categoría, de acuerdo a los datos expresados a continuación:

CATEGORIA AUMENTO

1 15%2 10%3 8%4 7%

Entrada: Sueldo (SUE), de tipo real, Categoría (CATE) de tipo entero

Salida: Aumento (AUM), Nuevo Sueldo (NSUE) de tipo real

Page 17: logicayalgoritmos.files.wordpress.com€¦  · Web viewContenido Módulo 2. Estructuras básicas de programación.. Lección 1. Algoritmos, Diagramas de Flujo, Seudoc. ó. digo

AUMENTO

{Programa que realiza el aumento de sueldo de acuerdo a la categoría}

{CATE variable de tipo enteroSUE, NSUE variables de tipo real}

1. Leer CATE, SUE

2. Si CATE igual

1: Hacer NSUE SUE*1.15 2: Hacer NSUE SUE*1.12 3: Hacer NSUE SUE*1.08 4: Hacer NSUE SUE*1.07

{Fin condicional}

3. Escribir CATE, NSUE

Page 18: logicayalgoritmos.files.wordpress.com€¦  · Web viewContenido Módulo 2. Estructuras básicas de programación.. Lección 1. Algoritmos, Diagramas de Flujo, Seudoc. ó. digo

Bibliografía

Osvaldo, C. (2003). Metodología de la Programación. México. ALFAOMEGA GRUPO EDITOR SA de CV.