Unidad ii construiralgoritmos

28
1 Programación Básica 2009 Construcción de Algoritmos Natalia Voitmann Rocha 1 CONSTRUCCION DE ALGORITMOS Programación Básica Análisis de Sistemas Abril 2009.

Transcript of Unidad ii construiralgoritmos

1

Programación Básica 2009Construcción de Algoritmos

Natalia Voitmann Rocha 1

CONSTRUCCION DE ALGORITMOS

Programación Básica

Análisis de Sistemas

Abril 2009.

2

Programación Básica 2009Construcción de Algoritmos

Natalia Voitmann Rocha 2

ALGORITMOALGORITMO• Secuencia de pasos que resuelve un determinado problema.

• Programa: Algoritmo escrito en (Lenguaje de programación)

Técnicas para Construir Algoritmos:• Diagramas de Flujo

• Pseudocódigo

3

Programación Básica 2009Construcción de Algoritmos

Natalia Voitmann Rocha 3

DIAGRAMAS DE FLUJODIAGRAMAS DE FLUJOINICIO

Obtener Ingredientes.

Obtener Materiales.

Encender Cocina

Calentar sartén con Aceite

Quebrar y hechar huevo a Sartén

Revolver Huevo

¿Está Frito?

Agregar Sal

Apagar Cocina

Servir y comer huevo

Traspasar de Sarten a plato

SI

FIN

NO

Definir Ingredientes y Materiales

4

Programación Básica 2009Construcción de Algoritmos

Natalia Voitmann Rocha 4

SIMBOLOGIA D. FLUJOSIMBOLOGIA D. FLUJOProceso o ActividadProceso o Actividad

ConectorConector

Entradas o SalidasEntradas o Salidas

Repetición o IteraciónRepetición o Iteración Inicio o FinInicio o Fin

CondiciónCondición

5

Programación Básica 2009Construcción de Algoritmos

Natalia Voitmann Rocha 5

ELEMENTOS DE ALGORITMOSELEMENTOS DE ALGORITMOS

1.1. VariablesVariables

• Almacenan un determinado dato en memoria.

• Posee un nombre que la identifica, el cual debe comenzar con una letra y no debe contener espacios en blanco ni caracteres.

• Puede variar su valor en el transcurso del algoritmo.

• Debe tener un tipo de dato definido, en relación al valor que almacena, que no puede modificarse en la secuencia del algoritmo.

6

Programación Básica 2009Construcción de Algoritmos

Natalia Voitmann Rocha 6

TIPOS DE DATOS VARIABLESTIPOS DE DATOS VARIABLES

Tipo de Dato Definición EjemplosENTERO Almacena valores

numéricos enteros4, 7, -8, 24,

76, 876

REAL Almacena valores numéricos reales

5, 7, 5.8, 4.9, -4,...

CARACTER Almacena sólo un valor alfanumérico

a , b, c, *, $, ...

CADENA Almacena un con-junto alfanumérico

casa, auto, perro, estre&&$, ...

BOOLEAN Almacena un valor u otro.

FALSOVERDADERO

7

Programación Básica 2009Construcción de Algoritmos

Natalia Voitmann Rocha 7

DETERMINAR VARIABLESDETERMINAR VARIABLES• Ejemplo

Problema: Determinar y mostrar en pantalla la suma de dos números ingresados desde teclado.

¿Qué datos necesita el problema para su solución?• Variable para almacenar el primer número ingresado por teclado.• Variable para almacenar el segundo número ingresado por teclado.• Variable para almacenar la suma.

Nombre identificador Tipo de dato Qué almacena

numero1 ENTERO Primer número

numero2 ENTERO Segundo número

suma ENTERO Suma dos numeros

8

Programación Básica 2009Construcción de Algoritmos

Natalia Voitmann Rocha 8

VARIABLESVARIABLES

• Representación en Pseudocódigo

ALGORITMO SUMA

INICIO

ENTERO numero1, numero2

REAL suma

...

...

• Sintaxis definición de Variables<TIPO DE DATO> <nombre variable>

• Ejemplo:

ENTERO numero

9

Programación Básica 2009Construcción de Algoritmos

Natalia Voitmann Rocha 9

ELEMENTOS ALGORITMOSELEMENTOS ALGORITMOS2. Entradas y Salidas2. Entradas y Salidas

Las entradas y salidas se obtienen de la definición del problema.

• Entradas : ¿qué datos se necesitan para resolver el problema? Son los datos que el algoritmo requiere antes de realizar las

actividades que resuelven el problema.

• Salidas: ¿qué información debe entregar la solución del problema? Son los datos que el algoritmo entregará como resultado de las actividades realizadas.

10

Programación Básica 2009Construcción de Algoritmos

Natalia Voitmann Rocha 10

ELEMENTOS ALGORITMOSELEMENTOS ALGORITMOS

22. Entradas y Salidas. Entradas y Salidas

• Ejemplo Problema: Determinar y mostrar en pantalla la suma de dos números

ingresados desde teclado.

Entradas Salidas

Primer número de tipo entero. Segundo número de tipo entero.

Suma de dos números enteros.

11

Programación Básica 2009Construcción de Algoritmos

Natalia Voitmann Rocha 11

ENTRADAS Y SALIDASENTRADAS Y SALIDAS

• Representación en Diagrama de Flujo

• Representación en Pseudocódigo

ALGORITMO SUMA

INICIO

/*Definición de variables*/ENTERO numero1ENTERO numero2ENTERO suma

/*Entradas*/LEER numero1LEER numero2

.../*Salidas*/

MOSTRAR suma

FIN

• Sintaxis de entradas LEERLEER <nombre variable> <nombre variable>

• Sintaxis de salidas MOSTRARMOSTRAR <nombre variable> <nombre variable>

Obtener Número LEER numero1

Obtener Número

LEER numero2

Mostrar Resultado IMPRIMIR numero1

12

Programación Básica 2009Construcción de Algoritmos

Natalia Voitmann Rocha 12

ENTRADAS Y SALIDAS ENTRADAS Y SALIDAS• En los algoritmos las entradas se expresan a través de la palabra clave LEER. • Las entradas son datos que se obtienen generalmente desde teclado y su valor debe

almacenarse en memoria, es decir en variables, por lo tanto, la instrucción LEER siempre va acompañada de una variable.

• Ejemplo:

• Las salidas se expresan con la palabra clave MOSTRAR.

• Las salidas son datos que están almacenados en memoria y se mostrarán en pantalla, por lo tanto generalmente MOSTRAR va acompañada de un variable. También puede acompañarse de texto.

• Ejemplos:

MOSTRAR suma Significa que el valor mostrado en pantalla,

será el valor que en ese instante posee la variable suma.

MOSTRAR “Hola mundo”Significa que en pantalla se mostrara el texto “Hola mundo”.

LEER numero1

Significa que el valor ingresado por teclado quedará almacenado en la variable numero1

13

Programación Básica 2009Construcción de Algoritmos

Natalia Voitmann Rocha 13

ELEMENTOS DE ALGORITMOSELEMENTOS DE ALGORITMOS

3. Instrucciones de asignación3. Instrucciones de asignación

Son instrucciones que asignan o entregan a una variable a través del símbolo “=“. Los contenidos a entregar son los siguientes:

• El resultado de una expresión matemática, la cual puede contener uno o varios operadores matemáticos del tipo: +, - , * , / , DIV, MOD.

• El contenido de otra variable.

• El resultado de una función.

14

Programación Básica 2009Construcción de Algoritmos

Natalia Voitmann Rocha 14

ASIGNACIONESASIGNACIONES• Ejemplos:

mayor = num1doble = numero * 2resultado = 3 * x + 5suma = numero1 + numero2

Operadores Matemáticos

+ Suma

- Resta

* Multiplicación

/ División

% Resto

• El resultado de la expresión debe ser del mismo tipo de dato que nombre_variable. Ej. NO se puede asignar la palabra “Hola” a una variable de nombre numero, definida como tipo ENTERO.

• Instrucción incorrecta : numero = “HOLA” Porque no son del mismo tipo de dato.

15

Programación Básica 2009Construcción de Algoritmos

Natalia Voitmann Rocha 15

ASIGNACIONESASIGNACIONES

• Representación en Diagrama de Flujo

• Representación en Pseudocódigo

ALGORITMO SUMAINICIO/*Definición de variables*/

ENTERO numero1, numero2ENTERO suma

/*Entradas*/LEER numero1LEER numero2

/*Obtener suma*/suma=numero1+numero2

/*Salidas*/MOSTRAR suma

FIN

• Sintaxis de entradas <nombre variable><nombre variable> = <expresión>

Calcular Dobledoble = numero1 * 2

Calcular Sumasuma=numero1+numero2

16

Programación Básica 2009Construcción de Algoritmos

Natalia Voitmann Rocha 16

ELEMENTOS ALGORITMOSELEMENTOS ALGORITMOS4 . Instrucciones condicionales4 . Instrucciones condicionales• Las instrucciones condicionales evalúan una pregunta. Si la condición se

cumple, realiza una alternativa de instrucciones, sino, realiza la otra alternativa de instrucciones.

• La condición que evalúa el algoritmo, se construye con uno de los siguientes operadores condicionales:

Operadores Condicionales

> Mayor a

< Menor a

== Igual a

!= Distinto a

>= Mayor o igual a

<= Menor o igual a

17

Programación Básica 2009Construcción de Algoritmos

Natalia Voitmann Rocha 17

CONDICIONESCONDICIONES• Ejemplos: (numero > 2)

(nombre == “Juan”)(numero1 <= numero2)(numero2 != numero1)

• La evaluación puede tener una o varias condiciones, las cuales se agrupan a través de operadores lógicos del tipo: AND o Y, OR u O.

• Ejemplos:

(numero>0) Y (numero<10)(num1>num2) Y (num2<10)(nombre=”Juan”) O ( nombre=”Pedro”)(letra=”a”) O (letra=”A”)

18

Programación Básica 2009Construcción de Algoritmos

Natalia Voitmann Rocha 18

REPRESENTACIONREPRESENTACION

• Representación en Diagrama de Flujo

• Representación en Pseudocódigo

ALGORITMO SUMA

INICIO

/*Definición de variables*/ENTERO numero1,numero2

/*Entradas*/LEER numero1LEER numero2

/*Obtener suma*/

SI (numero1>numero2)

MOSTRAR numero1

SINO

MOSTRAR numero2

FIN

Mostrar Resultado IMPRIMIR numero1

numero1 > numero2SI

Mostrar Resultado IMPRIMIR numero2

NO

19

Programación Básica 2009Construcción de Algoritmos

Natalia Voitmann Rocha 19

ELEMENTOS ALGORITMOSELEMENTOS ALGORITMOS5.5. Instrucciones de RepeticiónInstrucciones de Repetición

• Las instrucciones de Repetición permiten realizar varias veces una serie de instrucciones.

• Las instrucciones de Repetición, a diferencia de las condicionales, se pueden plantear distintas formas, según el problema a resolver:

– Repetir la serie de instrucciones un número FIJO de veces, por lo tanto, es necesario especificar la cantidad de veces.

– Repetir la serie de instrucciones un número VARIABLE de veces, lo que también puede realizarse de dos forma:

• Comenzar la serie de instrucciones y LUEGO evaluar una condición.• Preguntar PRIMERO si se cumple una condición y luego comenzar la serie de

repeticiones.

20

Programación Básica 2009Construcción de Algoritmos

Natalia Voitmann Rocha 20

REPETICIONES O ITERACIONES REPETICIONES O ITERACIONES

1. Repetir las instrucciones una cantidad FIJA de veces.

• Este tipo de instrucciones necesita definir una variable que controle el ciclo de repeticiones. Debe especificar

• En qué valor comienza la variable.• En qué valor finalizará la variable. • Cuanto será su incremento en cada repetición.

Ejemplo: Imprimir en pantalla los primeros 100 números enteros.

Variable : Entero iComienzo : i=1Fin : i<NIncremento : i++

21

Programación Básica 2009Construcción de Algoritmos

Natalia Voitmann Rocha 21

REPETICIONES O ITERACIONESREPETICIONES O ITERACIONES

• Representación en Diagrama de Flujo

ALGORITMO IMPRIMIR

INICIO

/*Definición de variables*/ENTERO i

/*Mostrar números*/

PARA (i=1, i<=100, i++)

INICIO

MOSTRAR i

FIN

FIN

• Representación en Pseudocódigo

DEFINIR VARIABLESENTERO i

INICIO

i=1, i<=100, i++

Mostrar Resultado IMPRIMIR i

FIN

22

Programación Básica 2009Construcción de Algoritmos

Natalia Voitmann Rocha 22

REPRESENTACIONREPRESENTACION

EXPLICACION DIAGRAMA Y PSEUDOCODIGO

• La instrucción MOSTRAR i, se repetirá 100 veces, ya que está dentro del símbolo (en diagrama de flujo) o palabras (en Pseudocódigo) relacionadas a repeticiones. Para esto, se especifica lo siguiente:

– La variable de nombre i, controlará las repeticiones.– La variable i comenzará el ciclo de repeticiones con el valor 1.– Las repeticiones finalizarán cuando la variable i alcance el valor 100.– En cada repetición la variable i incrementará su valor en 1– La instrucción a repetir es MOSTRAR i

23

Programación Básica 2009Construcción de Algoritmos

Natalia Voitmann Rocha 23

REPETICIONESREPETICIONES

2. Repetir las instrucciones un número VARIABLE de veces

Instrucciones y luego la Condición.

• Este tipo de instrucciones necesita especificar primero una serie de instrucciones, y luego, una condición que permita controlar el ciclo de repeticiones. Mientras la condición se cumpla, las instrucciones se repetirán. Si la condición no se cumple se terminará el ciclo de repeticiones

• Ejemplo: Leer números desde teclado mientras el valor de éstos sea menor a cero.

24

Programación Básica 2009Construcción de Algoritmos

Natalia Voitmann Rocha 24

REPETICIONESREPETICIONES

DEFINIR VARIABLESENTERO numero

INICIO

Leer número LEER numero

FIN

numero < 0

SI

NO

ALGORITMO LEER

INICIO

/*Definición de variables*/ENTERO numero

HACER

INICIO

/*Leer números*/

LEER numero

FIN

MIENTRAS (numero<0)

FIN

• Representación en Diagrama de Flujo

• Representación en Pseudocódigo

25

Programación Básica 2009Construcción de Algoritmos

Natalia Voitmann Rocha 25

REPETICIONESREPETICIONES

EXPLICACION DIAGRAMA Y PSEUDOCODIGO

• La instrucción LEER numero, se repetirá mientras el valor leído sea menor a cero, ya que está dentro del símbolo(en diagrama de flujo) o palabras (en Pseudocódigo) relacionadas a repeticiones. Entonces:

– Primero ejecuta la instrucción LEER numero.– Verifica si se cumple la condición (numero <0)– Si la condición se cumple, repite la instrucción LEER numero.– Si la condición no se cumple, finalizará las repeticiones, asegurando que el

valor almacenado en la variable numero será igual o superior a cero.

26

Programación Básica 2009Construcción de Algoritmos

Natalia Voitmann Rocha 26

REPETICIONESREPETICIONES

2. Repetir las instrucciones un número VARIABLE de veces

Condición y luego Instrucciones.

• Este tipo de instrucciones necesita especificar primero una condición que controle el ciclo de repeticiones y luego la serie de instrucciones a repetir. Mientras la condición se cumpla, las instrucciones continuarán repitiéndose.

• Ejemplo: Leer un número y comenzar una suma, mientras esa suma sea menor a 10, sumar 2 a la suma.

27

Programación Básica 2009Construcción de Algoritmos

Natalia Voitmann Rocha 27

REPETICIONESREPETICIONES• Representación en Diagrama de

Flujo

DEFINIR VARIABLESENTERO numeroENTERO suma

INICIO

Obtener número LEER numero

FIN

suma < 10

SINO

Iniciar sumasuma=numero

Sumar 2 a sumasuma = suma + 2

Mostrar sumaIMPRIMIR suma

• Representación en Pseudocódigo

ALGORITMO SUMAR

INICIO

/*Definición de variables*/ENTERO numero, suma

/*Leer número*/ LEER numero

/*Iniciar suma*/

suma=0

MIENTRAS (suma<10)INICIO /*Sumar 2 a suma*/

suma=suma+2 FIN

/*Mostrar suma*/

MOSTRAR suma

FIN

28

Programación Básica 2009Construcción de Algoritmos

Natalia Voitmann Rocha 28

REPETICIONESREPETICIONES

EXPLICACION DIAGRAMA Y PSEUDOCODIGO

• La instrucción suma=suma+2, se repetirá mientras la suma sea menor a 0, valor leído sea menor a cero, ya que está dentro del símbolo (en diagrama de flujo) o palabras (en Pseudocódigo) relacionadas a repeticiones. Entonces:

– Primero se lee el valor de numero y se asigna ese valor a la variable suma. – Luego evalua o Verifica si se cumple la condición que suma sea menor a 10 (suma

<10)– Si la condición se cumple, agrega 2 a la variable suma, es decir, repite la instrucción

suma=suma+2.– Si la condición no se cumple, finalizará las repeticiones, mostrando en pantalla el

valor de la variable suma a través de la instrucción IMPRIMIR suma.