Está en la página 1de 16

Universidad Nacional de

Ingeniería
Facultad de Ingeniería Ambiental (FIA)

Introducción a los
Algoritmos y Programación
Mg. Jorge Luis Huamán Vera
Solución de Problemas
 Un problema se puede definir como una
situación en la cual se trata de alcanzar
una meta y para lograrlo se deben hallar
unos medios y unas estrategias.
 La mayoría de problemas tienen algunas
cosas en común: un estado inicial; una
meta; un conjunto de recursos y un
dominio.
 En la programación, la estrategia para
resolver problemas es el DESARROLLO
DEALGORITMOS.
Pero,
¿Qué es programar?
Programación de Computadores

 La programación es un
proceso por el cual se
escribe mediante un lenguaje
de programación una serie
de instrucciones (programa
informático) para que la
computadora realice una
tarea determinada.
Ciclo de Programación de Computadores
 Las fases concuerdan con los procedimientos para
solucionar problemas, vistos anteriormente:
1. Analizar el problema (Entender el problema)
2. Diseñar un algoritmo (Trazar un plan)
3. Traducir el algoritmo a un lenguaje de programación
(Ejecutar el plan)
4. Depurar el programa (Revisar)
Paso 1:Analizar el problema
 Los programas de computador tienen como finalidad
resolver problemas específicos y el primer paso consiste
en definir con precisión el problema hasta lograr la mejor
comprensión posible.
 Una forma de realizar esta actividad se basa en
◦ Formular claramente el problema,
◦ Especificar los resultados que se desean obtener,
◦ Identificar la información disponible (datos),
◦ Determinar las restricciones y
◦ Definir los procesos necesarios para convertir los datos
disponibles (materia prima) en la información requerida
(resultados).
Paso 2: Diseñar un Algoritmo
 En el ámbito de la
computación, los Algoritmos
son una herramienta que
permite describir claramente
un conjunto finito de
instrucciones, ordenadas
secuencialmente y libres de
ambigüedad, que debe llevar
a cabo un computador para
lograr un resultado previsible.
Representación de Algoritmos
 Los Algoritmos se puede expresar de muchas
maneras, pero se tratarán solo dos formas:
Seudocódigo y Diagrama de Flujo.
◦ En Seudocódigo la secuencia de instrucciones se
representa por medio de palabras en forma de
frases o proposiciones,
◦ En Diagrama de Flujo se representa por medio de
gráficos.
Seudocódigo Diagrama de Flujo

Representación deAlgoritmos
Simbología de los Diagramas de Flujo
Paso 3:Traducir el Algoritmo

 Una vez que el algoritmo está diseñado y


representado gráficamente se pasa a la etapa de
traducción a un lenguaje de programación
determinado.
 Cada lenguaje posee sus propias reglas
gramaticales, por lo tanto es fundamental conocer
de antemano la sintaxis de los comandos que se
deben utilizar para resolver el problema.
 A esta fase de traducción se le conoce
comúnmente como codificación.
Ejemplo
 De acuerdo con la metodología descrita, analizar el
problema de hallar el área de un triángulo rectángulo
cuya Base mide 3 cm, la Altura 4 cm y la Hipotenusa 5
cm.
 Respuesta
◦ Formular el problema: Ya se encuentra claramente
planteado.
◦ Resultados esperados: El área de un triángulo
rectángulo.
◦ Datos disponibles:
 Base,Altura, Hipotenusa, tipode triángulo.
 La incógnita es el área y todos los valores son
constantes.
 El valor de la hipotenusa se puede omitir.
◦ Determinar las restricciones:
 Utilizar las medidas dadas.
◦ Procesos necesarios:
 Guardar en dos variables los valores de Base yAltura;
 Guardar en una constante el divisor 2;
 Aplicar la fórmula área=base*altura/2
 Comunicar el resultado (área).
Paso 2: elaborar el Algoritmo
Inicio

DIV = 2
Asigna valores a las constantes DIV,
BASE = 3 BASE yALTURA
ALTURA=4

AREA = BASE * ALTURA / DIV Calcula el área y la almacena en la


variableAREA

AREA Imprime el valor almacenado en la


variableAREA

Final
Paso 3:Traducir el Algoritmo
#include<iostream>
 Para el caso del #include<cmath>

algoritmo para hallar el Int main() {


área del triángulo, el div=2;
código en el lenguaje de int div;
int base;
programación en C++ int altura;
es: int area;
base=3;
altura=4;
area=base*altura/div;
cout<<"El area es <<area<<endl;
return 0;
}
Webgrafía
 http://www.eduteka.org/modulos.php?catx=9&idSubX=270
Programación de computadores en edad escolar

 http:/ /www. juarbo.com/pseudocodigo-de-programacion/


Fundamentos de programación / Técnicas básicas de
programación

 http://www.eduteka.org/AlgoritmosProgramacion.php
Algoritmos y programación

 http://www.wikilearning.com/monografia/fundamentos_de
_programacion
Fundamentos de programación