Académique Documents
Professionnel Documents
Culture Documents
Algoritmos: parte II
Introduccion
La asignatura logica de programacion cubre la solucion de problemas en 7 etapas:
ETAPA 1: EL ENUNCIADO
ETAPA 2: EL ANALISIS
Comentarios
Constantes
Variables
Operadores
Asignaciones y calculos
Decisiones
Ciclos
LOS 3 REGISTROS
Registro contador
Registro acumulador
Registro centinela
Parmetros
Valores
Herencia
Encapsulacin
polimorfismo
El analisis
Con el analisis se pretende obtener la Definicion De Variables y por lo general utiliza la siguiente matriz de solucion:
a. Los Datos:
es lo que me dan en el enunciado
b. Los Resultados:
son las respuestas que pide el enunciado
c. Los Calculos,
son calculos, decisiones y repeticiones o ciclos.
d. Las Investigaciones: Investigar lo que pida el enunciado; en la mayoria de problemas no se requiere investigar nada
El seudocodigo
Es la logica de solucion definida en el analisis y representada con codigos cortos en lenguaje espaol como por ejemplo:
profesor@dariolara.com
http://www.dariolara.com
1
Algoritmos - Parte II
Inicio, Lea, Imprima, Fin Estas palabras se denominan identificadores y son palabras reservadas
profesor@dariolara.com
http://www.dariolara.com
2
Algoritmos - Parte II
Ejemplo 1
Enunciado: Calcular e imprimir el sueldo de 1 empleado que gana una tarifa dada por una cantidad de horas trabajadas
Analisis: Definicion de Variables horas - tarifa - sueldo
Seudocodigo:
Inicio
|
|
|
|
Fin
Ejemplo 2
Enunciado: Calcular e imprimir el sueldo de 10 empleados que ganan una tarifa dada por una cantidad de horas trabajadas
Analisis: Definicion de Variables nroEmpleados - nombre - horas - tarifa - sueldo
Seudocodigo:
Inicio
|
|
|
|
|
|
|
Fin
El diagrama de flujo
Es la solucion obtenida en el analisis y determinada en el seudocodigo pero representada en forma grafica:
"Una imagen vale mas que mil palabras"
Tipos de diagramas:
1.
2.
Diagramacion libre
Diagramacion estructurada
Por simbolos
Por bloques
Notas
En la Ingeniera de Software se utilizan multitud de diagramas para representar flujos y soluciones tanto
estaticas como dinamicas .
En Ingeneiria de Software estructural aplican los DFD Diagramas de Flujo de Datos, Los DD
Diccionarios de Datos, los DER Diagramas Entidad Relacion .
En la Ingeniera de Software Orientada a Objetos se utiliza la tecnologia UML ( Unified Modeling
Language = Lenguaje de Modelado Unificado ) consistente en un juego estatico - dinamico de
diagramas para representar y resolver los multiples requerimientos de un software solucion de un
problema dado.
En la empresa y la industria se utilizan multitud de diagramas, ordinogramas, organigramas, etc. Para
representar situaciones especificas de gestion.
profesor@dariolara.com
http://www.dariolara.com
3
Algoritmos - Parte II
Diagramacion libre
Utiliza simbolos graficos y representa la forma libre en que se expresa la solucion.
Los simbolos
Simbolo
Descripcin
Incio y Fin de proceso
Lectura de datos ( "Lea" )
Calculos y Asignaciones
Ejemplo 3
Enunciado: Calcular e imprimir el sueldo de 10 empleados que ganan una tarifa dada por una cantidad de horas trabajadas
Si el numero de horas trabajadas es igual a cero entonces el trabajador queda suspendido.
Analisis: Definicion de Variables nroEmpleados - nombre - horas - tarifa - sueldo
Seudocodigo:
Inicio
|
|
|
|
|
|
|
|
|
|
|
Fin
profesor@dariolara.com
Algoritmos - Parte II
INICIO
Para I = 1 hasta 10
horas = ? = 0
Salida por SI
Sueldo = 0
nombre
"Suspendido"
nombre
sueldo
Next I
FIN
Notas
1. Los seguidores de esta tecnica la sustentan con el criterio de que es la forma en que el pensamiento se comporta y es
una solucion logica correcta
2. Los detractores sostienen que el sistema se puede volver confuso de depurar y dificil para encontrar errores logicos.
3. A esta metodologia la denominan "Tecnica Spaguetti" por las diferentes vias o flujos que toman los razonamientos y los
procesos involucrados en la solucin.
4. En la actualidad se aplica un sistema de soluciones graficas llamado UML (Unified Modeling Language) que se aplican
en la Programacion Orientada a Objetos
profesor@dariolara.com
http://www.dariolara.com
5
Algoritmos - Parte II
Diagramacin estructurada
Utiliza bloques graficos y representa la forma estructurada o sistema Top - Down (de arriba abajo) de representar la
solucion.
Los Bloques
Bloque
Descripcin
Incio de Proceso, Fin de Proceso, Lectura de Datos, Escritura de
Datos, Calculos y Asignaciones
La decision
Bloque para Decisiones
SI
NO
Para I = 0 hasta N
Bloque para Ciclos o Repeticiones
INICIO
PARA
I = 1 HASTA 10
NO
SUELDO = 0
FIN
Notas
1. Observe cuidadosamente la diferencia entre los simbolos utilizados en diagramacion libre que propician cierto grado
de desorden y genera lo que se denomina "Tecnica Spaguetti"
2. Los bloques se siguen desde el tope hacia abajo y forman un rectangulo mayor que contiene todos los bloques
internos que generan la solucion.
profesor@dariolara.com
http://www.dariolara.com
6
Algoritmos - Parte II
El codigo
La solucion definida en los pasos anteriores se codifica en un lenguaje de programacion ( C, Basic, Pascal, Visual Basic
.Net, Java, etc. )
Normalmente estos codigos se escriben en INGLES
Ejemplo 3
Vamos a presentar la solucion del ejemplo 3 en codigo de lenguaje JAVA
Notas
1. Todo en java son clases
2. Todas las instruccione en java van en minusculas con algunas excepciones,
3. Todas las instrucciones en java terminan en punto y coma ;
4. Las aplicaciones en JAVA tienen un metodo o funcion principal dentro del cual se declaran las variables y se ejecutan
todos los demas metodos y funciones que requiere la solucion
5. Los metodos se reconocen porque llevan PARENTENSIS
- ( )
6. Las acciones o procesos se encierran siempre entre LLAVES
- { }
Solucion en lenguaje JAVA
Creamos la clase sueldos
class sueldos {
}
Creamos el metodo principal (main) publico (public) estatico (static) neutro (void) y con argumentos de cadena (String)
public static void main (String argumentos[ ] ) {
}
Para el ciclo o repeticion utilizamos la funcion for (
) {
}
for( i = 0; i <= 10; i = i + 1) {
}
Para la decision utilizamos la funcion if ( ) {
} else {
}
Para imprimir utlizamos la funcion print (
);
System.out.print (
);
Nota especial
Se requiere una clase especial para leer datos por teclado llamada LeerVariable .
El codigo de solucion
class sueldos // se crea la clase que soluciona el problema. Este es el nombre del archivo: sueldos.java
{
public static void main ( String argumentos[ ] )
{
int i = 1 ;
// Se declara la variable i que es el numero de empleados e inicia en 1
String nombre = " " ;
// Se declara la variable nombre de tipo cadena de caracteres vacia
Int horas = 0;
// Se declara la variable horas, no se ha leido aun y vale 0
Int tarifa = 0 ;
// Se declara la variable tarifa iniciada en 0
Int sueldo = 0 ;
// Se declara la variable sueldo iniciada en 0
for ( i = 1; i <= 10; i = i + 1)
{
nombre =
// se requiere aplicar LeerVariable.leerTexto( Entre el nombre : )
horas =
// se requiere aplicar LeerVariable.leerEntero( Entre el nombre : )
tarifa =
// se requiere aplicar LeerVariable.leerEntero( Entre el nombre : )
if ( horas == 0 )
{
System.out.print( " Seor " + nombre + " Queda suspendido " );
}
else
{
sueldo = horas * tarifa
System.out.print ( "Seor " + nombre + " su sueldo es " + sueldo );
}
}
}
}
Nota adicional: como ya se dijo anteriormente se requiere de la clase especial LeerVariable para lecturas por teclado.
profesor@dariolara.com
http://www.dariolara.com
7
Algoritmos - Parte II
Codigo Fuente
Compilacion
o
Interpretacion
Codigo Objeto
El codigo Fuente :
Son codigos de lenguaje de programacion (en ingles) que en cierto orden dan la solucion al problema
El codigo Objeto :
Son codigos binarios ilegibles que se instalan en un computador para que procesen datos y los
conviertan en informacion util para los usuarios finales.
El instalador
Es uno o varios archivos que ensamblan e instalan los ejecutables, las bases de datos, las
librerias .dll y los archivos de soporte, ayuda, training, etc.
La documentacion:
Es la parte final de una solucion y consta de los manuales de entrenamiento del programa, los manuales de gestion, los
manuales de instalacion, las ayudas integradas, y en fin todos los procedimientos de instalacion, de mantenimiento y
control, soporte y funcionamiento de la aplicacin desarrollada.
Normalmente a esta fase o paso se llega y se la denomina la Ingeniera del Software e incluye las Bases de Datos y la
instalacion en Red o en la WEB.
Practicas
Practica #
El supermercado.
Analisis del cliente
Analisis del IVA
Analisis de descuentos
Analisis de los resultados adicionales
Los turnos
Practica # El colegio
Los profesores
Los alumnos
Las asignaturas
Las autlas
La asistencia
Las calificaciones
Practica # El Taller Los servicios
Practica # La Universidad Las Facultades Los programas
Practica # Las votaciones Los Partidos Los candidatos Los votantes
profesor@dariolara.com
http://www.dariolara.com
8