You are on page 1of 11

INGENIERIA INDUSTRIAL

Desarrollo de lgica Algortmica


Unidad II
Definicin de algoritmo
Es un conjunto o secuencia de instrucciones o reglas bien definidas,
ordenadas y finitas que permite realizar una actividad mediante pasos
sucesivos que no generen dudas a quien deba realizar dicha actividad.
Las caractersticas fundamentales que debe cumplir todo algoritmo son:
Debe ser preciso. Indicar el orden de realizacin de cada paso.
Debe ser definido. Si se sigue un algoritmo dos veces, se debe obtener el
mismo resultado cada vez.
Debe ser finito. Si se sigue un algoritmo, se debe terminar en algn momento
La definicin de un algoritmo debe describir tres partes:
Entrada, Proceso y Salida.

Clasificacin de los lenguajes para algoritmos puede enunciarse de la


siguiente manera:
Lenguaje Natural.
Lenguaje de Diagrama de Flujo.
Lenguaje Natural de Programacin.
Lenguaje de Programacin
Lenguaje Natural
Se refiere a todos aqullos algoritmos cotidianos que nos ayudan a
resolver problemas diarios, y que los hacemos casi sin darnos cuenta de que
estamos siguiendo una metodologa para resolverlos.

Lenguaje de Diagrama de Flujo


Se basan en la utilizacin de diversos smbolos para representar operaciones
especficas. Se les llama diagramas de flujo porque los smbolos utilizados se
conectan por medio de flechas para indicar la secuencia de operacin.
La simbologa utilizada para la elaboracin de diagramas de flujo es
variable y debe ajustarse a un patrn definido previamente.

SIMBOLOS UTILIZADOS EN LOS DIAGRAMAS DE


FLUJO

Este se utiliza para representar el inicio o el fin de un algoritmo. Tambin puede representar una parada o
una interrupcin programada que sea necesaria realizar en un programa.

Este se utiliza para un proceso determinado, es el que se utiliza comnmente para representar una
instruccin, o cualquier tipo de operacin que origine un cambio de valor.

Este smbolo es utilizado para representar una entrada o salida de informacin, que sea procesada o
registrada por medio de un perifrico.

Este es utilizado para la toma de decisiones, ramificaciones, para la indicacin de operaciones lgicas o
de comparacin entre datos.

Este es utilizado para enlazar dos partes cualesquiera de un diagrama a


travs de un conector de salida y un conector de entrada. Esta forma un enlace en la misma pgina del
diagrama.

IMPRIMIR
Este es utilizado para representar una salida de datos. Visualiza informacin como resultados o mensajes.

ACTIVIDADES
1. Hacer el diagrama de flujo para calcular el rea de un triangulo
2. Hacer el diagrama de flujo que dadas 3 calificaciones de una materia
calcule el promedio
Lenguaje Natural de Programacin
Son aqullos que estn orientados a la solucin de problemas que se
definen de una manera precisa. Generalmente son aplicados para la
elaboracin de frmulas o mtodos cientficos.
Tiene las siguientes caractersticas:
Evita la ambigedad (algo confuso que se puede interpretar de varias
maneras).
Son precisos y bien definidos.
Utilizan trminos familiares al sentido comn.
Elimina instrucciones innecesarias.

Ejemplo
Hacer un programa que calcule la suma de dos nmeros
//calcula la suma de dos numeros
var suma,num1,num2:numerico
inicio
cls()
imprimir("introduce un numero")
leer(num1)
imprimir("introduce otro numero")
leer(num2)
suma= num1 + num2
imprimir( "La suma de los dos numeros es ",suma)
fin

Hacer un programa que visualice una agenda


// Visualiza una agenda
var nombre, apellidoP,apellidoM,Estado, Ciudad,telefono:cadena
fechaNac, fecha_Act,aos : numerico
inicio
cls()
imprimir("Introduce tu nombre \t\t\t ")
leer(nombre)
imprimir("Introduce tu apellido paterno \t\t")
leer(apellidoP)
imprimir("Introduce tu apellido materno \t\t")
leer(apellidoM)
imprimir ("Introduce el nombre de tu Estado \t")
leer(Estado)

imprimir ("Introduce el nombre de tu ciudad \t")


leer(Ciudad)
imprimir("Introduce el numero de telefono \t")
leer(telefono)
imprimir("Introduce el ao en que naciste \t")
leer(fechaNac)
imprimir("Introduce el ao actual \t")
leer(fecha_Act)
aos = fecha_Act - fechaNac
imprimir(" TU NOMBRE ES ",nombre, "\t",apellidoP, "\t",apellidoM)
imprimir("\n TU TIENES ", aos,"\t", "aos")
imprimir(" \n TU ESTADO ES ", Estado)
imprimir(" \n TU CIUDAD ES ",Ciudad)
imprimir(" \n TU NUMERO DE TELEFONO ES ",telefono)
imprimir("\n")
fin

ACTIVIDADES
1. Hacer un pseudocdigo que dados dos nmeros enteros calcule las
operaciones bsicas
2. Hacer un pseudocdigo que realice la conversin de minutos a
segundos

Lenguaje de Programacin
Es un conjunto de smbolos, reglas sintcticas y semnticas, que definen su
estructura, el significado de sus elementos y expresiones, es usado para
controlar el comportamiento fsico y lgico de una computadora.
Pueden usarse para crear programas que controlen el comportamiento fsico y
lgico de una mquina, para expresar algoritmos con precisin, o como modo
de comunicacin humana. Ejemplos, FORTRAN, ALGOL, COBOL, BASIC,
PL/I, ADA, C, C++, PASCAL, JAVA, etc.

Ejemplo: Hacer un programa en Java que calcule la suma de dos nmeros


enteros.
Cdigo:
import java.*;
import java.util.Scanner;
class Suma
{
public static void main (String[] args) {
{
Scanner leer=new Scanner (System.in);
int num1,num2,suma;
System.out.println("Introduce el primer numero: ");
num1=leer.nextInt();
System.out.println("Introduce el segundo numero: ");
num2=leer.nextInt();
suma=num1+num2;
System.out.println("La suma es: "+suma);
}
}
}
Modo Ejecutable:

ACTIVIDADES

1. Hacer un programa en java que dados dos nmeros enteros calcule las
operaciones bsicas
2. Hacer un programa que realice la conversin de minutos a segundos

Metodologa de la programacin
A fin de resolver un problema utilizando sistemas de cmputo, debe
seguirse una serie de pasos que permiten avanzar por etapas bien definidas
hacia la solucin.
Estas etapas son las siguientes:
Definicin del problema
Anlisis de los datos
Diseo de la solucin
Codificacin
Prueba y depuracin
Documentacin
Mantenimiento
Definicin del problema
Est dada en s por el enunciado del problema, el cual debe ser claro y
complejo. Es importante que conozcamos exactamente "que se desea
obtener al final del proceso" ; mientras esto no se comprenda no puede
pasarse a la siguiente etapa.
Enunciado: Hacer un Pseudo cdigo que calcule el rea de un triangulo.
Anlisis de los datos
Para poder definir con precisin el problema, se requiere que las
especificaciones de entrada y salida sean descritas con detalle ya que esto es
un requisito para lograr una solucin eficaz.
Una vez que el problema ha sido definido y comprendido, deben analizarse los
siguientes aspectos:
Los resultados esperados
Los datos de entrada disponibles.
Herramientas a nuestro alcance para manipular los datos y alcanzar un
resultado (frmulas, tablas, accesorios diversos).
Ejemplo
Anlisis
rea del triangulo
Entradas: base, altura (variables).

Area = (base * Altura)/ 2


Diseo de la solucin
Una computadora no tiene capacidad para solucionar problemas ms que
cuando se le proporcionan los sucesivos pasos a realizar, esto se refiere a la
obtencin de un algoritmo que resuelva adecuadamente el problema. En caso
de obtenerse varios algoritmos, seleccionar uno de ellos utilizando criterios ya
conocidos.
Esta etapa incluye la descripcin del algoritmo resultante en un lenguaje
natural, de diagrama de flujo o natural de programacin.
Como puede verse, solo se establece la metodologa para alcanzar la
solucin en forma conceptual, es decir ; sin alcanzar la implementacin en el
sistema de cmputo.
Ejemplo
Cdigo:
var base, altura, area: numerico
inicio
cls()
imprimir("introduce la base")
leer(base)
imprimir("introduce la altura")
leer(altura)
area= (base * altura)/2
imprimir( " \n el area del triangulo es ",area)
fin
Codificacin
Se refiere a la obtencin de un programa definitivo que pueda ser
comprensible para la mquina. Incluye una etapa que se reconoce como
compilacin.
Si la codificacin original se realiz en papel, previo a la compilacin
deber existir un paso conocido como transcripcin.

Programa Fuente
Est escrito en un lenguaje de programacin. (pascal, C++,C, Java etc). Es
entendible por el programador.
Ejemplo

import java.io.*;
import java.util.Scanner;
class area
{
public static void main (String args[])
{
Scanner leer=new Scanner(System.in);
int base,altura,area_res;
System.out.println("Introduce la base");
base=leer.nextInt();
System.out.println("Introduce la altura");
altura=leer.nextInt();
area_res=(base*altura)/2;
System.out.println("El resultado de calcular el area del triangulo
es:"+area_res);
}
}
#include <stdio.h>
#include <conio.h>
main ()
{
int area, base, altura;
printf(Introduce la altura );
scanf(%d, &altura);
printf(Introduce la base );
scanf(%d, &base);

area= (base * altura )/2;


printf(el resultado es %d , area);
getch();}
Prueba y depuracin
Una vez que se ha obtenido el programa ejecutable, este es sometido a
prueba a fin de determinar si resuelve o no el problema planteado en forma
satisfactoria.
Las pruebas que se le aplican son de diversa ndole y generalmente
dependen del tipo de problema que se est resolviendo. Comnmente se inicia
la prueba de un programa introduciendo datos vlidos, invlidos e
incongruentes y observando como reacciona en cada ocasin.
El proceso de depuracin consiste en localizar los errores y corregirlos en
caso de que estos existan. Si no existen errores, puede entenderse la
depuracin como una etapa de refinamiento en la que se ajustan detalles para
optimizar el desempeo del programa.
Ejemplo

Documentacin
Debido a que el programa resultante en esta etapa se encuentra
totalmente depurado (sin errores), se procede a la utilizacin para resolver
problemas del tipo que di origen a su diseo.

En vista de que esta utilizacin no podr ser supervisada en todas las


ocasiones por el programador, debe crearse un manual o gua de operacin
que indique los pasos a seguir para utilizar el programa.
Ejemplo
import java.io.*;
import java.util.Scanner;
class area
{
public static void main (String args[])
{
Scanner leer=new Scanner(System.in);
int base,altura,area_res;// declaracion de variables
// Autora: Angeles Hernandez
/* Programa realizado en java que calcula el area de un triangulo*/
// versin 1.0
System.out.println("Introduce la base");/** datos de entrada */
base=leer.nextInt(); // variable que va a almacenar el resultado
System.out.println("Introduce la altura");/** datos de entrada */
altura=leer.nextInt();// variable que va a almacenar el resultado
area_res=(base*altura)/2;//realiza el proceso donde se calcula y almacena el
resultado
System.out.println("El resultado de calcular el area del triangulo es:"+area_res);
//visualiza el resultado
}
}
Mantenimiento
Se refiere a las actualizaciones que deban aplicarse al programa cuando
las circunstancias as lo requieran. Este programa deber ser susceptible de
ser modificado para adecuarlo a nuevas condiciones de operacin. Cualquier
actualizacin o cambio en el programa deber reflejarse en su documentacin.

You might also like