introduccion a los algoritmos. menu del dia fases para el desarrollo de un programa. partes de un...
TRANSCRIPT
![Page 1: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/1.jpg)
INTRODUCCION A LOS ALGORITMOS
![Page 2: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/2.jpg)
MENU DEL DIA• Fases para el desarrollo de
un programa.• Partes de un programa.• Ejecución de un programa.• Anatomía de un programa.• Datos y tipos de datos.• Tipos de datos primitivos.• Expresiones
• Expresiones aritméticas.• Expresiones relacionales.• Expresiones lógicas.
• Prioridad y asociatividad.• Entrada y salida.
• Entrada.• Salida.• Sobre el LEA y el ESCRIBA
![Page 3: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/3.jpg)
FASES PARA EL DESARROLLO DE UN PROGRAMA
Computadora mata a Flanders
???????
Problema
Algoritmo
Programa
C
![Page 4: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/4.jpg)
FASES PARA EL DESARROLLO DE UN PROGRAMA
Paso 1. Definición y análisis del programa• Comprensión del problema (que me piden?)• Análisis del problema.• Establecer una estrategia de solución del problema (entradas, salidas, proceso).
Computadora mata a Flanders
???????
![Page 5: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/5.jpg)
FASES PARA EL DESARROLLO DE UN PROGRAMA
Paso 2. Diseño del algoritmo
• Diagrama de flujo. (FreeDFD: http://wiki.freaks-unidos.net/freedfd/index )• Pseudocódigo. (PseInt: http://pseint.sourceforge.net/ ).
![Page 6: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/6.jpg)
FASES PARA EL DESARROLLO DE UN PROGRAMA
Paso 3. Codificación del programa
Recordemos, un programa es un conjunto de instrucciones (dadas a la maquina) que producirán la ejecución de determinada tarea.
C
![Page 7: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/7.jpg)
FASES PARA EL DESARROLLO DE UN PROGRAMA
Paso 4. Depuración
• Probar el funcionamiento del programa bajo condiciones reales para buscar errores y corregirlos.• Hacer mas robusto el programa.
![Page 8: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/8.jpg)
FASES PARA EL DESARROLLO DE UN PROGRAMA
Paso 5. Documentación• Explicación breve de los diferentes elementos del programa para facilitar la comprensión de su funcionamiento.
http://en.wikipedia.org/wiki/Comparison_of_documentation_generators
![Page 9: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/9.jpg)
FASES PARA EL DESARROLLO DE UN PROGRAMA
Paso 6. Mantenimiento
• Mejoras.• Corrección de nuevos fallas.• Soporte.
![Page 10: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/10.jpg)
PARTES DE UN PROGRAMA
ENTRADA SALIDA
INSTRUCCIONES
![Page 11: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/11.jpg)
EJECUCION DE UN PROGRAMA
LINEAL (Ejecución secuencial)
1
2
3
N
. . .
1
2
3
N
. . .
NO LINEAL (Interrupción mediante instrucciones de
bifurcación).
![Page 12: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/12.jpg)
ANATOMIA DE UN PROGRAMADeclaración de
variables
Algoritmo(sumar) Variables: a, b, c: entero INICIO ESCRIBA(“Introduzca el primer numero (entero)”) LEA(a) ESCRIBA(“Introduzca el segundo numero (entero)”) LEA(b) c a + b ESCRIBA(“La suma es: ”,c) FIN_INICIOFin(sumar)
Instrucciones
Algoritmo(Nombre_algoritmo) Declaracion_de_variables INICIO INSTRUCCIÓN_1 INSTRUCCIÓN_2 INSTRUCCIÓN_3 . . . INSTRUCCIÓN_N FIN_INICIOFin(Nombre_algoritmo)
![Page 13: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/13.jpg)
ANATOMIA DE UN PROGRAMAAlgoritmo(Nombre_algoritmo) Declaracion_de_variables INICIO INSTRUCCIÓN_1 INSTRUCCIÓN_2 INSTRUCCIÓN_3 . . . INSTRUCCIÓN_N FIN_INICIOFin(Nombre_algoritmo)
variable variable, constante, expresión
Operador de asignación (,=)
b 3c -9.8d “Nerón Navarrete”
b ac fd ñ
b a + 4*gc c + 1z (x+y)/w + v^3
variable variable variable constante variable expresión
![Page 14: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/14.jpg)
DATOS Y TIPOS DE DATOSDato Expresión general la cual describe los objetos con los cuales opera la computadoras.
NO LINEAL (Interrupción mediante instrucciones de
bifurcación).Tipo
Los distintos tipos de datos se representan en forma diferente en la computadora
Compuestos
Simples
10010100111 . . . 1001 Tipo de dato (Abstracción)
Representación en la maquina Lenguajes de alto nivel
![Page 15: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/15.jpg)
TIPOS DE DATOS PRIMITIVOS
![Page 16: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/16.jpg)
TIPOS DE DATOS PRIMITIVOS
Tipos de datos simples
• Numéricos (Enteros, reales).• Lógicos (booleanos).• Alfanuméricos (Carácter, cadenas).
Enteros: Representan los números enteros, no poseen parte decimal, ejemplo: 5, 6, -15, -100,1000,…
Reales: Representan números reales, poseen parte decimal, ejemplo: 0.08, 3.14, 3.7452, -8.003, 3.0.
Booleanos: Aquellos que pueden tomar dos posibles valores; falso (false) o verdadero (true).
Alfanuméricos: Conjunto finito y ordenado que el computador reconoce
![Page 17: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/17.jpg)
EXPRESIONESLas expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales
Variables
Constantes
Operadores
Función raíz cuadrada
![Page 18: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/18.jpg)
EXPRESIONES ARITMETICASLas expresiones aritméticas son análogas a las formulas matemáticas. Las variables y constantes son numéricas (real o entera) y las operaciones son las aritméticas.
Operador Operación
+ Suma
- Resta
* Multiplicación
/ División
^ Potenciación
div División entera
mod, % Módulo (residuo)
![Page 19: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/19.jpg)
REGLAS DE PRIORIDAD Y ASOCIATIVIDAD
Cuando se tiene una expresión con dos o mas operandos, las operaciones se llevan a cabo siguiendo un orden. Las reglas que dictan que operaciones se hacen primero y que operaciones se hacen de ultimo se conocen como reglas de prioridad o precedencia, y son:• Las operaciones que están encerradas entre paréntesis se evalúan primero. Si existen paréntesis anidados (unos dentro de otros), las expresiones mas internas se evalúan primero.• Las operaciones aritméticas dentro de una expresión suelen seguir el siguiente orden de prioridad.
Prioridad Operación
1 ^
2 *,/,%
3 +,-Cuando coinciden varios operadores de igual prioridad en una expresión, hablamos de asociatividad. La asociatividad dicta el orden en que se ejecutan las operaciones de igual prioridad.
Operación Asociatividad
^ D I
*,/,% I D
+,- I D
D: Derecha I: Izquierda
![Page 20: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/20.jpg)
REGLAS DE PRIORIDAD Y ASOCIATIVIDADPrioridad Operación Asociatividad
1 ^ D I
2 *,/,% I D
3 +,- I D
-4*7 + 2^3/4 - 5
-4*7 + 8/4 - 5
-28 + 8/4 - 5
-28 + 2 - 5
-26 - 5
-31
4/2*3/6 + 6/2/1/5^2/4*2
4/2*3/6 + 6/2/1/25/4*2
8*3/6 + 6/2/1/25/4*224/6 + 6/2/1/25/4*24 + 6/2/1/25/4*2
4 + 3/1/25/4*24 + 3/25/4*24 + 0.12/4*24 + 0.03*24 + 0.06
4.06
![Page 21: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/21.jpg)
EXPRESIONES RELACIONALESLas expresiones relacionales son operaciones que dan como resultado dos posibles valores, falso (F) o verdadero (V), estas permiten realizar comparaciones de valores de tipo numérico o carácter. El formato general para este tipo de operaciones es:
Operador Operación
< Menor que
> Mayor que
== Igual que
<= Menor o igual que
>= Mayor o igual que
!= Diferente de
expresion1 OPERADOR_RELACIONAL expresion2
![Page 22: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/22.jpg)
EXPRESIONES LOGICASLas expresiones lógicas son operaciones que dan como resultado dos posibles valores, falso (F) o verdadero (V). Los operadores logicos basicos son NOT (no), AND (y) y OR (o).
NOT (~)
a ~a
F V
V F
AND (^)
a b a AND b
F F F
F V F
V F F
V V V
OR
a b a OR b
F F F
F V V
V F V
V V V
![Page 23: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/23.jpg)
PRIORIDAD DE LOS OPERADORES LOGICOS Y RELACIONALES
Al igual que los operadores aritméticos, los operadores lógicos y relacionales presentan un orden de prioridad, la siguiente tabla resume este orden:
Prioridad Operación
1 <, >, <=, >=, ==, !=
2 NOT
3 AND
4 OR
![Page 24: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/24.jpg)
PRIORIDAD Y ASOCIATIVIDAD
La siguiente tabla resume la prioridad y asociatividad de todos los tipos de operadores anteriormente vistos
Prioridad Operador Asociatividad
1 () I D, de adentro hacia afuera
2 ^ D I
3 *,/,% I D
4 +,- I D
5 <. >, <=, >=,==,!= I D
6 NOT D I
7 AND I D
8 OR I D
![Page 25: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/25.jpg)
ENTRADA Y SALIDALas instrucciones de entrada y salida permiten interactuar con el programa.
Instrucciones de entrada (LEA)
Instrucciones de salida (ESCRIBA)
![Page 26: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/26.jpg)
SALIDAPermite mostrar en pantalla los valores almacenados en variables o valores constantes asociados a mensajes.
ESCRIBA(‘cadena1’,…,’cadenaN’,var1,var2,…,varN);
Lo que se encuentra entre comillas sencillas (‘’) es constante, lo que no se encuentra entre comillas es variable.
Constantes Variables
Ejemplo: Supóngase que se tienen las variables enteras: a=3, b = 8 y c = 11.
ESCRIBA(‘a + b = ’,a,’ + ’,b,’ = ’,c)
![Page 27: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/27.jpg)
ENTRADAPermite asignar valores a variables desde un dispositivo de entrada como el teclado.
Ejemplo: Supóngase que se tiene la variable n y que se usa una instruccion lea para asignarle a esta un nuevo valor, la siguiente figura muestra el funcionamiento de dicha instrucción:
LEA(n)
LEA(var1,var2,…,varN);
Variables
![Page 28: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/28.jpg)
SOBRE EL LEA Y EL ESCRIBACuando se invoca la instrucción LEA, el programa se queda esperando hasta que el usuario digite el valor a ingresar y presione la letra entre para continuar.
Generalmente antes de una instrucción LEA hay una instrucción ESCRIBA .
ESCRIBA(‘Digite el nombre: ’’,c)LEA(nom)ESCRIBA(‘Meta la edad y el sexo (F: Femenino, M: Masculino)LEA(edad, sexo)ESCRIBA(nom,‘ usted tiene ’,edad,‘ años.’)
![Page 29: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/29.jpg)
FUNCIONES INTERNASLas operaciones que se requieren en los programas exigen en numerosas ocasiones, además de las operaciones aritméticas básicas, un numero determinado de operadores especiales que se llaman funciones internas, incorporadas o internas.
Funcion Descripción Tipo de argumento Resultado
exp(x) Exponencial de x Entero o real Real
ln(x) Logaritmo natural de x Entero o real Real
log10(x) Logaritmo en base 10 de x Entero o real Real
redondeo(x) Redondeo de x Entero Entero
trunc(x) Truncamiento de x Real Entero
cuadrado(x) Cuadrado de x Entero o real Real
raiz2(x) Raiz cuadrada de x Entero o real Real
abs(x) Valor absoluto de x Entero o real Igual que el argumento
![Page 30: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/30.jpg)
FUNCIONES INTERNASLas funciones aceptan argumentos reales o enteros y sus resultados dependen de la tarea que realice la función.
Funcion Resultado
raiz2(25) 5
redondeo(6.6) 7
redondeo(3.1) 3
redondeo(-3.2)
-3
trunc(5.6) 5
trunc(3.1) 3
trunc(-3.8) -3
cuadrado(4) 16
abs(9) 9
abs(-12.2) -12.2
![Page 31: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/31.jpg)
MAS CARRETA
![Page 32: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/32.jpg)
BIBLIOGRAFIA
![Page 33: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/33.jpg)
BIBLIOGRAFIA
Titulo: Lógica de Programación.Autor: Efraín M. Oviedo.Editorial: ECOE Ediciones.Fecha de publicación: 11/20/2008ISBN: 9586483088.OLC: http://ingenieria.udea.edu.co/~eoviedo/
Titulo: Fundamentos de Programación. Autor: Luis Joyanes Aguilar.Editorial: ECOE Ediciones.Fecha de publicación: 27/05/2008ISBN: 8448161114OLC: http://www.mhe.es/joyanes
![Page 34: INTRODUCCION A LOS ALGORITMOS. MENU DEL DIA Fases para el desarrollo de un programa. Partes de un programa. Ejecución de un programa. Anatomía de un programa](https://reader036.vdocuments.co/reader036/viewer/2022062305/5665b4b31a28abb57c935258/html5/thumbnails/34.jpg)
FIN DE LA CLASE