Está en la página 1de 36

Ing.

Henry Bermejo Terrones


SESIN 02

ALGORITMOS Y PROGRAMAS.
PROGRAMAS RESUELTOS POR
COMPUTADORAS Y HERRAMIENTAS
DE PROGRAMACIN.

CURSO: LENGUAJES DE PROGRAMACIN


Algoritmos
y
Programas
Introduccin
El objetivo de esta sesin
consistir en explicar los
conceptos de algoritmo, programa
y lenguaje de programacin. As
como explorar otros temas
concurrentes.
HISTORIA
La palabra algoritmo se
deriva de la traduccin al
latn de la palabra rabe
Al-khowarizmi (780-850),
nombre de un
matemtico y astrnomo
rabe que escribi un
tratado sobre
manipulacin de
nmeros y ecuaciones
en el siglo IX.
Definiciones:
Un algoritmo consiste en el grupo de
instrucciones que definen la secuencia de
operaciones a realizar para resolver un
sistema especfico o clase de problema.

Un algoritmo es un conjunto finito de pasos


definidos, estructurados en el tiempo y
formulados con base a un conjunto finito de
reglas no ambiguas, que proveen un
procedimiento para dar la solucin o indicar
la falta de esta a un problema en un tiempo
determinado.
Definiciones:
Descripcin exacta de la secuencia en que se
ha de realizar un conjunto de actividades
tendientes a resolver un determinado tipo de
problema o procedimiento.

Conjunto ordenado y finito de pasos que


permite hallar la solucin de un problema.

Es un sistema por el cual se llega a una


solucin, teniendo en cuenta que debe de ser
definido, finito y preciso.
..
Caractersticas de los
algoritmos
Preciso, indicar el orden de cada paso.
Definido, el mismo resultado se
obtendr al ejecutar el algoritmo n
ocasiones.
Finito, deber terminar en algn
momento.
PARTES DE UN ALGORITMO
Metodologa
La metodologa de la programacin es
aquella que es necesaria para resolver
problemas mediante programas, su eje
es el algoritmo.
Pasos para la solucin
de un problema
El diseo del algoritmo describe el
anlisis del problema y desarrollo
del algoritmo.
Expresar el algoritmo como un
programa en un lenguaje de
programacin.
Ejecutar y validar el programa por
la computadora.
Los lenguajes de programacin

Cuando el procesador de datos es una


computadora entonces el algoritmo de
solucin se expresa en un programa.
Por tanto, un programa es escrito en un
lenguaje de programacin.
Luego, la programacin consiste en
expresar las operaciones en forma de
programa de un algoritmo.
Tipos de lenguajes
Mquina; escritos en cdigo binario.

Bajo
nivel (ensamblador); escrito en
nemotcnicos.

Alto
nivel; diseados para ser
entendidos por el ser humano.
Traductores del Lenguaje
A) Intrpretes; Toma un
programa fuente lo traduce e
inmediatamente lo ejecuta.

Traduccin
Programa fuente Intrprete y ejecucin
en lnea
Traductores del Lenguaje
(cont.)
B) Compiladores; traduce un
programa fuente a cdigo objeto.
Programa Programa Programa
fuente Objeto ejecutable

Compilador Montador
(Compiler) (Linker)
Datos primitivos
Datos

Numrico Carcter Lgico

Entero Real
PROBLEMAS RESUELTOS
CON COMPUTADORAS Y
HERRAMIENTAS DE
PROGRAMACION

22/09/2017 16
2.1 SOLUCIN DE PROBLEMAS

Fases de fragmentacin:
Anlisis del problema: definicin concisa
a fin de que sea analizado en todo
detalle.
Diseo del algoritmo: procedimiento,
paso a paso, para la solucionar el
problema dado.
Solucin del algoritmo con la
computadora: codificacin del algoritmo
en un lenguaje de programacin
22/09/2017 17
2.2 ANLISIS DEL PROBLEMA
El propsito es ayudar al programador a
llegar a un cierto grado de comprensin
de la naturaleza del problema.

Una buena definicin del problema,


junto con una descripcin detallada de
entrada y salida, son los requisitos ms
importantes para una solucin eficaz.

22/09/2017 18
2.2 ANLISIS DEL PROBLEMA cont.
1. Que informacin debe proporcionar la
solucin del problema.
Solucin del
Problema

Anlisis del Diseo del Solucin por


Problema algoritmo computadora
2.2 ANLISIS DEL PROBLEMA cont.
2. Que datos se necesitan para resolver
el problema.
Anlisis del
Problema

Definicindel Especificaciones Especificaciones


Problema de entrada de salida
2.3 DISEO DEL ALGORITMO
La informacin proporcionada al algoritmo
constituye su entrada y la informacin
producida constituye su salida.

Los problemas complejos se resuelven


eficazmente si se fragmentan en
subproblemas que sean ms sencillos de
solucionar que el original. Esta tcnica es
conocida como divide y vencers (divide and
conquer).
2.3 DISEO DEL ALGORITMO cont.
La descomposicin del problema
original en subproblemas cuya solucin
puede implementarse a travs de la
computadora se le denomina diseo
descendente (top down design)
La descripcin detallada de la solucin
mediante pasos especficos se le
denomina refinamiento del algoritmo
(stepwise refinement).
2.3 DISEO DEL ALGORITMO cont.
2.4 SOLUCIN DE PROBLEMAS
MEDIANTE LA COMPUTADORA
Una vez diseado el algoritmo y
representado mediante una herramienta de
programacin se debe:

Solucin del
Problema por
Computadora

Codificacin Ejecucin del Comprobacin


del programa programa del programa
2.5 Ciclo para poner en marcha un
programa
2.6 REPRESENTACIN GRFICA
DE LOS ALGORITMOS

Los mtodos usuales para


representarlo son:
1. Diagrama de flujo
2. Lenguaje de especificacin de
algoritmo
2.6 REPRESENTACIN GRFICA DE
LOS ALGORITMOS cont
2.7 PSEUDOCDIGO
Es un lenguaje de especificacin de
algoritmos que permite una codificacin
rpida y simple.
Su ventaja radica en que el
programador no debe preocuparse por
la sintaxis de un lenguaje de
programacin en particular.
Utiliza palabras sencillas de entender
para codificar programas.
Pseudocdigo: Diseo
Definicin del problema

Anlisis del problema

Seleccin de la mejor alternativa

Algoritmo

Diagramacin
Pseudicdigo: Definicin del Problema
Est dada por el enunciado
del problema, el cul debe ser
claro y completo
Es importante que
conozcamos exactamente
que se desea.
Mientras que esto no se
comprenda, no tiene caso
pasar a la siguiente etapa.
Pseudicdigo: Definicin del Problema

Ejemplo1
Hallar el salario mensual de un
empleado.

El salario se calcula segn las


horas semanales trabajadas y el
valor de la hora, si se pasan las
horas extraordinarias (40
semanales), se pagarn al 1,5 %
Pseudocdigo: Anlisis del Problema

Los datos de Las operaciones que es necesario


entrada que nos Los datosenque
hacer, esteel caso,
usuario va a
son:
suministran digitar, se el
Comparar debe almacenaran
numero de horasen
con:
40
El nombre,
programaval_hora, Horas el
deber mostrar
El proceso que Y el Casototal
sueldo menorse de 40
almacenar
nombre y el sueldo del empleado
Hallar Sueldo=val_hora * Horas
debe realizarse en:
Caso Sueldo
mayor de 40
Los datos de Hallar Sueldo=(40*val_hora) +
salida o ((1.5*val_hora)*(Horas-40))
resultados que se
esperan
ALGORITMO: Definicin de Constantes y
Variables
No existe un valor
dentro del programa
Constantes que debe permanecer
constante

Variables

nombre,
val_hora,
Horas, Sueldo
ALGORITMO - PSEUDOCDIGO
Inicio Inicio
1. Solicitar los datos del empleado Haga nombre=, val_hora=0, Horas=0,
2. Almacenar los datos Sueldo=0
3. Si el numero de horas es mayor Mostrar Digite datos del empleado
a cuarenta entonces Capture nombre, val_hora, Horas
3.1 Hallar el valor del sueldo Si (Horas <=40)entonces
teniendo en cuenta que el valor Haga sueldo=Horas * val_hora;
de la hora adicional ser mas el si no
1.5% Haga sueldo=(Horas * val_hora)+
3.2 Si no paso 3 entonces hallar el ((Horas-40)*(1.5*val_hora));
valor del sueldo normalmente. Fin si
4. Generar el nombre del empleado y Mostrar El sueldo de :, nombre, es: , sueldo
su sueldo. Fin
Fin
Inicio

ALGORITMO - DF nombre=, val_hora=0, Horas=0,


Sueldo=0
Inicio
1. Solicitar los datos del empleado Digite datos del empleado
2. Almacenar los datos
3. Si el numero de horas es mayor
nombre, val_hora,
a cuarenta entonces
Horas
3.1 Hallar el valor del sueldo
teniendo en cuenta que el valor
de la hora adicional ser mas el Horas= =40
1.5%
3.2 Si no paso 3 entonces hallar el sueldo=(Horas * val_hora)+
sueldo=Horas * val_hora;
valor del sueldo normalmente. ((Horas-40)*(1.5*val_hora));
4. Generar el nombre del empleado y
su sueldo. El sueldo de :, nombre, es: ,
Fin sueldo

Inicio
FIN

También podría gustarte