Las etapas en la resolucin de problemas usando como herramienta la computadora son: 1) Anlisis del Problema. 2) Diseo de un algoritmo. 3) Elaboracin de un programa para computadora.
1.- Anlisis del Problema: Exige la lectura previa del problema, las veces que sean necesarias, a fin de tener una idea general de lo que se solicita. El problema debe ser definido y comprendido claramente. Se debe definir cuales son las entradas que se requieren y las salidas que se desean obtener.
2.- Diseo de un Algoritmo: Un algoritmo es un mtodo o conjunto de reglas (sin ambigedades) que se aplican paso a paso en forma ordenada para solucionar un problema.
De manera general, en un algoritmo se deben definir claramente las siguientes partes: Inicializacin de variables. Entrada de datos. Procesos a seguir. Salida de resultados.
Para expresar un algoritmo hay que realizar una descripcin paso a paso, en lenguaje natural, de los pasos a seguir..
El empleo de indentacin (justificacin o sangrado) en la escritura de los algoritmos facilita su lectura y comprensin.
Otro aspecto a considerar es el mtodo elegido para representar los algoritmos: Diagramas de Flujo Pseudocdigo Diagramas Estructurado (N-S).
3.-Elaboracin de un Programa para Computadora: Despus que el algoritmo se ha diseado y representado mediante alguno de los mtodos indicados anteriormente, se debe elaborar un programa para computadora, utilizando algn lenguaje de programacin. Esta fase se denomina Programacin. ALGORITMOS ING. SILVIA RODRIGUEZ AGUIRRE
2
ELABORACIN DE ALGORITMOS A continuacin se trata de mostrar, con un ejemplo, la forma cmo se debe pensar al plantear la solucin del problema, aunque se debe tener en cuenta que pueden existir muchas formas de solucionar un problema.
Ejemplo: Escribir un programa que lea 2 notas de un alumno y que se calcule e imprima: - El N de aprobados y el N de desaprobados. - La nota promedio.
Solucin: - Segn el enunciado del problema, se desea leer o ingresar 2 notas de un alumno y luego calculas algunos datos. - El ingreso de notas se hace una por una. - Adems, por cada ingresada se debe ver si es aprobatoria (11) o desaprobatoria (<11). - Calcular el promedio.
Al terminar de ingresar todas las notas, se puede calcular la nota promedio. Teniendo en cuenta todo lo indicado, el algoritmo tendra la siguiente forma: 1.-Inicio 2.-Inicializar variables: apr 0 ; Sirve para llevar la cuenta del N de aprobados (contador). des 0 ; Sirve para llevar la cuenta del N de desaprobados (contador). con 0 ; Sirve para llevar la cuenta del Nde notas que se van leyendo (contador). sum .0 ; Sirve para ir guardando la suma de las notas que se ingresan (acumulador).
3.-Ingresar una nota (Leer nota) 4.-Si la nota es < 0 o es > 20 5.-Si la nota es 11 (DECISIN O SELECCIN) 6.-Calcular la nota promedio prom. sum / 2 7.-Imprimir los datos calculados: prom 11.- Fin
ALGORITMOS ING. SILVIA RODRIGUEZ AGUIRRE
3 ALGUNOS CONCEPTOS Cuando se hacen algoritmos, generalmente se hace uso de una serie de variables y operaciones que son comunes. Entre estas tenemos:
1.- Contador: Es una variable que sirve para llevar la cuenta de las veces que se repite una operacin o procesos (o procesos). Generalmente se incrementa o decrementa de uno en uno. En el ejemplo, son contadores: apr , des , con .
2.- Acumulador: Es una variable en la cual se va almacenando la suma de los valores sucesivos que va tomando otra variable. En el ejemplo, sum es un acumulador, que almacena la suma de los diferentes valores que va tomando la variable nota. 3.- Inicializar Variables: Consiste en indicar o asignar que valor tiene inicialmente una variable. Este valor por lo general se indica la inicio del algoritmo y puede ser modificado durante su ejecucin.
4.- Estructuras de Control Bsicas Utilizadas en Programacin: Todo problema se puede plantear en base a 3 tipos de instrucciones, independientemente del tipo de problema. Estos tipos de instrucciones se denominan Estructuras Bsicas de Control y son las siguientes:
a)Proceso o Secuencia Es una operacin sencilla. Indica un solo paso o accin a realizar. Cuando se encuentra en el programa siempre se realiza. Algunos ejemplos de procesos o secuencias son: Inicializar Variables, Entrada o Salida de Datos, Operaciones Algebraicas, Incrementar Contadores , Llamadas a Subprogramas, etc.
b)Decisin o Seleccin Ocurre cuando una o ms acciones se pueden llevar a cabo, dependiendo del valor de una condicin especfica. Cuando se tiene que tomar una decisin se admiten slo dos posibles respuestas: SI o NO o sus equivalentes VERDADERO o FALSO (V/F).
ALGORITMOS ING. SILVIA RODRIGUEZ AGUIRRE
4 REPRESENTACIN DE ALGORITMOS Se hace para que su descripcin pueda servir ms fcilmente para su codificacin en algn lenguaje de programacin. Los mtodos ms usados son: - Diagramas de Flujo - Pseudocdigo - Diagramas Estructurado (N-S).
1) PROCESOS: No tiene palabras especiales.
2) DECISIN o SELECCIN: Se representa mediante las palabras reservadas IF THEN ELSE
Sintaxis: Significado:
El uso ELSE es opcional El uso de EN CASO CONTRARIO, es opcional
NOTA: Si se va a ejecutar una sola instruccin entonces no es necesario el uso de END _ THEN ni de END _ ELSE.
IF ( condicin ) { instruccin 1 instruccin 2 ....................}
IF (condicin ) { instruccin 1 instruccin 2 ....................}
SI condicin REALIZAR Se cumple { instruccin 1 instruccin 2 } ALGORITMOS ING. SILVIA RODRIGUEZ AGUIRRE
5
ESTRUCTURAS SECUENCIALES
1.- Leer una cantidad expresada en soles y transformarla a su equivalente en dlares y en Euros (Tipo de cambio 1 dlar = 3.25 soles , 1 Euro = 1.12 dlar).
3.- Si se sabe que 1 mol de Calcio equivale a 40 gramos de calcio. Ingresar una cantidad X de calcio expresada en gramos y calcular la cantidad de moles correspondiente.
Inicio Variables sol, euro, dol Leer sol dol = sol / 3.25 Euro = dol / 1.12 Escribir: dol , euro Fin Inicio Variables grcal , molcal Leer grcal molcal = grcal / 40 Escribir: molcal Fin ALGORITMOS ING. SILVIA RODRIGUEZ AGUIRRE
6
4.-Un cuerpo que tiene una masa de X gramos se desplaza a una velocidad de V cm/seg. Calcular su energa cintica expresada en Ergios. (1 Ergio = 1 gr. cm 2 /seg 2 ).
5.-Se desea colocar alfombra a un aula que tiene X metros de largo, Y metros de ancho y Z metros de altura. Si el metro cuadrado de alfombra instalada cuesta W soles. Cuantos dlares se gastarn en total? ( 1 dlar = 3.25 soles)
Inicio Variables X, V, Ec Leer X, V Ec = * X * V*V Escribir Ec Fin Inicio Variables X, Y, W, soles, dolares Leer X , Y , W soles = (X * Y) * W dolares = soles / 3.25 Escribir dolares Fin ALGORITMOS ING. SILVIA RODRIGUEZ AGUIRRE
7 ESTRUCTURAS SELECTIVAS
1.- Escribir un programa que lea dos nmeros n1 y n2. Si n1 n2 que calcule y reporte la suma y resta en caso contrario debe calcular la multiplicacin y divisin.
2.- Leer el lado de un cuadrado. Si lado> 0 debe calcular su rea y su permetro. En caso contrario debe imprimir el mensaje Valor Incorrecto
Escribir:
Valor Incorrecto Inicio Variables n1, n2 V n1 n2 F sum = n1 + n2 prod = n1*n2 rest = n1 - n2 div = n1/ n2 Escribir: sum,rest Escribir: prod,div Fin Leer n1, n2 Inicio Variables : lado, area, per V lado > 0 F area= lado*lado per = 4 *lado Escribir: area, per Fin Leer lado ALGORITMOS ING. SILVIA RODRIGUEZ AGUIRRE
8
3.- Leer una temperatura en grados Kelvin (K). Si la temperatura es 0 expresarla en grados centgrados (C). Sino escribir No se puede transformar
Escribir: No se puede transformar
4.- Leer el radio R de un crculo. Si R es >0 calcular el rea del crculo y la longitud de la circunferencia. En caso contrario Escribir no se puede calcular
Escribir : No se puede calcular
Inicio Variables : Tkel V Tkel > 0 F Tcent= Tkel - 273 Escribir: Tcent Fin Leer Tkel Inicio Variables R V R > 0 F Ac= 3.1416*R*R Lc= 2*2.1416*R Escribir: Ac. Lc