Unidad 3
Unidad 3
Unidad 3
Unidad 3
Realizado por:
Ing. Jorge Eloy Toledo Coronel
2
Definición de Algoritmo
La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi,
nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de
números y ecuaciones en el siglo IX.
Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir,
para dar solución a un problema especifico.
Tipos de Algoritmos:
Ø Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.
Ø Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los
pasos del proceso.
b.- Un algoritmo debe estar definido. Esta característica nos dice que si seguimos un algoritmo
una vez debemos llegar a una solución y si lo seguimos otra vez, debemos llegar a la misma
solución.
c.- Un algoritmo debe ser preciso. Esto es , se debe indicar el orden de ejecución de cada
paso.
Diagramas de Flujo.
Pseudo Códigos
Diagramas de Nassi – Shneiderman.
Diagramas de Warnier – Or
Realizado por:
Ing. Jorge Eloy Toledo Coronel
3
Los símbolos utilizados en este tipo de diagramas son diferentes a los usados en el
diagrama de flujo de detalle, no los describiremos aquí ya que no es el alcance de este
curso; para mayor información se recomienda ver cualquier bibliografía al respecto.
Diagrama de flujo de Detalle: En este curso centraremos nuestra atención en este tipo de
diagramas, ya que con este representaremos en forma grafica el algoritmo que
desarrollaremos para resolver un problema especifico.
Realizado por:
Ing. Jorge Eloy Toledo Coronel
4
Pseudo Códigos: Es otra de las maneras para representar algoritmos usando la forma narrada o
descriptiva para cada uno de los pasos del algoritmo.
INICIO
Leer el valor de la base
Leer el valor de la altura
Calcular el area que es igual a la base por la altura dividida entre dos
Imprimir el area
FIN
El diagrama se lee de arriba hacia abajo. Cada bloque ejecuta una acción especifica que se
puede documentar o describir con la precisión que sedesee.
Ejemplo:
INICIO
LEER EL VALOR DE LA BASE
LEER EL VALOR DE LA ALTURA
CALCULAR EL AREA = (BASE * ALTURA)/2
IMPRIMIR EL AREA
FIN
Realizado por:
Ing. Jorge Eloy Toledo Coronel
5
Si n1>n2 entonces
no imprimir el mayor es n2
fin
Ejemplo 1.- Se desea calcular e imprimir la suma de dos números positivos, diseñar el
algoritmo y programa en c++
Inicio
Leer el valor de A y de B
Calcular el valor de C = A + B
Imprimir el valor de la suma C
Fin
Programa en C++
·#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
float a,b,c;
void main()
{ //* Inicio del programa*//
clrscr();
cout<<”Valor de a=”; cin>>a;//* variables de entrada*//
cout<<”Valor de a=”; cin>>b;
c= a +b;
cout<<”El valor de la suma = “<<c<<” \n”;
getch();
}
Realizado por:
Ing. Jorge Eloy Toledo Coronel
6
Ejemplo 2.- Se desea realizar un sistema para elcanje de dolares americanos a pesos
mexicanos diseñar el algoritmo y el programa en C++ al proporcionar como dato de entrada la
cantidad de dolares, sabiendo que un dólar americano = $ 10.11
Inicio
Hacer dl=10.00
Leer cd
Hacer pm= cd * dl
Imprimir cd
Fin
Programa en C++
·#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#define dl 10.11
void main()
{
float cd,pm;
clrscr();
cout<<”Cantidad de dolares = “;
cin>>cd;
pm= cd * dl;
cout<<”En pesos Mexicanos = “<<pm<<”\n”;
getch();
}
Por ejemplo
Se tienen dos valores enteros, positivos mayores que cero de los cuales debemos saber quien
de los dos es el mayor en caso contrario que nos imprima que son numero iguales
Inicio
Leer a1,a2
Si a1>0 y a2>0 entonces
Si a1 > a2 entonces
Imprimir el mayor es a1
Si no
Si a1<a2 entonces
Imprimir el mayor es a2
Si no
Imprimir los numeros son iguales
Fin si
Fin si
Fin si
Fin
Realizado por:
Ing. Jorge Eloy Toledo Coronel
7
Programa en C++
·#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
Int a1,a2;
void main()
{clrscr();
cout<<”A1 = “; cin>>a1;
cout<<”A2 = “; cin>>a2;
If ((a1 > 0) && (a2>0))
{
If (a1>a2)
{
cout<<”El numero mayor es a1 \n”;
getch();
}
else
If (a2>a1)
{
cout<<”El numero mayor es a2 \n”;
getch();
}
else
{
cout<<”Los numeros son iguales \n”;
getch();
}
}
}
pseudodigos
Inicio Inicio
Leer a1,a2 si a1>0 y a2>0 entonces
Fin si a1>o entonces
Imprimir el mayor es a1
Si no
Si a1<a2 entonces
Imprimir el mayor es a2
Si no
Imprimir los numeros son iguales
Fin si
Fin si
Fin si
Fin
Realizado por:
Ing. Jorge Eloy Toledo Coronel
8
Diagramas de flujo
Función leer Función Imprimir
Programa en C++
·#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
Int a1,a2;
Void leer()
Void imprimir()
void main()
{
Leer();
Imprimir();
}
Void leer()
{clrscr();
cout<<”A1 = “; cin>>a1;
cout<<”A2 = “; cin>>a2;
}
Void imprimir()
{
Clrscr();
If ((a1 > 0) && (a2>0))
{
If (a1>a2)
{
cout<<”El numero mayor es a1 \n”;
getch();
}
else
If (a2>a1)
{
cout<<”El numero mayor es a2 \n”;
getch();
}
else
{
cout<<”Los numeros son iguales \n”;
getch();
}
}
}
Realizado por:
Ing. Jorge Eloy Toledo Coronel