Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
DE DATOS I
Ing. Erick Nez Tarrillo
Correo Electrnico
c11196@utp.edu.pe
Horario
Mircoles 8:45 p.m. a 11:00 p.m.
Objetivos Generales:
1. Introducir al alumno en el anlisis de los
algoritmos, as como en el diseo e implementacin
de stos con un leguaje de programacin.
2. Desarrollar habilidades en el uso de las tcnicas
de anlisis y diseo de algoritmos.
Temas a Tratar
SECUENCIAL
SELECTIVAS
REPETITIVAS
INTRODUCCION
QUE ES UN ALGORITMO
1. Conjunto ordenado y finito de operaciones que
Definicin de algoritmo
Propiedades de un algoritmo
Finitud
La ejecucin de un algoritmo ha de terminar despus de
un nmero finito de etapas.
Precisin
Cada etapa ha de estar especificado rigurosamente. La
ejecucin de un algoritmo no ha de dejar espacio para la
interpretacin, la intuicin o la creatividad
Caractersticas de un algoritmo
Entradas
Un algoritmo tiene cero o ms entradas
(cantidades que se le dan inicialmente antes de que comience
su ejecucin).
Salidas
Un algoritmo tiene una o ms salidas (cantidades que tienen
una relacin especfica con las entradas)
Datos:
Segn sus caractersticas, los datos pueden
ser:
TIPOS DE SOFTWARE:
Programa 1
Programa 2
- Sistemas operativos
Programa 3
int main() {
float r,s,x;
cout<<"Ingrese 2 numeros enteros"<<endl;
cin>>x>>s;
r=x+s;
cout<<"La suma es "<<r<<endl;
return 0;
}
Alto Nivel
Bajo Nivel
Maquina
Traductores de lenguaje
Si el computador
solo entiende binario
como es que puede
ejecutar los
programas que
nosotros escribimos?
???????
Computadora
mata a Flanders
Traductores de lenguaje
Son los programas que
traducen a su vez los
programas fuente escritos en
lenguajes de alto nivel a
cdigo de maquina.
Clasificacin:
Compiladores: Lenguaje de
alto nivel --> Lenguaje de
maquina.
Interprete: Un traductor que
toma un programa fuente, lo
traduce y a continuacin lo
ejecuta.
ETAPAS EN LA
RESOLUCION DE PROBLEMAS
RESOLUCION
DE UN PROBLEMA
ANALISIS DEL
PROBLEMA
DISEO DEL
ALGORITMO
RESOLUCION
DEL PROBLEMA EN
COMPUTADORA
CODIFICACION
DEL PROGRAMA
EJECUCION
DEL PROGRAMA
COMPROBACION
DEL PROGRAMA
ETAPAS EN LA
RESOLUCION DE PROBLEMAS
ETAPAS EN LA
RESOLUCION DE PROBLEMAS
CODIFICACION DEL PROBLEMA: es la conversin
del algoritmo y/o diagrama de flujo a un lenguaje
de programacin.
EJECUCION DEL PROGRAMA: permite ver en la
computadora el programa en funcionamiento.
COMPROBACION DEL PROGRAMA: permite
verificar la correcta ejecucin del mismo, teniendo
en cuenta los diferentes tipos de errores (lgicos y
de sintaxis). Una comprobacin sucesiva del
programa permitir localizar , verificar y corregir
los posibles errores, con lo que se conforma la
puesta a punto del programa.
Representacin de algoritmos.
Descripcin Narrada
Pseudocdigo
Diagramas de Flujo
Diagramas N- S (Nassi-Schneiderman o de
Chapin)
Pseudocdigo
Pseudo = falso.
Es una tcnica para diseo de programas que permite definir
las estructuras de datos, las operaciones que se aplicarn a los
datos y la lgica que tendr el programa de computadora para
solucionar un determinado problema
Ejemplo 1
Disear un algoritmo que lea cuatro variables y calcule e imprima su producto, suma y media
aritmtica.
Inicio
Leer (a, b, c, d)
producto (a * b * c * d)
suma (a + b + c + d)
media (a + b + c + d) / 4
escribir (producto, suma, media)
Fin
Ejemplo 2
Disear un algoritmo que lea dos numeros
enteros y si son diferentes de cero calcule e
imprima su producto, en caso contrario calcule
y muestre el promedio de los dos.
Analisis
Diseo del Algoritmo
Inicio
Leer (a, b)
Si ((a<>0) y (b<>0)) entonces
producto (a * b)
Sino
media (a + b) / 2
Fin si
escribir (producto, media)
Fin
Diagramas de Flujo.
Son la representacin grfica de la solucin
algortmica de un problema.
Simbologa bsica para disear flujogramas.
Inicio/Fin
Salida por
impresora
Decisin
Proceso
Conector pginas
diferentes
Conector misma
pgina
Entrada/
Salida
Diagrama de flujos
Para su elaboracin se siguen ciertas reglas:
Se escribe de arriba hacia abajo y de izquierda a
derecha
Siempre se usan flechas verticales u horizontales, jams
curvas
Evitar cruce de flujos
En cada paso expresar una accin concreta
a,b
Si
No
a<>0 y b<>0
Producto a*b
Media (a+b)/2
Producto
Media
Fin
DIAGRAMA DE FLUJO
NOMENCLATURA
Inicio
Escribir
Mensaje 1
Definicin de variables
Variables
Entero var1, x, y
Real a, b
Lectura de mensajes
Transformacin de datos
Operaciones sobre los datos
a=3*x+ y
b = a / var1
V
Si a > b
Inicio
Impresin de mensajes
Leer
var1,x, y
Inicio de Algoritmo
Bifurcacin en la ejecucin de
instrucciones
Conector
Fin
Fin de algoritmo
Escribir (Mensaje 1)
Leer (var1, x, y)
a=3*x+ y
b = a / var1
Si a > b Entonces
Inicio
Instrucciones
Fin
Sino
Inicio
Instrucciones
Fin
Fin
Entero var1, x , y
Real a, b
PSEUDO-CDIGO
Ejercicio de Programacin
Realizar un Algoritmo en pseudo cdigo y
diagrama de flujo que permita calcular el
rea de un triangulo, dada su base y su
altura
Aplicar formula:
Multiplicar base * altura y dividirlo entre 2 o
Diagrama de flujo
Inicio
A 0
Pseudocodigo Triangulo
Variables
B, h, A
Inicio
B, h
A0;
A (B*h)/2
Leer(B,h);
A (B*h)/2;
El rea es: A
Un Operador:
es un smbolo o
palabra que
significa que se ha
de realizar cierta
accin entre uno o
dos valores que son
llamados
operandos.
Tipo
Operador
De asignacin
Matemticos
Relacionales
Lgicos
+
*
/
^
Div
Mod
Significado
Asignacin
Suma
Resta
Multiplicacin
Divisin
Potencia
Divisin entera
(cociente)
Mdulo
<
>
<=
>=
=
<>
Menor que
Mayor que
Y
O
No
Y lgico
O lgico
Negacin lgica
Ejemplo:
X A+B
X2
X a^2 +d
()
+/-
signo
Potencia
*y/
Producto y divisin
Div
Division entera
Mod
Residuo
+y-
Suma y resta
+o&
Concatenacin
>,<,>=,<=, <>,=
Relacionales
Not
Negacin
And
Or