Tema V. Fundamentos de algoritmos - UNAM

50
Tema V. Fundamentos de algoritmos Objetivo: El alumno explicará la importancia de llevar un método formal para resolver problemas en la computadora; asimismo aplicará dicho método en la resolución de problemas matemáticos sencillos.

Transcript of Tema V. Fundamentos de algoritmos - UNAM

Page 1: Tema V. Fundamentos de algoritmos - UNAM

Tema V. Fundamentos de algoritmos

Objetivo: El alumno explicará la importancia de llevar un

método formal para resolver problemas en la computadora;

asimismo aplicará dicho método en la resolución de problemas

matemáticos sencillos.

Page 2: Tema V. Fundamentos de algoritmos - UNAM

5.1 La computabilidad y concepto de máquina de Turing

Ing. Tanya Arteaga Ricci

Partes de un programa

Todo programa esta constituido por un conjunto de órdenes o instrucciones capaces de manipular un conjunto de datos. Éstas órdenes o instrucciones pueden ser divididas en tres grandes bloques claramente diferenciados, correspondientes cada uno de ellos a una parte del diseño de un programa.

Terrestre Marino Aéreo

Page 3: Tema V. Fundamentos de algoritmos - UNAM

5.1 La computabilidad y concepto de máquina de Turing

Ing. Tanya Arteaga Ricci

Page 4: Tema V. Fundamentos de algoritmos - UNAM

5.1 La computabilidad y concepto de máquina de Turing

Ing. Tanya Arteaga Ricci

Teoría de la computabilidad Es la parte de la computación que estudia los problemas de decisión que pueden ser resueltos con un algoritmo o equivalentemente con una máquina de Turing.

Máquina ENIGMA Segunda Guerra Mundial

http://www.bletchleypark.org.uk/

Page 5: Tema V. Fundamentos de algoritmos - UNAM

5.1 La computabilidad y concepto de máquina de Turing

Ing. Tanya Arteaga Ricci

Máquina de Turing

La Máquina de Turing se introdujo en 1936 por Alan M. Turing para resolver problemas computables. Es la base de las computadoras modernas.

Alan Mathison Turing (1912– 1954)

Page 6: Tema V. Fundamentos de algoritmos - UNAM

5.1 La computabilidad y concepto de máquina de Turing

Ing. Tanya Arteaga Ricci

Máquina de Turing

Una máquina de Turing esta formada por tres componentes: Una Cinta, Un Controlador y Una Cabeza de lectura/escritura.

Page 7: Tema V. Fundamentos de algoritmos - UNAM

5.1 La computabilidad y concepto de máquina de Turing

Ing. Tanya Arteaga Ricci

Cinta

Aun cuando las computadoras modernas utilizan un dispositivo de acceso aleatorio con capacidad finita, la memoria de la máquina de Turing es infinita. La cinta, en cualquier momento mantiene una secuencia de caracteres del conjunto de caracteres aceptado por la máquina.

Cinta o Banda de Moebius August Ferdinand Möbius y Johann Benedict

Listing en 1858

Page 8: Tema V. Fundamentos de algoritmos - UNAM

5.1 La computabilidad y concepto de máquina de Turing

Ing. Tanya Arteaga Ricci

Cabeza de Lectura / Escritura

La cabeza de lectura/escritura en cualquier momento señala a un símbolo en la cinta. Llamamos a este símbolo el símbolo actual. La cabeza de lectura/escritura lee y escribe un símbolo a la vez desde la cinta. Después de leer y escribir se mueve a la izquierda, a la derecha o permanece en su lugar. La lectura, la escritura y el desplazamiento, todos se realizan bajo instrucciones del controlador.

Page 9: Tema V. Fundamentos de algoritmos - UNAM

5.1 La computabilidad y concepto de máquina de Turing

Ing. Tanya Arteaga Ricci

Controlador

El controlador es la contraparte teórica de la unidad central de proceso (CPU) en las computadoras modernas. Es un autómata de estado finito, una máquina que tiene un número finito predeterminado de estados y se mueve de un estado a otro con base en la entrada. En cualquier momento puede estar en uno de estos estados.

Page 10: Tema V. Fundamentos de algoritmos - UNAM

5.1 La computabilidad y concepto de máquina de Turing

Ing. Tanya Arteaga Ricci

Máquina de Turing

Page 11: Tema V. Fundamentos de algoritmos - UNAM

5.2 Elementos de los algoritmos y tipos de datos

Ing. Tanya Arteaga Ricci

Fundamentos de Algoritmos

Uno de los algoritmos más antiguos conocidos es el algoritmo de Euclides. El término algoritmo proviene del matemático Muhammad ibn Musa al-Khwarizmi, que vivió aproximadamente entre los años 780 y 850 d.C. en la actual nación iraní. Describió la realización de operaciones elementales en el sistema de numeración decimal. De al-Khwarizmi se obtuvo la derivación algoritmo.

Mohammed Ibn Musa Al-Khwarizmi (780 – 850)

Page 12: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

Fundamentos de Algoritmos

Un algoritmo se puede definir como un conjunto pasos, procedimientos o acciones que nos permiten alcanzar un resultado o resolver un problema de un cierto tipo. Por tanto debe ser:

•Precisión

•Determinismo

•Finitud

5.2 Elementos de los algoritmos y tipos de datos

Page 13: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

Características de los algoritmos

Precisión: Los pasos a seguir en el algoritmo deben ser precisados

claramente. Determinismo: El algoritmo, dado un conjunto de datos idénticos de entrada,

siempre debe arrojar los mismos resultados. Finitud: El algoritmo, independientemente de la complejidad del

mismo, siempre debe ser de longitud finita.

5.2 Elementos de los algoritmos y tipos de datos

Page 14: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

Características de los algoritmos

Conciso y Detallado: Debe reflejar con el máximo detalle el orden de ejecución de

cada acción u operación que vaya a realizar la computadora. Claro y Sencillo: Con el objetivo de facilitar su entendimiento y compresión

por parte del programador.

5.2 Elementos de los algoritmos y tipos de datos

Page 15: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

Módulos de un algoritmo

Algoritmo

Datos de Entrada

Procesamiento de los datos

Impresión de resultados

5.2 Elementos de los algoritmos y tipos de datos

Page 16: Tema V. Fundamentos de algoritmos - UNAM

5.3 Representación de los algoritmos

(diagrama de flujo y pseudocódigo)

Ing. Tanya Arteaga Ricci

Diagrama de Flujo Para el diseño de algoritmos se utilizan técnicas de representación. Una de

estas técnicas son los denominados Diagramas de Flujo, que se definen como

la representación gráfica que, mediante el uso de símbolos estándar

conectados o unidos mediante líneas de flujo, muestran la secuencia lógica de

las operaciones o acciones que deben realizar las computadoras, así como la

corriente o flujo de datos en la resolución de un programa.

Guernica versión Los Simpson

Temporada 21: Homer the Whopper

Page 17: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

Su correcta construcción es sumamente importante porque a partir del mismo se puede escribir un programa en algún lenguaje de programación. Es importante mantener un estándar para la realización de dichos diagramas, esto con el fin de facilitar el intercambio de algoritmos mediante su esquematización gráfica. Es por eso que a continuación se muestran los símbolos a ocupar durante el curso.

Construcción de los Diagramas de Flujo

5.3 Representación de los algoritmos

(diagrama de flujo y pseudocódigo)

Page 18: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

Símbolos para los Diagramas de Flujo

5.3 Representación de los algoritmos

(diagrama de flujo y pseudocódigo)

Símbolo utilizado para marcar el inicio o fin del diagrama de flujo.

Símbolo utilizado para representar un proceso. En su interior se expresan asignaciones, operaciones aritméticas, cambios de valor de celdas en memoria, etc.

Símbolo utilizado para representar una decisión. En su interior se almacena una condición, y dependiendo del resultado de la evaluación de la misma se sigue por una de las ramas o caminos alternativos.

Símbolo utilizado para introducir los datos de entrada. Expresa lectura.

Símbolo utilizado para representar la impresión de un resultado. Expresa escritura.

Page 19: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

Símbolo utilizado para expresar una decisión múltiple. En su interior se almacena un selector, y dependiendo del valor de dicho selector se sigue por una de las ramas o caminos alternativos. Este símbolo se utiliza en la estructura selectiva múltiple.

Flujo de datos

Conector dentro de la misma

página

Conexión entre

páginas diferentes

5.3 Representación de los algoritmos

(diagrama de flujo y pseudocódigo)

Page 20: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

Cinta magnética Pantalla

Disco magnético Teclado

5.3 Representación de los algoritmos

(diagrama de flujo y pseudocódigo)

Page 21: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

Reglas para la construcción de Diagramas de Flujo

1. Todo diagrama de flujo debe tener un inicio y un fin

INICIO

FIN

2. Las líneas utilizadas para indicar la dirección del flujo del diagrama deben ser rectas, verticales y horizontales.

5.3 Representación de los algoritmos

(diagrama de flujo y pseudocódigo)

Page 22: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

Reglas para la construcción de Diagramas de Flujo

3. Todas las líneas utilizadas para indicar la dirección del flujo del diagrama deben estar conectadas. La conexión puede ser a un símbolo que exprese lectura, proceso, decisión, impresión, conexión o fin de diagrama.

5.3 Representación de los algoritmos

(diagrama de flujo y pseudocódigo)

Page 23: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

Reglas para la construcción de Diagramas de Flujo

4. El diagrama de flujo debe ser construido de arriba hacia abajo y de izquierda a derecha.

5. La notación utilizada en el diagrama de flujo debe ser independiente del lenguaje de programación.

6. Es conveniente cuando realizamos una tarea compleja poner comentarios que expresen o ayuden a entender lo que hicimos.

7. Si el diagrama de flujo requiriera más de una hoja para su construcción, debemos utilizar los conectores adecuados y enumerar las páginas convenientemente.

8. No puede llegar más de una línea a un símbolo.

5.3 Representación de los algoritmos

(diagrama de flujo y pseudocódigo)

Page 24: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

Tipos de Instrucciones

Una instrucción puede ser considerada como un hecho o suceso de duración limitada que genera unos cambios previstos en la ejecución de un programa, por lo que debe ser una acción previamente estudiada y definida.

5.3 Representación de los algoritmos

(diagrama de flujo y pseudocódigo)

Page 25: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

Instrucciones de definición de datos

Son aquellas instrucciones utilizadas para informar al procesador del espacio que debe reservar en memoria, con la finalidad de almacenar un dato mediante el uso de variables simples o estructuras de datos más complejas como, por ejemplo, tablas. La definición consiste en indicar un nombre a través del cual haremos referencia al dato y un tipo a través del cual informaremos al procesador de las características y espacio que deberá reservar en memoria.

5.3 Representación de los algoritmos

(diagrama de flujo y pseudocódigo)

Page 26: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

Instrucciones primitivas

Se consideran como tal las instrucciones de asignación y las instrucciones de entrada/salida.

Instrucciones de entrada

Son aquellas instrucciones encargadas de recoger el dato de un dispositivo de entrada, y seguidamente almacenarlo en memoria en una variable previamente definida, para la cual se ha reservado suficiente espacio en memoria.

Leer Variable

Leer Var1, Var2, …, VarN

5.3 Representación de los algoritmos

(diagrama de flujo y pseudocódigo)

Page 27: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

Instrucciones de asignación

Son aquellas instrucciones cuyo cometido es almacenar un dato o valor simple obtenido como resultado al evaluar una expresión en una variable previamente definida y declarada.

Instrucciones de salida

Son aquellas instrucciones encargadas de recoger los datos procedentes de variables evaluadas y depositarlos en un dispositivo de salida.

Variable = Expresión

Escribir Resultado

5.3 Representación de los algoritmos

(diagrama de flujo y pseudocódigo)

Page 28: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

5.3 Representación de los algoritmos

(diagrama de flujo y pseudocódigo)

Tipos de datos: Los datos a procesar por una computadora pueden clasificarse en:

Simples

Estructurados

Page 29: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

Datos Simples La principal característica es que solo ocupan sólo una casilla de memoria, por lo tanto, una variable simple hace referencia a un único valor a la vez. Dentro de este grupo se encuentran: enteros, reales, caracteres, booleanos, enumerados y subrangos.

Datos Estructurados Se caracterizan por el hecho de que con un nombre (identificador de variable estructurada) se hace referencia a un grupo de casillas de memoria. Es decir un dato estructurado tiene varios componentes.

5.3 Representación de los algoritmos

(diagrama de flujo y pseudocódigo)

Page 30: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

5.3 Representación de los algoritmos

(diagrama de flujo y pseudocódigo)

Datos numéricos Dentro de los tipos de datos numéricos encontramos los enteros y los reales. Los enteros son números que pueden estar precedidos del signo + ó -, y que no tienen parte decimal.

Los reales son números que pueden ser precedidos del signo + ó -, y que tienen una parte decimal.

45 00101101

números enteros sin signo

27

-27

0011011 0

0011011 1

números enteros con signo

Page 31: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

5.3 Representación de los algoritmos

(diagrama de flujo y pseudocódigo)

Datos alfanuméricos Dentro de este tipo de datos encontramos los de tipo caracter (simple) y cadena de caracteres (estructurado). Son datos cuyo contenido pueden ser letras del abecedario (a,b,c,…z), dígitos (0,1,2,…9) o símbolos especiales (#, $, ^, *, %, …, etc). Debemos remarcar que aunque este tipo de datos puede contener números, no pueden ser utilizados para realizar operaciones aritméticas. Un dato tipo cadena de caracteres contiene un conjunto de caracteres, y se escribe entre comillas. La longitud de una cadena depende de los lenguajes de programación.

Page 32: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

5.3 Representación de los algoritmos

(diagrama de flujo y pseudocódigo)

Datos lógicos Dentro de este tipo de datos encontramos los booleanos. Son datos que sólo pueden tomar dos valores: verdadero (true) y falso (false).

Constantes Las constantes son datos que no cambian durante la ejecución de un programa. Para nombrar las constantes utilizamos identificadores. Existen tipos de constantes como tipos de datos, por lo tanto, puede haber constantes de tipo entero, real, carácter, cadena de caracteres, etc.

Variables Las variables son objetos que pueden cambiar su valor durante la ejecución de un programa. Al igual que las constantes, pueden existir tipos de variables como tipos de datos.

Page 33: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

5.3 Representación de los algoritmos

(diagrama de flujo y pseudocódigo)

Operaciones aritméticas Los operadores son símbolos que sirven para conectar los datos facilitando la realización de diversas clases de operaciones.

Page 34: Tema V. Fundamentos de algoritmos - UNAM

OPERADOR SÍMBOLO SIGNIFICADO

Paréntesis ( ) Paréntesis

Aritméticos

**, ^ * /

%, mod + -

Potencia Producto División Módulo

Signo positivo o suma Signo negativo o resta

Alfanuméricos + -

Concatenación Concatenación eliminando espacios

Relacionales

= =, = !=, < >

< <= >

>=

Igual a Distinto a

Menor que Menor o igual que

Mayor que Mayor o igual que

Lógicos !, NOT

&&, AND ||, OR

Negación Conjunción Disyunción

Page 35: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

Material

Para la próxima clase equipos de 5 personas:

Tijeras

Pegamento en barra

Colores

Una cartulina

5.3 Representación de los algoritmos

(diagrama de flujo y pseudocódigo)

Page 36: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

Ejercicios

Realizar los siguientes diagramas de flujo

Algoritmo que lee dos valores numéricos ‘X’ e ‘Y’,

determina si son iguales y, en caso de no serlo,

indica cuál de ellos es mayor.

Algoritmo que calcule la potencia de un número

dada la base y el exponente

Algoritmo que lee N números y determina cuáles son

pares y positivos.

Algoritmo que calcule la suma de los 20 primeros

números pares y el producto de los 20 primeros

números impares simultáneamente.

5.3 Representación de los algoritmos

(diagrama de flujo y pseudocódigo)

Page 37: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

5.3 Representación de los algoritmos

(diagrama de flujo y pseudocódigo)

INICIO

LEER N

C = 0

C = C + 1

LEER A

R = A / 2

R = 0 R > 0

‘A’ ES POSITIVO Y PAR

FIN

SI

SI C < N

NO

NO SI

NO

Algoritmo que lee N números y termina cuando encuentra un número par positivo o llega a N.

Page 38: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

5.3 Representación de los algoritmos

(diagrama de flujo y pseudocódigo)

INICIO

SP 0 PI 1 C 0

SW 0

C C +1

SW = 0

SP SP + C PI PI * C

SW 0 SW 1

C<= 40

“SUMA = “, SP “PRODUCTO = “, PI

FIN

NO SI

SI

NO

Algoritmo que calcule la suma de los 20 primeros números pares y el producto de los 20 primeros números impares simultáneamente.

Page 39: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

5.3 Representación de los algoritmos

(diagrama de flujo y pseudocódigo)

Pseudocódigo Se puede definir como el lenguaje intermedio entre el lenguaje natural y el lenguaje de programación seleccionado. Esta notación se encuentra sujeta a unas determinadas reglas que permiten y facilitan el diseño de algoritmos. El pseudocódigo surge como método para la representación de instrucciones en una metodología estructurada y nació como un lenguaje similar al inglés, que utilizaba palabras reservadas de este idioma (start, end, stop, while, repeat, for, if, if-else, etc.) y que posteriormente se fue adaptando a otros lenguajes de habla hispana.

Page 40: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

5.3 Representación de los algoritmos

(diagrama de flujo y pseudocódigo)

CABECERA

Programa: Nombre del programa

Módulo: Nombre del módulo

CUERPO INICIO

FIN

DATOS: Parámetros Constantes Variables

ALGORITMO: Descripción detallada de órdenes

Pseudocódigo

Page 41: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

5.3 Representación de los algoritmos

(diagrama de flujo y pseudocódigo)

Prueba de Escritorio La prueba de escritorio es una herramienta útil para entender que hace un determinado algoritmo, o para verificar que un algoritmo cumple con la especificación sin necesidad de ejecutarlo.

Básicamente, una prueba de escritorio es una ejecución ‘a mano’ del algoritmo, por lo tanto se debe llevar registro de los valores que va tomando cada una de las variables involucradas en el mismo.

Esta prueba consiste en que dar diferentes datos de entrada al programa y seguir la secuencia indicada en el diagrama, hasta obtener los resultados.

Page 42: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

CICLO ITERATIVO

Se entiende por ciclo iterativo la unión de símbolos gráficos que en su conjunto indica cómo repetir cierto proceso; las estructuras básicas más comunes son:

NO

SI

NO

SI

PROCESO

PROCESO

EXPRESIÓN

LÓGICA Se opta por repetir n

veces el proceso que

se indica en el

rectángulo EXPRESIÓN

LÓGICA

5.4 Estructuras básicas

(secuencia, condicional e iteración)

Page 43: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

Es conveniente realizar la solución de problemas con la computadora de manera conversacional, es decir, que el programa de computadora nos vaya indicando mediante mensajes las opciones y si se desea repetir el proceso con otros datos.

El bosquejo general de un diagrama de flujo conversacional puede ser el siguiente:

INICIO

DAME DATOS

VALORES

PROCESO

REPITE PROCESO

RESP

SI/NO

FIN

FIN

5.4 Estructuras básicas

(secuencia, condicional e iteración)

Page 44: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

INICIO

“Da temperatura en °C”

C

F = (1.8 * C ) + 32

“Temp en Farenheit”, F

1

1

Otra conversión S / N

Resp

Resp = “SI”

Fin de proceso

FIN

SI

NO

5.4 Estructuras básicas

(secuencia, condicional e iteración)

Page 45: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

Aplicaciones del Ciclo Iterativo

Calcular el valor de la expresión y almacenar en la variable indicada a la izquierda del signo igual, se genera el concepto de contador o expresión que permite contar (que consta de un ciclo iterativo que ejecuta varias veces la instrucción de reemplazo: C=C+1):

C = 0

C = C + 1

C >= N NO

SI

5.4 Estructuras básicas

(secuencia, condicional e iteración)

Page 46: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

Aplicaciones del Ciclo Iterativo

Otro de los conceptos de programación de gran utilidad es la estructura que nos permite llevar a cabo sumatorias (en ellas el proceso que se repite es la acumulación de expresiones similares, por ejemplo sumar n dígitos o sumar una y otra vez el valor de una variable X elevada a un exponente que crece en cada ocasión)

C = 0

C = C + 1

C >= N NO

SI

S = 0

S = S + C

5.4 Estructuras básicas

(secuencia, condicional e iteración)

Page 47: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

Otro elemento útil para el cálculo de fórmulas es el que resulta de aplicar el concepto de reemplazo del valor de la variable a lo que se llamará una multiplicación reiterada, la cual permite obtener factoriales de tipo descendente o ascendente.

Obténganse el factorial de: 5! Se sabe que su factorial ascendente es: 1 x 2 x 3 x 4 x 5 De dicha multiplicación se observa la presencia del elemento llamado contador, que multiplica su valor por el de la variable del factorial obtenido en el paso anterior, en efecto:

F = 1 Valor inicial de la variable del factorial

F = 1 x 2 Valor anterior de F multiplicado por 2, es decir, F = F x 2

F = 1 x 2 x 3 Valor anterior de F multiplicado por 3, es decir, F = F x 3

F = 1 x 2 x 3 x 4 Valor anterior de F multiplicado por 4, es decir, F = F x 4

F = 1 x 2 x 3 x 4 x 5 Valor anterior de F multiplicado por 5, es decir, F = F x 5

5.4 Estructuras básicas

(secuencia, condicional e iteración)

Page 48: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

K = 0 + 1 K = 1

F = 1 x 1 F = 1

K = 1 + 1 K = 2

F = 1 x 2 F = 2

K = 2 + 1 K = 3

F = 2 x 3 F = 6

K = 3 + 1 K = 4

F = 6 x 4 F = 24

K = 4 + 1 K = 5

F = 24 x 5 F = 120

K = 0

K = K + 1

K >= N

NO

SI

F = 1

F = F * K

N = 5

Contador

5.4 Estructuras básicas

(secuencia, condicional e iteración)

Page 49: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

F = 1

F = F * K

N

“Dame N”

INICIO

“F = “,F

FIN

K = 0 ; K >= N ; K=K+1

K = 0

K = K + 1

K >= N

NO

SI

F = 1

F = F * K

N

“Dame N”

INICIO

“F = “,F

FIN

5.4 Estructuras básicas

(secuencia, condicional e iteración)

Page 50: Tema V. Fundamentos de algoritmos - UNAM

Ing. Tanya Arteaga Ricci

5.5 Resolución de problemas básicos de ingeniería

1. Diseñar el algoritmo (diagrama de flujo y pseudocódigo) correspondiente a un programa que calcule el área lateral y el volumen de un cilindro recto, introduciendo por teclado los valores del radio y de la altura.

2. Escribir un programa (diagrama de flujo y pseudocódigo) que escriba la ecuación de una recta Ax + By + C = 0, leyendo las coordenadas de dos puntos (X1 y Y1) y (X2 y Y2)