Unidad 5 Estructuras algoritmicas
-
Upload
carlos-m-sandoval -
Category
Technology
-
view
10.732 -
download
2
description
Transcript of Unidad 5 Estructuras algoritmicas
![Page 2: Unidad 5 Estructuras algoritmicas](https://reader031.fdocuments.co/reader031/viewer/2022020116/55742281d8b42a24798b4dc9/html5/thumbnails/2.jpg)
OBJETIVO EDUCACIONAL
0Conocerá las diferentes estructuras algorítmicas como componentes básicos de los programas y aplicara la combinación de ellas para el desarrollo de algoritmos más complejos.
![Page 3: Unidad 5 Estructuras algoritmicas](https://reader031.fdocuments.co/reader031/viewer/2022020116/55742281d8b42a24798b4dc9/html5/thumbnails/3.jpg)
ESTRUCTURAS ALGORITMICAS
0Las estructuras de operación de programas son un grupo de formas de trabajo, que permiten, mediante la manipulación de variables, realizar ciertos procesos específicos que nos lleven a la solución de problemas.
![Page 4: Unidad 5 Estructuras algoritmicas](https://reader031.fdocuments.co/reader031/viewer/2022020116/55742281d8b42a24798b4dc9/html5/thumbnails/4.jpg)
![Page 5: Unidad 5 Estructuras algoritmicas](https://reader031.fdocuments.co/reader031/viewer/2022020116/55742281d8b42a24798b4dc9/html5/thumbnails/5.jpg)
0Estas estructuras se clasifican de acuerdo con su complejidad en:
Estruturasalgoritmicas
Secuenciales
Condicionales
Cíclicas
Asignación
Entrada
Salida
Simples
Multiples
Hacer para
Hacer mientras
Repetir hasta
![Page 6: Unidad 5 Estructuras algoritmicas](https://reader031.fdocuments.co/reader031/viewer/2022020116/55742281d8b42a24798b4dc9/html5/thumbnails/6.jpg)
Estructuras Secuenciales
0La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia.
0Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso.
![Page 7: Unidad 5 Estructuras algoritmicas](https://reader031.fdocuments.co/reader031/viewer/2022020116/55742281d8b42a24798b4dc9/html5/thumbnails/7.jpg)
Estructuras Secuenciales0Una estructura secuencial se representa de la siguiente
forma:
![Page 8: Unidad 5 Estructuras algoritmicas](https://reader031.fdocuments.co/reader031/viewer/2022020116/55742281d8b42a24798b4dc9/html5/thumbnails/8.jpg)
Observe el siguiente problema de tipo cotidiano y sus respectivos algoritmosrepresentados en Pseudocódigo y en diagramas de flujos:
Problema: Tengo un teléfono y necesito llamar a alguien pero no sé como hacerlo.
![Page 9: Unidad 5 Estructuras algoritmicas](https://reader031.fdocuments.co/reader031/viewer/2022020116/55742281d8b42a24798b4dc9/html5/thumbnails/9.jpg)
0 Asignación0 La asignación consiste, en el paso de valores o resultados a una
zona de la memoria. Dicha zona será reconocida con el nombre de la variable que recibe el valor. La asignación se puede clasificar de la siguiente forma:0Simples: Consiste en pasar un valor constate a una variable
(a=15)0Contador: Consiste en usarla como un verificador del numero
de veces que se realiza un proceso (a=a+1)0Acumulador: Consiste en usarla como un sumador en un
proceso (a=a+b)0De trabajo: Donde puede recibir el resultado de una operación
matemática que involucre muchas variables (a=c+b*2/4).
< Variable > <valor o expresión >
![Page 10: Unidad 5 Estructuras algoritmicas](https://reader031.fdocuments.co/reader031/viewer/2022020116/55742281d8b42a24798b4dc9/html5/thumbnails/10.jpg)
0Ejemplos de Asignación
0A = 100 ; significa que a la variable A se le ha asignado el valor 100, ahora A vale 100.
0 suma = 5+10; asigna el valor 15 a la variable suma a través de una asignación aritmética.
0 x = z + v ; asigna el valor de la suma de las variables z y v a la variable x. El resultado depende de los valores que se asignen a x y a z.
![Page 11: Unidad 5 Estructuras algoritmicas](https://reader031.fdocuments.co/reader031/viewer/2022020116/55742281d8b42a24798b4dc9/html5/thumbnails/11.jpg)
Entrada y Salida de Información
0 Los datos que vamos a obtener del usuario para procesarlos también deben ser asignados a variables, la operación de lectura, lee un dato y lo asigna a una variable. La instrucción para la lectura de un dato es leer o también ingresar.
0 Lectura0 La lectura consiste en recibir desde un dispositivo de entrada
(p.ej. el teclado) un valor. Esta operación se representa en un pseudocódigo como sigue:0Leer a, b
0Donde “a” y “b” son las variables que recibirán los valores
![Page 12: Unidad 5 Estructuras algoritmicas](https://reader031.fdocuments.co/reader031/viewer/2022020116/55742281d8b42a24798b4dc9/html5/thumbnails/12.jpg)
0 Por ejemplo:0 leer numero
Esta instrucción pide al usuario un valor que será asignado a la variable numero, es decir, en numero se almacena el valor ingresado por el usuario.
leer Edad, Peso, Sexo
Representa la lectura de tres valores que se van a almacenar en las variables Edad, Peso y Sexo; en ese mismo orden.
Ya tenemos nuestro primer comando: leer
![Page 13: Unidad 5 Estructuras algoritmicas](https://reader031.fdocuments.co/reader031/viewer/2022020116/55742281d8b42a24798b4dc9/html5/thumbnails/13.jpg)
0 Ahora bien, cuando queramos mostrar el resultado del algoritmo, un mensaje, un valor, etc., vamos a utilizar el comando imprimir. Por ejemplo:
imprimir "Hola" ; muestra en la pantalla el mensaje Hola, Hola va entre comillas porque es una cadena.
imprimir A; muestra en la pantalla el valor que está almacenado en la variable A.
imprimir "El valor del promedio es:", promedioEsta instrucción muestra el mensaje que está entre comillas y luego el valor de la variable promedio. La coma separa el mensaje de la variable. Si promedio vale 5, lo que se verá en la pantalla será:
El valor del promedio es: 5
![Page 14: Unidad 5 Estructuras algoritmicas](https://reader031.fdocuments.co/reader031/viewer/2022020116/55742281d8b42a24798b4dc9/html5/thumbnails/14.jpg)
0Escritura0 Consiste en mandar por un dispositivo de salida (p.ej.
monitor o impresora) un resultado o mensaje. Este proceso se representa en un pseudocódigo como sigue:
0Escribe “El resultado es:”, R
0Donde “El resultado es:” es un mensaje que se desea aparezca y R es una variable que contiene un valor.
![Page 15: Unidad 5 Estructuras algoritmicas](https://reader031.fdocuments.co/reader031/viewer/2022020116/55742281d8b42a24798b4dc9/html5/thumbnails/15.jpg)
Resolución de Problemas
0Antes de resolver un problema por medio de un pseudocódigo, es necesario definirlo y comprenderlo claramente. Leeremos con atención el enunciado del problema y una vez comprendido responderemos a las preguntas:
1. ¿ Qué información debe proporcionar la resolución del problema?
2. ¿ Cuáles son los datos que necesito para resolver el problema?
![Page 16: Unidad 5 Estructuras algoritmicas](https://reader031.fdocuments.co/reader031/viewer/2022020116/55742281d8b42a24798b4dc9/html5/thumbnails/16.jpg)
0La respuesta de la primera pregunta nos dice que salidas va a proporcionar el algoritmo y la segunda qué datos se nos proporcionan para resolver el problema y cuáles debemos calcularlos.
![Page 17: Unidad 5 Estructuras algoritmicas](https://reader031.fdocuments.co/reader031/viewer/2022020116/55742281d8b42a24798b4dc9/html5/thumbnails/17.jpg)
Problemas para resolver
![Page 18: Unidad 5 Estructuras algoritmicas](https://reader031.fdocuments.co/reader031/viewer/2022020116/55742281d8b42a24798b4dc9/html5/thumbnails/18.jpg)
Problema #1: Leer las longitudes de un rectángulo y calcular la superficie y el perímetro.
0Para calcular el área y el perímetro de un rectángulo, se necesitan las medidas del ancho y el alto, estas medidas serán leídas en dos variables.Las salidas serán los valores del área y el perímetro que serán calculados utilizando fórmulas.
![Page 19: Unidad 5 Estructuras algoritmicas](https://reader031.fdocuments.co/reader031/viewer/2022020116/55742281d8b42a24798b4dc9/html5/thumbnails/19.jpg)
Problema #2: Escribir un pseudocódigo que intercambie el valor de dos variables.
0Si se tienen, por ejemplo A = 5 y B = 10, se quiere intercambiar el valor de las variables, así:A = 10; B = 5.
0No podemos asignar directamente el valor de una a la otra porque uno de los valores se destruiría; de modo que esto no se puede hacer:
A = B (el valor de A se pierde y quedaría A = 10 ; B = 10)
![Page 20: Unidad 5 Estructuras algoritmicas](https://reader031.fdocuments.co/reader031/viewer/2022020116/55742281d8b42a24798b4dc9/html5/thumbnails/20.jpg)
La solución consiste en asignar el valor de una de las variables a otra variable auxiliar.
leer A,B ........ Se pide al usuario dos valores. Supongamos que se ha ingresado A = 100 ; B = 5
Auxiliar = A ........ Se asigna a Auxiliar el valor 100. Auxiliar vale 100.
El valor de las variables es: A B Auxiliar100 5 100
A= B ........ Se asigna a A el valor de B para intercambiar. Ahora el valor de las variables es:
A B Auxiliar5 5 100
El intercambio está hecho. Luego se imprimen los respectivos valores ya intercambiados con la línea:
imprimir A,B
![Page 21: Unidad 5 Estructuras algoritmicas](https://reader031.fdocuments.co/reader031/viewer/2022020116/55742281d8b42a24798b4dc9/html5/thumbnails/21.jpg)
Problemas Secuenciales
0Supongamos que una persona desea invertir su capital en una cooperativa y desea saber cuánto dinero ganara después de un mes si la cooperativa paga a razón de 6% mensual.
0 Inicio0 Leer capital_inv0 gan=capital_inv * 0.060 Imprimir gan
0Fin
![Page 22: Unidad 5 Estructuras algoritmicas](https://reader031.fdocuments.co/reader031/viewer/2022020116/55742281d8b42a24798b4dc9/html5/thumbnails/22.jpg)
Problemas Secuenciales
0Un comerciante recibe un sueldo base mas un 20% extra por comisión de sus ventas, el comerciante desea saber cuanto dinero obtendrá por concepto de comisiones por las dos ventas que realiza en el mes y el total que recibirá en el mes tomando en cuenta su sueldo base y comisiones.
![Page 23: Unidad 5 Estructuras algoritmicas](https://reader031.fdocuments.co/reader031/viewer/2022020116/55742281d8b42a24798b4dc9/html5/thumbnails/23.jpg)
0 Inicio0 Leer sueldo_base, venta1, venta20 total_venta = venta1 + venta20 comision = total_venta * 0.200 total_pagar = sueldo_base + comision0 Imprimir total_pagar, comision0 Fin
![Page 24: Unidad 5 Estructuras algoritmicas](https://reader031.fdocuments.co/reader031/viewer/2022020116/55742281d8b42a24798b4dc9/html5/thumbnails/24.jpg)
ESTRUCTURAS ALGORITMICASProf. Carlos M. Sandoval Rivera