Академический Документы
Профессиональный Документы
Культура Документы
I
Ing. Erick Nez Tarrillo
Correo Electrnico
c11196@utp.edu.pe
Horario
Sabado 6:30 p.m. a 8:45 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
1.- INTRODUCCION Y CONCEPTOS
GENERALES
2.- REPRESENTACION DE UN ALGORITMO
3.- LENGUAJE C
4.- INSTRUCCIONES BASICAS
5.- ESTRUCTURAS DE CONTROL
SECUENCIAL
SELECTIVAS
REPETITIVAS
INTRODUCCION
QUE ES UN ALGORITMO
1. Conjunto ordenado y finito de
operaciones que permite hallar la
solucin de un problema.
2. Mtodo y notacin en las distintas
formas del clculo.
Real
Academia Espaola
Definicin de algoritmo
Secuencia ordenada de pasos exentos de
ambigedad tal que, al llevarse a cabo con
fidelidad, dar como resultado que se realice la
tarea para la que se ha diseado en un tiempo
finito.
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:
- Sistemas operativos
Programa
1
Programa
2
Programa
3
MEMORIA RAM
intmain(){
floatr,s,x;
cout<<"Ingrese2numerosenteros"<<endl;
cin>>x>>s;
r=x+s;
cout<<"Lasumaes"<<r<<endl;
return0;
}
;Lenguajeensamblador,sintaxisIntelpara
procesadoresx86
moveax,1;mueveaalregistroeaxelvalor1
xorebx,ebx;poneen0elregistroebx
int80h;llamaalainterrupcin80h(80h=128
sistemadecimal)
Traductores de
lenguaje
Si el
computador solo
entiende binario
como es que
puede ejecutar
los programas
??????
que nosotros
?
escribimos?
Computado
ra mata a
Flanders
Traductores de
lenguaje
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
Ejemplosolucionar
1
para
un determinado problema
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/Fi
n
Salida por
impresora
Decisi
n
Proceso
Conector
pginas
diferentes
Conector misma
pgina
Entrad
a/Salid
a
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
Si
a<>0 y b<>0
No
Producto a*b
Media (a+b)/2
Producto
Media
Fin
DIAGRAMA DE FLUJO
NOMENCLATURA
Entero var1, x , y
Real a, b
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
Inicio
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
Anlisis del
problema
Objetivo del
problema:
Procesamiento:
Aplicar formula:
Multiplicar base * altura y dividirlo entre 2 o
Multiplicar base* altura * 0.5
Documentacin
B = base del triangulo
de variables:
h = altura del triangulo
A= rea del triangulo
Diagrama de
flujo
Inicio
A 0
Pseudocodigo Triangulo
Variables
B, h, A
Inicio
B, h
A0;
Escribir(Introduzca la base y la
altura del triangulo);
A (B*h)/2
Leer(B,h);
A (B*h)/2;
El rea es: A
Fin
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
Operado
r
De
asignacin
Matemtic
os
+
*
/
^
Div
Mod
Relacionale
s
Lgicos
Significado
Asignacin
Suma
Resta
Multiplicacin
Divisin
Potencia
Divisin entera
(cociente)
Mdulo
<
>
<=
>=
=
<>
Menor que
Mayor que
Y
O
No
Y lgico
O lgico
Negacin lgica
mod valor
Ejemplo:
X 15 mod 2
Esto da como resultado 1, ya que
es el residuo de la division
div valor
Ejemplo:
X 15 div 2
Esto da como resultado 7, ya que
es la parte entera del cociente
de la divisin
()
+/-
signo
Potencia
*y/
Producto y divisin
Div
Division entera
Mod
Residuo
+y-
Suma y resta
+o&
Concatenacin
>,<,>=,<=, <>,=
Relacionales
Not
Negacin
And
Or