Unidad 5 Estructuras algoritmicas

Post on 07-Jun-2015

10.732 views 2 download

description

Unidad 5 ESTRUCTURAS ALGORITMICAS

Transcript of Unidad 5 Estructuras algoritmicas

ESTRUCTURAS ALGORITMICASProf. Carlos M. Sandoval Riveracsandoval@aupr.edu

Unidad 5:

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.

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.

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

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.

Estructuras Secuenciales0Una estructura secuencial se representa de la siguiente

forma:

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.

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 >

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.

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

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

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

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.

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?

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.

Problemas para resolver

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.

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)

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

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

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.

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

ESTRUCTURAS ALGORITMICASProf. Carlos M. Sandoval Rivera