Sie sind auf Seite 1von 21

PROGRAMA:

Secuencia de acciones que puedan ser ejecutadas por el ordenador y que


realicen una determinada tarea
Fases:
Analisis del problema propuesto =>
Resolucion y determinacin del algoritmo =>
Codificacin del algoritmo a un lenguaje de programacin
Un algoritmo es la descripcin exacta y sin ambigedades de la
secuencia de pasos elementales a aplicar para, a partir de los datos del
problema, encontrar la solucin buscada. Para que sea completo
deber contemplar todas las alternativas lgicas posibles que las
distintas combinaciones de valores de los datos puedan presentar.
Un algoritmo es un mtodo general de resolucin de todos los
problemas del mismo tipo.
A cada uno de estos pasos se le llama sentencia o instruccin.

El algoritmo se desarrollar en pseudocdigo


Seudocdigo: tcnica de diseo de algoritmos que usa el lenguaje natural
pero
con unas determinadas reglas, palabras y estructuras.
Otras tcnicas de diseo : diagramas de flujo, diagramas Nassi , etc
Mnimo anlisis necesario para resolver un problema:
1.Cules son los datos de entrada?
cmo se van a introducir?
2. Qu salida debe producir el programa ?
Dnde se produce la salida?
3.Qu proceso es necesario realizar con la entrada para llegar a la salida?
Requisitos de un algoritmo:
dirigir al ordenador para realizar una tarea especfica.

DATOS + INSTRUCCIONES

Algoritmo: Juego con el ordenador a adivinarle un nmero


1- Piensa un nmero
2- Pdeme un nmero
3- Toma mi respuesta
4- Si mi nmero es igual al tuyo,
contesta has ganado
si no has perdido
5- Fin juego
Pasos concisos y en orden adecuado. Tendramos que probar su correcto
funcionamiento. Si lo traducimos a un lenguaje de programacin obtenemos el
programa

Algoritmo que diga cual es el Mayor de dos nmeros


1- Pide un nmero al usuario
2- Almacena ese nmero (N1),
3- Pide otro nmero
4- Almacena ese nmero (N2).
5- Compara el primer nmero almacenado (N1) con el segundo (N2)
5.1- Si el primero es mayor escribe en pantalla el valor almacenado
en N1
5.2- Si el primero es menor escribe en pantalla el valor almacenado
en N2
Como vemos, una operacin simple como calcular el mayor de 2
nmeros, tiene que ser subdividida en pasos para detallar un algoritmo
que el ordenador sea capaz de entender, pues aunque ste es capaz
de realizar ciertas operaciones simples como comparaciones, sumas,
restas, tomar decisiones simples, repetir acciones, cualquier otra mas
compleja debe ser divida para que las pueda interpretar.

BUSCAR UN NMERO EN UN
VECTOR LISTA

El programa debe ser capaz de calcular los pasos de bsqueda

El programa debe recorrer el vector para encontrar el nmero objetivo.

El programa debe ser capaz de leer el nmero a buscar.

El programa debe terminar indicando si se ha encontrado el nmero buscado


o n

Mnimo anlisis necesario para


resolver un problema
1.Cules son los datos de

entrada?

cmo se van a introducir?

2. Qu

salida debe producir el programa ?

Dnde se produce la salida?

proceso es necesario realizar con la entrada para llegar a la

3.Qu
salida?

BUSCAR EL MAYOR DE DOS NUMEROS


1- Pide un nmero al usuario
2- Almacena ese nmero (N1),
3- Pide otro nmero
4- Almacena ese nmero (N2).
5- Compara el primer nmero almacenado (N1) con el segundo (N2)
5.1- Si el primero es mayor escribe en pantalla el valor almacenado
en N1
5.2- Si el primero es menor escribe en pantalla el valor almacenado
en N2

Como vemos, una operacin simple como calcular el mayor de 2


nmeros, tiene que ser subdividida en pasos para detallar un algoritmo
que el ordenador sea capaz de entender, pues aunque ste es capaz
de realizar ciertas operaciones simples como comparaciones, sumas,
restas, tomar decisiones simples, repetir acciones, cualquier otra mas
compleja debe ser divida para que las pueda interpretar.

Media de tres nmeros


ALGORITMO Calcular la media
ENTORNO
A, B, C : nmeros enteros
media : nmero real
INICIO
ESCRIBIR " Introducir 3
nmeros"
LEER A, B, C
media = (A + B + C) / 3
ESCRIBIR "La media es:", media
FIN ALGORITMO

Pseudocdigo de un algoritmo que desglosa una cantidad de euros


en billetes de 10 , 5 y monedas de un euro .

ALGORITMO Cajero automtico


ENTORNO
c, M10, M5, M1: nmeros enteros
INICIO
ESCRIBIR " Introducir la cantidad
LEER c
M10 = c /10
c = c %10
M5 = c / 5
M1 = c%5
ESCRIBIR "Billetes de 10::", M10
ESCRIBIR "Billetes de 5::", M5
ESCRIBIR "Monedas de 1::", M1
FIN ALGORITMO

Elementos bsicos , objetos de un programa:


Datos elementales
Identificadores :Variables, constantes
Operadores
Expresiones

Pseudocdigo para representar los


algoritmos
ALGORITMO nombre
//def. Variables globales
ENTORNO
// def. var. Locales principal
nombre Variable : tipo
INICIO
instrucciones o sentencias
// llamada a modulo
NOMBRE-MODULO (parmetros actuales)
// llamada a modulo con retorno
variable = NOMBRE-MODULO ( parmetros actuales)
FIN ALGORITMO

MODULO: NOMBRE ( parmetros formales y su


definicin)
ENTORNO
** def. var. Locales al modulo
INICIO
**puede retornar un valor o ninguno
RETORNAR variable o exp.

FINMODULO

Estructuras de Control
Estructura secuencial: aquella en la que las
instrucciones o sentencias son ejecutadas una a una en
orden.
Se puede alterar esa secuencialidad usando dos
estructuras o sentencias de control distintas. Estas
estructuras permiten variar el flujo de control del
programa dependiendo de ciertas condiciones. Son:
Estructura de seleccin: Permite que se tomen
rutas alternativas de accin dependiendo del resultado
de una operacin.
Estructura repetitiva (iteracin o bucle): Permite
repetir un conjunto de sentencias.

Seudocdigo
Estructuras de Seleccin (condicional)
SI,
SI.SINO
CASO
Estructuras repetitivas o iterativas
MIENTRAS
HACER.MIENTRAS
PARA

Lenguaje de programacin
if ,
if .else
switch
do.while
for
break
continue

SI ,

SI..SINO

Una condicin es una expresin que puede ser verdadera o falsa.


La condicin SIEMPRE debe ir entre parntesis.
Funcionamiento: Se determina si la condicin es cierta o falsa.
Si es cierta, el programa ejecuta un bloque de cdigo (el Bloque Verdad)
Si es falsa se ejecuta otro bloque distinto si lo hay (el Bloque Falso).
Si el bloque slo tiene una sentencia, las llaves se pueden quitar.
SI anidadas
Cada else se corresponde con el if ms prximo que no se haya emparejado

Alternativa multiple
La sentencia caso se usa cuando existe una decisin mltiple.
La expresin podr tomar valores enteros o de tipo carcter

Funcionamiento:
.- Se evala la expresin y se compara el valor con aquellos que van despus
de la palabra case.
.- Si alguno coincide, se ejecutan todas las instrucciones que vayan despus
de los dos puntos hasta encontrar una break.
No es obligatorio que haya un break por cada case, si no existe se seguirn
ejecutando las instrucciones de los siguientes case hasta encontrar el break o
hasta el final de caso.
Si no coincide ningn valor se ejecutan las instrucciones de la opcin otro
caso.
La opcin otro caso no es obligatoria.

Bucle Mientras

Funcionamiento:

Se evala la condicin de control del bucle.


Si la condicin es cierta se ejecuta el bloque de sentencias y se vuelve a
evaluar la condicin.
Si la condicin es falsa se termina el bucle y se ejecuta lo que haya a
continuacin.
Es decir, el bucle se ejecuta mientras la condicin es cierta.
Si la condicin es inicialmente cierta, el bucle no terminar (bucle infinito)
a menos que en el cuerpo del mismo se modifique de alguna forma la
condicin de control del bucle.
Importante: La condicin de terminacin se comprueba cada vez ANTES
de ejecutarse el cuerpo del bucle (Bloque de Sentencias).
Si la condicin es inicialmente cierta, el bucle no terminar (bucle infinito)
a menos que en el cuerpo del mismo se modifique de alguna forma la
condicin de control del bucle.

Bucle hacer.mientras

Funcionamiento:
Se ejecuta el Bloque de
sentencias y luego se evala la
condicin.
Si sta es cierta se vuelve al
principio del bucle.
Si es falsa se termina.
La condicin se comprueba cada vez
DESPUS de la ejecucin del cuerpo del
bucle.
Por tanto, el Bloque de Sentencias siempre se ejecuta como mnimo una vez.

hacer

.
mientras( concicin)

Pseudocdigo de un algoritmo que desglosa una cantidad de euros


en billetes de 10 , 5 y monedas de un euro .

ALGORITMO Cajero automtico


ENTORNO

c, M10, M5, M1: nmeros enteros


INICIO
ESCRIBIR " Introducir la cantidad
LEER c
M10 = c /10
c = c %10
M5 = c / 5
M1 = c%5
ESCRIBIR "Billetes de 10::", M10
ESCRIBIR "Billetes de 5::", M5
ESCRIBIR "Monedas de 1::", M1
FIN ALGORITMO