Sunteți pe pagina 1din 21

Definicin de Algoritmo.

Caractersticas de los algoritmos.


Anlisis Descendente.
Estructuras Algortmicas.
Programacin estructurada

Pasos de la Programacin.
Codificacin vs. Programacin.

ALGORITMO
Un algoritmo es un conjunto ordenado y finito de
instrucciones que conducen a la solucin de un problema.

ALGORITMO COMPUTACIONAL
Si un algoritmo puede ser ejecutado por una computadora

PROBLEMA

ALGORITMO

PROGRAMA

PROGRAMA
Un programa es la implementacin o expresin de un
algoritmo en un determinado lenguaje de programacin
siguiendo las reglas establecidas por el lenguaje elegido

CARACTERISTICAS DEL ALGORITMO


Debe ser preciso, es decir, cada instruccin
debe indicar de forma inequvoca que se tiene
que hacer.
Debe ser finito, es decir, debe tener un nmero
limitado de pasos.

Debe ser definido, es decir, debe producir los


mismos resultados para las mismas condiciones
de entrada.

PASOS PARA CREAR UN BUEN


ALGORITMO ( Anlisis Descendente )
1. Descomposicin del problema en
subproblemas ms simples.
2. Combinando las estructuras algortmicas
bsicas, resolver cada subproblema.
3. Ensamblar las soluciones de cada subproblema.

VENTAJAS
Reutilizar algoritmos existentes.
Permite lo que se conoce como programacin
modular

PARTES DE UN ALGORITMO
Entrada de datos.
Proceso.
Salida de resultados.

ENTRADA

PROCESO

SALIDA

Algoritmo: Expresar en centmetros y pulgadas una


cantidad dada en metros.
Entrada:
La cantidad M de metros
Proceso:
Clculo de centmetros : C = M*100
Clculo de pulgadas : P = C/2.54
Salida :

La cantidad C de centmetros y la cantidad P de


pulgadas
algoritmo computacional escrito en lenguaje natural

PSEUDOCODIGO
Es un lenguaje de pseudoprogramacin utilizado para
escribir algoritmos computacionales.
El pseudocdigo es una imitacin de uno o ms lenguajes
de programacin, conservando lo bsico del Leng natural.
No hay estndares.
INICIO
// Declaracin de variables
REAL base, altura, area, perimetro
// Entrada de datos
LEER base, altura
// Proceso de clculo
area = base*altura
perimetro = 2*(base+altura)

// Salida de resultados
IMPRIMIR area, perimetro
FIN

Algoritmo: Halle
el rea y el
permetro de un
rectngulo.

ESTRUCTURAS ALGORITMICAS
1. Secuencia: Sucesin simple de dos o mas acciones, una
despus de la otra, en el mismo orden en que aparecen.
2. Seleccin: Estructura SI-CIERTO-FALSO, plantea la seleccin
entre dos alternativas con base en el resultado de la evaluacin
de una condicin; equivale a la instruccin IF de todos los
lenguajes de programacin
3. Iteracin: Estructura HACER-MIENTRAS-QUE, corresponde a la
ejecucin repetida de una instruccin mientras que se cumple
una determinada condicin.
REPRESENTACION GRAFICA

SECUENCIA

SELECCION

ITERACION

PROGRAMACION ESTRUCTURADA
EL Teorema de la Programacin estructurada,
demostrado por Edsger Dijkstra (1930-2002) en
los aos sesenta, demuestra que todo programa
puede escribirse utilizando nicamente las tres
instrucciones LOGICAS de control : SECUENCIA,
SELECCIN E ITERACION.
Un programa estructurado se compone de
funciones, segmentos, mdulos y/o subrutinas,
cada una con una sola entrada y una sola
salida., y en ejecucin no tiene partes por las
cuales nunca pasa, ni tiene ciclos infinitos.
"programacin sin GOTO"

PASOS EN LA PROGRAMACION
1.- Definicin del problema
El problema debe estar bien definido, y deben eliminarse
las ambigedades y la incertidumbre.
1.a.- Especificacin de entradas
- Descripcin de los datos de entrada del programa:
- Valores especficos de entrada, Formato, Rango de
validez
1.b.- Especificacin de salidas
- Descripcin de los datos de salida del programa:
- Valores que deben ser producidos: Formato: precisin,
cifras significativas, ubicacin en la pantalla, Rango de
validez
1.c- Procesamiento especial
- Verificar y procesar ciertas condiciones que podran
llevar a error o que requieran un procesamiento especial.

PASOS EN LA PROGRAMACION
2.- Esquema de la solucin
Un programa no se compone de una nica tarea,
sino de varias tareas interrelacionadas. Hay que
descomponer un problema en sub-partes y hacer
un esquema de la solucin.
3.- Seleccin y Representacin de Algoritmos
Seleccionar los algoritmos que resolvern las
sub-tareas que conforman el programa

PASOS EN LA PROGRAMACION
4.- Codificacin
Es el Proceso de traducir los algoritmos a un lenguaje
de programacin.
5.- Eliminacin de Errores
Debemos ubicar y corregir los inevitables errores.
6.- Prueba y validacin
Resultados correctos, en todos los posibles casos.
7.- Documentacin
Documentacin tcnica, manuales, ayuda referente al
programa y su funcionamiento.

PROGRAMACION
Serie completa de pasos involucrados
en la resolucin de un problema
utilizando el computador

CODIFICACION
Se refiere al proceso de escribir
instrucciones en un lenguaje de
programacin particular.

Estructura Secuencial
Una estructura secuencial es aquella en la que las
instrucciones estn una a continuacin de la otra
siguiendo una secuencia nica, sin cambios de ruta.
La estructura secuencial tiene una entrada y una salida.
Diagrama de Flujo

Pseudo cdigo

Inicio
.
accin 1
accin 2
accin 3

Fin

Algoritmo: Expresar en centmetros y pulgadas una


cantidad dada en metros.
Entrada: metros, Pre-cond: numero real positivo
La cantidad M de metros
Proceso:
Clculo de centmetros: C = M*100
Clculo de pulgadas: P = C/2.54
Salida : Post-cond: valores reales positivos

La cantidad C de centmetros y la cantidad P de


pulgadas
algoritmo computacional escrito en lenguaje natural

PSEUDOCODIGO
Es un lenguaje de pseudo programacin utilizado para
escribir algoritmos computacionales.

Algoritmo: Halle
el rea y el
permetro de un
rectngulo.

INICIO
// Declaracin de variables
// variables de entrada
REAL base, altura
// variables de proceso y salida
REAL area, perimetro
// Entrada de datos Pre: reales positivos
LEER base, altura
// Proceso de clculo
area = base*altura
perimetro = 2*(base+altura)
// Salida de resultados Post: reales
IMPRIMIR area, perimetro
FIN

Variables
Una variable es una localizacin o casillero en la memoria
principal que almacena un valor
Para almacenar un dato, se necesita una variable.
Partes de una variable: nombre, tipo y valor.
Las variables deben ser declaradas antes de asignarles un valor.
Declaracin de una variable:
tipo nombre
Declaracin de varias variables con el mismo tipo de dato:
tipo nombre1, nombre2, nombre3, ..., nombren
Tipo puede ser: ENTERO, REAL, CARCTER,
CADENA o LOGICO

Variables
Nombre: El nombre de una variable debe comenzar con una letra,
puede tener nmeros y el smbolo _ .
EJEMPLOS: Declaracin de variables
ENTERO
REAL

edad
descuento

Esto crea los casilleros de memoria edad y descuento.


edad
descuento
ENTERO nota_1, nota_2, nota_3
Esto crea los casilleros de memoria nota_1, nota_2 y nota_3.
nota_1
nota_2
nota_3

Instrucciones Algortmicas Bsicas


3. Asignacin:
Asignar a una variable el valor de una expresin. La expresin
puede ser una simple variable, un simple literal o una
combinacin de variables, literales y operadores
variable = expresin
La variable y el valor de expresin deben tener el mismo tipo de
dato.
Cuando se asigna un valor ENTERO a una variable REAL,
entonces el valor ENTERO se convertir en REAL antes de
almacenarse.
Ej: REAL metro, centimetro
LEER metro
centimetro = metro * 100

// asignacin, Valor de la variable

Ejemplo: Disee un pseudo cdigo que halle el rea y el permetro de


un rectngulo. Usando valores dados de la base y la altura
Considere que: area = base x altura ; perimetro = 2 x (base+altura).

INICIO
// Declaracin de variables de entrada
// Precondicin: base y altura deben ser mayor que cero
REAL base, altura
// Declaracin de variables de salida
REAL area, perimetro
// Entrada de datos
LEER base, altura
// Proceso de clculo
area = base*altura
perimetro = 2*(base+altura)
// Salida de resultados
IMPRIMIR area, perimetro
FIN

PROGRAMACION ESTRUCTURADA
VENTAJAS
Los programas son ms fciles de entender.
Reduccin del esfuerzo en las pruebas.
Reduccin de los costos de mantenimiento.
Programas ms sencillos y ms rpidos.
Aumento en la productividad del programador.

Los programas quedan mejor documentados.

S-ar putea să vă placă și