You are on page 1of 42

UNIDAD 2: .

Algoritmos y
Programas

Alejandra Oate A.
Agenda

1. Resolucin de Problemas por computadora

1.1. Datos

1.2. Ejercicios

2. Herramientas de Programacin
RESOLUCIN DE PROBLEMAS POR COMPUTADOR
Fuente: (Joyanes; 1996)
1. Anlisis

Anlisis del
Problema

Definicin del Datos de


Datos de Entrada
Problema Salida=Resultados

Fuente: (Joyanes; 1996)


2. Diseo del Algoritmo
Algoritmo
Secuencia ordenada de pasos
Sin ambiguedades
Conduce a la solucin de un problema dado y que est expresado en lenguaje natural

Qu caractersticas debe tener un algoritmo?

Preciso: Indicando el orden de realizacin de cada uno de los pasos


Definido: Si se sigue el algoritmo varias veces proporcionndole los mismos datos, se
deben obtener siempre los mismos resultados.
Finito: debe tener un inicio y un fin, es decir debe tener un n[umero finite de pasos

Fuente: (Joyanes; 1996)


2. Diseo del Algoritmo
Pasos para Disear un algoritmo:

1. Identificar las tareas ms importante para Mtodo de diseo en etapas,


resolver el problema y disponerlas en el orden Descendiente, o TOP DOWN
de ejecucin.
2. Refininar las actividades aadir ms detaller Conceptos Generales a los detalles
a fin de obtener un algoritmo claro, preciso y sucesivos.
complete.

Fuente: (Joyanes; 1996)


Partes de un Algoritmo

Entrada Proceso Salida

Fuente: (Joyanes; 1996)


Especificaciones de Entrada Especificaciones de Salida

Qu datos son de entrada? Cules son los datos de de


Cuntos datos se introducirn? salida?
Cuntos datos de entrada son Cuntos datos de salida se
vlidos? producirn?
Qu precisin tendrn los
resultados?
Se debe imprimir una cabecera?

Fuente: (Joyanes; 1996)


Disear un algoritmo para calcular la superficie de un rectngulo

Fuente: (Joyanes; 1996)


El algoritmo puede ser representado por las siguientes instruccin:

1. Paso 1. Entrada desde perifricos de entrada, por ejemplo teclado, de base y altura
2. Paso 2. Clculo de la Superficie, multiplicando la base por la altura
3. Paso 3. Salida por pantalla de base, altura y superficie.

NOTA IMPORTANTE: El lenguaje algoritmico deber ser independiente de cualquier lenguaje de programacin
particular pero fcilmente traducible. Para ello se deber utilizar mtodos normalizados para la representacin de
algoritmos. ( Diagramas, Pseudocdigo)

Fuente: (Joyanes; 1996)


3. Verificacin de algoritmos

Comprobar que realiza las tareas para


las que fue diseado.
Produce el resultado correcto y
esperado.
Ejecucin manual usando datos
significativos que abarquen que
abarque todo el rango de valores

Prueba del algoritmo/ Prueba de


escritorio
Fuente: (Joyanes; 1996)
4. Codificacin Programa Fuente
Escribir en lenguaje de alto nivel la representacin
del algoritmo.
Se refiere a la obtencin de un programa definitivo
que pueda ser comprensible para la mquina.

Esta escrito en un lenguaje de


programacin. (pascal, C++,Visual
Fox, Visual Basic, etc).
Es entendible por el programador.
4. Compilacin y Ejecucin Programa Ejecutable
Traducir el Programa Fuente a lenguaje mquina que
la computadora es capaz de entender y ejecutar

Programa Ejecutable
Est en lenguaje mquina.
Entendible por la mquina.
5. Documentacin

Interna Externa
Se incluye en el programa Manual de usuario
Fuente/algoritmo COMENTARIOS Manual Tcnico
que ayuden a la comprensin del
cdigo. Indican los pasos a seguir para utilizar el
Hacen ms fciles de leer y programa. Adems de las especificaciones
comprender los programas tcnicas del mismo.

Se refiere a las actualizaciones que deban


aplicarse al programa cuando las
Es vital cuando se realizan circunstancias as lo requieran. Este
cambios o se corrigen errores. programa deber ser susceptible de ser
modificado para adecuarlo a nuevas
condiciones de operacin.
FASE DE IMPLEMENTACIN
1. Tipos de datos

2. Expresiones

3. Funciones
Dato es la expresin general con la que opera un algoritmo. Los
datos pueden venir expresados como constantes, varibles o
funciones.
Son datos cuyo valor no cambia durante todo el desarrollo del
algoritmo.

Tipos de Constantes
Numricas enteras
Nmericas reales.
Lgicas (Verdadero falso
Caracter
Cadena
Una variable es un objeto cuyo valor puede cambiar durante el
desarrollo del algoritmo.

Se identifica por su nombre y por su tipo.

Cuando se traduce el algoritmo a un lenguaje de programacin y


se ejecuta, la declaracin de variables originar que se reserve un
determinado espacio en memoria etiquetado con el
correspondiente identificador
Una expresin es una combinacin de operadores y operandos.
Los operandos podran ser constants, variables u otras
expresiones. Las expresiones se clasifican en funcin de los
resultados que producen:

Numricas
Alfanumricas
Booleanas
HERRAMIENTAS DE PROGRAMACIN
Para representar un algoritmo se debe utilizar algn mtodo que
permita independizar dicho algoritmo de los lenguajes de
programacin, y al mismo tiempo, conseguir que sea facilmente
codificable.

Los mtodos ms usuales para la representacin de algoritmos


son:

Diagramas de flujo
Diagramas N-S (Nassi-Schneiderman)
Pseudocdigo
:

Diagramas de flujo
:

Diagramas N-S (Nassi-Schneiderman)


:

Pseudocdigo
inicio
// Comentario una lnea
{ Comentario
varias lneas
}

leer (<lista_de variables>)


<nombre_de_variable> <expresin>
escribir(<lista_de_expresiones>

fin
:

Pseudocdigo
EJERCICIOS EN CASA
1. Qu valores se obtiene en las variabes A, B, C despus de las siguientes
instrucciones?
2. Escribir las siguientes expresiones en forma de expresiones algortmicas
3. Se tienen tres variables A,B,C. Escribir las instrucciones necesarias para
intercambair entre s sus valores del modo siguiente:

B toma el valor de A
C toma el valor de B
A toma el valor de C

Nota: slo se debe utilizar una variable que llamaremos AUX


4. Determinar los valores de A,B.C y D despus de ejecutar las siguientes
instrucciones: Se sugiere utilizer una table de seguimiento (prueba de
escritorio).

\
Utilizando pseudocdigo y posteriormente un diagrama (flujo o N-S) resolver los siguientes
problemas

1. Escribir un algoritmo que calcule y escriba el cuadrado de un nmero


2. Realizar un algoritmo que calcule la suma de los enteros entre 1 y 10. Es decir
1+2+3..+10.
3. Realizar un algoritmo que calcule y visualice las potencias de 2 entre 0 y 10.
4. Realizar un algoritmo que permita leer un caracter y decir si est situado antes o despus
de la m en orden alfabtico.
5. Escribir un algoritmo que permita leer dos carateres y deducir si estn en orden
alfabtico.
6. Leer un caracter y deducir si est o no comprendido entre las letras I y M ambas inclusive.

Nota: No olvide previo a realizer el algoritmo realizar el anlisis del problema.


monate@espoch.edu.ec

0992733389

You might also like