Unidad ii construiralgoritmos
-
Upload
julio-cesar-castellar-ortega -
Category
Documents
-
view
23 -
download
0
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.