Upload
imelda-velo
View
22
Download
5
Embed Size (px)
Citation preview
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas
Esquema del Procesamiento de datos
Pasos para la Resolución de Problemas usando el Computador
Definición de Instrucción, Algoritmo y Programa
Algoritmos. Características. Representación. Clasificación
Diseño de Algoritmos
Datos. Identificadores. Constantes. Variables
Tipos de Datos
Expresiones. Definición. Tipos
Primitivas de Asignación, Lectura y Escritura
Estructuras de Control
Contenido
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas
(Joyanes, 1998:15)
Esquema del Procesamiento de Datos
Datos de Entrada
Datos de Salida
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas
1. Análisis del Problema.
2. Diseño del Algoritmo.
3. Codificación.
4. Compilación y Ejecución.
5. Verificación.
6. Depuración.
7. Documentación.
(Joyanes, 1998:15)
Pasos para la Creación de un Programa
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas
Consiste en estudiar el problema planteado para obtener una idea clara y concisa sobre lo que se desea obtener como resultado, los datos de entrada de los que se parte y la forma en que estos datos iniciales van a llegar a la computadora.
Análisis del Problema
(Curso de Informática Personal.Software Hardware,1999:28)
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas
1. ¿Cuál es el problema?
2. ¿Qué datos se utilizarán?
2.1.¿Cuáles datos me indica el planteamiento del problema?
2.2.¿Cuáles datos son los datos de entrada?
3. ¿Qué cálculos u operaciones se requieren?
4. ¿Cuáles serán las salidas o resultados?
Análisis del Problema
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas Relación Datos-Computador
Los datos se corresponden con el conjunto de símbolos
para representar un valor numérico, un hecho, un objeto
o una idea; en la forma adecuada para ser objeto de
tratamiento por en computador.
(Prieto y Otros; 2002:2)
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas
Tipo de Dato
ENTERO
Valor
30
Nombre del Dato
Edad
Relación Datos - Tipo de Dato
El Tipo de Dato identifica la
naturaleza del conjunto de valores y
las posibles operaciones definidas
sobre éstos. Los tipos de datos a
utilizar inicialmente son: Entero,
Real, Lógico, Carácter, Cadena.
(Prieto y Otros; 2002:34)
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas
60Constantes Sin Nombre
ConstantesCon Nombre
Variables
Ejemplo
Representación de Datos
Ejemplo 60
A10
B
10
Ejemplo ?
A?
B
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas
valor
Nombre
Tiene un
Se asociará a un lugar de memoria donde se guardará un valor fijo
Se corresponde implícitamente con
Un tipo de dato
Representación de Datos con Constantes
Constante con Nombre
MaxNota = 10
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas
?
Nombre
Tipo de dato
Tiene un
Se asociará a un lugar de memoria donde se guardará un valor
El cual corresponde a un
Representación de Datos con Variables
Variable
Nota: Entero
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas
...Calcular el idb (1%) a un monto dado...
Porcentaje de idb = 0.01Entrada: MONTO
Resultados: MONTOIDB
MONTOIDB = MONTO * Porcentaje de idb
Planteamiento
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas Planteamiento
Calcular la media aritmética entre 2 notas dadas.
Cantidad de Notas
Para Datos de Entrada: NOTA1, NOTA2Para Resultados: PROMEDIO
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas Consideraciones para Nombrar Variables y Constantes
Utilice nombres cortos, es decir, que no excedan de 12 caracteres. Ej. (nombcoleg en lugar de nombredelcolegio)
Los caracteres permitidos son: letras, números, guión bajo.
Sustituya el espacio en blanco por el guión bajo.
Debe comenzar con una letra, seguido de cualquier otro caracter permitido. (Nota1, Dir_Coleg)
Los nombres usados deben ser únicos.
Verifique que el nombre seleccionado sea representativo del valor que guardará la variable/constante en cuestión.
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas
Una expresión es una combinación de datos y
operaciones a realizar sobre éstos.
Tipo de Expresiones
Aritméticas
Lógicas
(Joyanes y Otros,2000:238)
Expresiones Utilizadas en la Programación
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas
Una Expresión Aritmética es una combinación de
constantes y/o variables unidas por operadores
aritméticos. De su evaluación se obtiene un valor
numérico.
Expresiones Aritméticas
OPERADORES
Paréntesis ( )
Potencia ^
División, Multiplicación /, *
Suma, Resta +, -
EJEMPLOS
(3 * 5 + 5 * 2)
4 + 4 ^ 2
8 / (5 - 1)
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas
Una Expresión Lógica se utiliza cuando se necesita
saber si dos valores cumplen o no con ciertas relaciones.
De su evaluación se obtiene un valor Lógico: Verdadero o
Falso.
Expresiones Lógicas
OPERADORESIgualdad =Desigualdad <>Menor Que <Mayor Que >Menor o Igual Que <=Mayor o Igual Que >=
EJEMPLOS:
(3 * 5 ) = (5 * 3)
(4 + 4 ^ 2 ) > 12
4 < > 14
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas
Se pueden agrupar varias expresiones lógicas para
obtener un solo resultado, esto puede hacerse utilizando
los siguientes conectores lógicos: Y, O, NO.
Los conectores lógicos operan sobre valores lógicos y
están regidos por tablas de verdad.
Expresiones Lógicas
A B A Y B
V V V
V F F
F V F
F F F
A B A O B
V V V
V F V
F V V
F F F
A NO (A)
V F
F V
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas Expresiones Lógicas
Expresión que determina (sin hacer la operación) si el resultado de A * B es positivo:
Expresión que determina si un triángulo es Equilátero, dadas las longitudes de sus lados:
(L1 = L2) Y (L2 = L3)
((A >= 0) Y (B >= 0)) O ((A < 0) Y (B < 0))
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas
Son expresiones diseñadas para usarlas en algoritmos y programas; ocupan una línea y utilizan adecuadamente los operadores aritméticos, relacionales y lógicos. Ejemplos:
ED
BAK
Expresión Algebraica y su equivalente Expresión Lineal
K = (A+B)/(D-E)
mi
yQ
)/( miyQ
Expresiones Lineales
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas Programas
Es un conjunto ordenado de instrucciones que se dan a
la computadora indicándole las operaciones o tareas que
debe realizar. Se escriben en un lenguaje de
programación.
(Prieto y Otros, 2002:10)
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas
Un algoritmo es un conjunto de pasos (acciones) ordenados lógicamente, que conllevan a la solución de un problema. Los algoritmos deben ser claros, precisos y terminar en un tiempo finito.
Formas de Representación:
Algoritmo
Lenguaje Natural. Diagrama de Flujo. Diagrama N-S (Nassi-Schneiderman). Pseudocódigo.
(Prieto y Otros, 2002:49)
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas Características de los Algoritmos
Un algoritmo debe ser preciso e indicar sin ambigüedad, el orden de realización de cada paso.
Un algoritmo debe estar definido.
Un algoritmo debe ser finito.
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas Partes de un Algoritmo
Entrada: Donde se indica el origen de los datos, ingredientes y/o utensilios que se van a utilizar.
Proceso: Donde se listan los pasos ordenados y concretos
para resolver el problema planteado, así como una
operación aritmética/lógica, o una receta determinada.
Salida: Donde se especifica claramente el resultado del
algoritmo, así como puede ser el resultado de una
operación de cálculo o bien un plato ya elaborado.
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas Tipos de Algoritmos
Según el contenido que expresan se pueden clasificar en:
Cualitativos (procesos)
Cuantitativos (Cálculos-Datos)
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas
Es una prueba que se hace sobre el papel simulando la memoria del computador y haciendo cada paso del algoritmo desde el inicio hasta el fin.
(Correa,1992:41)
Traza de un Algoritmo
Variable1 Variable2 Variable3……VariableN
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas
Algoritmo Nombre Significativo
Declaración
Constantes
Nombre_de_Constante = Valor
Variables
Nombre_de_Variable: Tipo de Dato
Inicio
Cuerpo del Algoritmo
Fin
Estructura de un Algoritmo en Pseudocódigo
Cabecera
Declaración
Cuerpo
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas Primitiva de Asignación
Asignación Ejemplo
Nombre Variable Constante Año 2001
Nombre Variable Nombre de Variable2 Nota_Aux Nota
Nombre Variable Expresión Aritmética Product Num1 * Num2
Nombre Variable Expresión Lógica CMayor (C>A) Y (A> B)
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas Primitivas de Lectura y Escritura
Lectura Ejemplo
Leer Nombre_Variable Leer Numero
Salida Ejemplo
Escribir “Mensaje” Escribir “Introduzca su Nombre”
Escribir Variable Escribir Suma
Escribir “Mensaje”, Variable Escribir “El resultado = “, Suma
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas
Algoritmo Suma de dos númerosDeclaración Variables A,B,Suma: EnteroInicio
Escribir “Suma de dos números...”Escribir “Introduzca Primer valor: ”Leer AEscribir “Introduzca Segundo valor: ”Leer BSuma (A + B)Escribir “El Resultado la suma es: ”, Suma
Fin
Ejemplo de Pseudocódigo
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas
Un diagrama de flujo (flowchart) es la
representación gráfica de un algoritmo. Consta de
símbolos unidos por flechas; los símbolos
representan las acciones y las flechas indican su
orden de realización.
Diagrama de Flujo
(Prieto y Otros, 2002:50)
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas
Entrada/Salida
Proceso
Conector Interno
Terminal
Diagrama de Flujo-Símbolos Básicos
2
Expresión
Lógica
Sí
No
Conector de Páginas
Flujos
Decisiones
(Joyanes, 1998: 18)
1
1
2
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas Ejemplo de un Diagrama de Flujo
Inicio
Calcular Suma A + B
Escribir Suma
Fin
Leer A, B
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas
Es un algoritmo contenido en un rectángulo, dentro del rectángulo se incluyen una serie de símbolos adyacentes que indican las acciones.
Nombre del Algoritmo
Acción 1
Acción 2
...
Acción N
Fin
Diagrama de Nassi Schneiderman
(Prieto y Otros, 2002:50)
Suma de dos Números
Leer valor de A
Leer valor de B
Calcular Suma A +B
Mostrar Suma
Fin
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas Estructuras de Control
Secuencia
Selección
Repetición
(Joyanes, 1998:28)
Las estructuras de control indican el orden de
ejecución de las acciones en un algoritmo e
instrucciones en un programa.
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas Estructuras de Control de Selección
Selección Simple
Selección Doble
Selección Múltiple
Las estructuras de control selectivas permiten
condicionar la realización de acciones dentro del
algoritmo.
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas
Si Expresión Lógica Entonces
Acción o Acciones a ejecutar
Fin Si
Si (monto >= 100000) Entonces
monto monto – (monto * 0.15)
Fin Si
FORMATO
EJEMPLO: Aplicar el 15% de descuento a un monto, si éste es >= 100000.
Estructura de Selección Simple
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas
Si Expresión Lógica Entonces Acción o Acciones a ejecutarSino Acción o Acciones a ejecutarFin Si
Si ((Saldo – Retiro) >= 0) Entonces Saldo Saldo - RetiroSino Escribir “Fondos Insuficientes”Fin Si
FORMATO
Estructura de Selección Doble
EJEMPLO: Actualizar el saldo de una cuenta bancaria, a partir de un retiro.
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas
Caso Nombre_de_Variable
Valor1: Accion(es) a ejecutar
Valor2: Accion(es) a ejecutar
Valor3: Accion(es) a ejecutar
ValorN: Accion(es) a ejecutar
Sino
Accion(es) a ejecutar
Fin Caso
FORMATO
Estructura de Selección Múltiple
Caso Tamaño_Pizza
‘P’: Costo 6000
‘M’: Costo 8000
‘G’: Costo 10000
Sino
Escribir “Tamaño de Pizza no válido“
Costo 0
Fin Caso
EJEMPLO: Costo de una pizza, según su tamaño
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas
Si nota > = 3.5 Entonces Escribir “Tiene derecho al Examen Final”Sino
Si nota > = 2 Entonces Escribir “Tiene derecho a Reparar” Sino Escribir “Queda Diferido” Fin SiFin Si
Diseñe una expresión que permita determinar si un estudiante de Matemática tiene derecho al examen final, al de reparación o queda diferido. Tomando en cuenta su nota acumulada en el 70%, la cual está comprendida en el rango [0..7].
Anidamiento de Estructuras Selectivas
2 3.5
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas Estructuras de Control de Repetición
Mientras
Repetir
Para
Las estructuras de control repetitivas permiten que un
grupo de acciones se repitan varias veces dentro del
algoritmo.
(Joyanes, 1998:149)
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas Variables Auxiliares
Contador Contador + Valor_Fijo
Acumulador Acumulador + Variable
CONTADOR: es una variable cuyo valor se incrementa o decrementa
en una cantidad constante en cada iteración.
ACUMULADOR: es una variable que almacena cantidades resultantes
de sumas sucesivas en cada iteración.
(Joyanes y Otros, 1999:296)
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas
Mientras el resultado de la expresión lógica sea Verdadero, se realizarán iteraciones donde se ejecutarán
las acciones encerradas en el cuerpo del bucle.
Funcionamiento
Mientras Expresión Lógica Hacer
Acción o Acciones
Fin Mientras
Formato
Estructura Repetitiva Mientras
(Joyanes,1998:148)
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas
Suma 0
Articulo 0
Mientras (Articulo < 3) Hacer Articulo Articulo + 1
Escribir “Introduzca Precio del Artículo # ”, Articulo
Leer Precio
Suma Suma + Precio
Fin MientrasEscribir “El resultado de la suma es = “, Suma
Uso de Contadores y Acumuladores en Ciclos
Estructura repetitiva para sumar los precios de 3 artículos.
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas
Repetir
Acción o Acciones
Hasta Expresión Lógica
Repetir (realizar iteraciones) hasta que la expresión lógica resulte Verdadero.
Estructura Repetitiva Repetir
Formato
Funcionamiento
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas Ejemplo con Estructura Repetir
RepetirEscribir “Introduzca la nota a procesar [0..10]:”Leer nota
Hasta ((nota >=0) Y (nota <= 10))
RepetirEscribir “Introduzca la nota a procesar [0..10]:”Leer notaSi ((nota < 0) O (nota > 10)) Entonces
Escribir “Error, la nota está fuera del rango.”Fin Si
Hasta ((nota >=0) Y (nota <= 10))
Validación de un dato de entrada:
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas
Para Variable = Vi Hasta Vf Inc o Dec [Valor]
Acción o Acciones
Fin Para
Realiza una iteración por cada valor que tome Variable.
Estructura Repetitiva Para
Formato
Funcionamiento
Algoritmos y Estructuras de Datos I (230-1214)
Unidad I. Algoritmos y Programas Ejemplo con Estructura Repetitiva Para
Suma 0Para Articulo = 1 Hasta 3
Escribir “Introduzca Precio del Artículo # ”, ArticuloLeer PrecioSuma Suma + Precio
Fin ParaEscribir “El resultado de la suma es “, Suma
Estructura repetitiva para sumar los precios de 3 artículos.