You are on page 1of 5

GUIA DE ALGORITMIA. I PARTE.

NOCIONES BASICAS
Por Osmar M. Abinazar S. Puerto Cabello, Periodo 1998 / 2009 Introduccin. Para todo profesional moderno es importante conocer lo bsico de la programacin, ya que sta no es exclusiva del informtico, sino mas bien una herramienta de uso general a travs de la cual se puede dar respuesta a una serie de problemas triviales. Pero es ms importante an saber aplicar la algortmica, que es ms que programar, es trabajar con orden y mtodo, indispensable para cualquier labor que requiera de organizacin de procedimientos, es as como ofrecemos esta humilde herramienta para facilitar el proceso de aprendizaje y aplicacin de la misma. Conceptos Bsicos: Programa: Consiste en un conjunto ordenado de pasos diseado para obtener solucin favorable a un planteamiento especfico. Por lo general se realiza a travs de un lenguaje que puede ser comprendido por el programador y que permite ser traducido al lenguaje que entiende la computadora. Algoritmo: Al igual que el programa, consiste en un conjunto ordenado de pasos diseado para resolver un determinado problema, pero se realiza en un lenguaje que pueda ser comprendido por cualquier persona y no necesariamente por una computadora. Viene a ser como el borrador del programa y puede fcilmente ser traducido (codificado) a cualquier lenguaje de programacin. Su nombre es un homenaje al gran matemtico rabe Al Juarismi, por promover esta forma de resolver problemas matemticos describiendo cada paso. Corrida en fro: Consiste en simular la ejecucin del algoritmo como programa, mostrando el comportamiento de los datos en cada proceso. Codificacin: Es el proceso de traducir un algoritmo o diagrama de flujo a programa para ser introducido en una computadora. Datos: Los datos suelen presentarse en cuatro formatos bsicos: a) Entero: Es aquella informacin numrica que no admite decimales, puede ser negativo o positivo, dicho valor es limitado a las especificaciones del programa utilizado. Ejemplo: 1; 67; 1.078.021; 53; 0; -12; 5. b) Real: Consiste en todo dato numrico que puede recibir y evaluar el computador, su rango vara segn el programa utilizado. 1,23; 0,002; 1.025,5; -20,6705; 2 ; . c) Alfanumrico: Consiste en la informacin representada por caracteres (Letras, Nmeros, signos de puntuacin, caracteres especiales) del cdigo ASCII, la cual puede ser comparada mas, no posee valor numrico especfico, sino su ubicacin en dicho cdigo. A, a, x1, 12. d) Lgico: Consiste en aquel dato que solo admite dos posibilidades: verdadero o falso. En algunos lenguajes de programacin se utiliza true (verdadero) y false (falso), o simplemente la primera letra (T, F o V, F). Identificador: Es el conjunto de caracteres con los que se suelen identificar las variable, las constantes, los campos, las subrutinas, las funciones y hasta el nombre de los archivos, se recomienda usar nombres lo ms descriptivo posibles y evitar las denominadas palabras clave del programa que se va a utilizar, ya que esto ahorrara tiempo y trabajo en el diseo de algoritmos y programas. Variable: Consiste en el espacio reservado donde se almacena un dato que puede cambiar a travs del programa o algoritmo. Las variables que se utilicen en un algoritmo o programa deben ser declaradas debidamente al principio del mismo. Constante: Consiste en el espacio donde se almacena un valor fijo. En algunos programas pueden declararse de manera similar a las variables. Qu pasos se necesitan para hacer un algoritmo? 1 Se debe entender con claridad el problema o planteamiento, se debe estar completamente seguro. 2 Se deben determinar los datos de entrada (los aportados por el planteamiento y los requeridos para el procedimiento. 3 Se debe determinar con exactitud los datos de salida (el producto o lo que se quiere obtener con el planteamiento) 4 Se debe disear el o los procedimientos (receta) adecuados para obtener los resultados necesarios 5 Se procede a la revisin final del algoritmo, llevando a cabo la corrida en fro. 6 Si los resultados de la corrida en fro no son satisfactorios, se debe revisar el paso 4, sino ha concluido el algoritmo. Como se ve en los pasos anteriores, no es complicado disear un algoritmo si se tienen las herramientas adecuadas, Las instrucciones o comandos sern presentados a continuacin: Pag. 1 de 5

GUIA DE ALGORITMIA. I PARTE. NOCIONES BASICAS


INSTRUCCIONES MAS FRECUENTES EN ALGORITMIA Y DIAGRAMAS DE FLUJO Sintaxis: Los corchetes [ ] indican que es opcional, los parntesis angulares <> indica que es obligatorio, las maysculas indican que es textual Inicio o final Algoritmo Terminales Inicio INICIO Diagrama de Flujo Descripcin Indica el inicio del algoritmo, diagrama de flujo o programa segn sea el caso. En Lenguaje C: main( ) { En Tpascal: begin

FIN

Fin

Indica el final del algoritmo, diagrama de flujo o programa segn sea el caso. En Qbasic: end En Lenguaje C: } En Tpascal: end.

Entrada y Salida de Datos Algoritmo Lectura o entrada de datos Usos: LEER <Argumento> Argumento: Consiste en variables, listas de variables, vectores o matrices en los que se almacenar la informacin. Ejemplo: Leer nota, nombre Leer LUGAR Leer codigo( 5 ) Escritura o salida de datos Usos: ESCRIBIR <Argumento> Argumento: Consiste en variables, listas de variables, vectores o matrices en los que se almacenar la informacin, en este caso pueden incluirse mensajes textuales entre comillas. Ejemplo: Escribir nota, nombre Escribir LUGAR Escribir cdigo( 5 ) Escribir La nota final es:,n

Diagrama de Flujo Lectura/Escritura genrica Lectura por teclado Lectura genrica

Descripcin Mediante esta instruccin se introducen los datos que sern procesados en el algoritmo, diagrama de flujo o programa, segn el caso. En Qbasic: input Argumento En lenguaje C: scanf(Argumento ), get( Argumento) En T. Pascal: read(Argumento), readln(Argumento)

Salida por impresora

Mediante esta instruccin se imprimen en los dispositivos de salida del computador, los datos procesados en el algoritmo, diagrama de flujo o programa, segn el caso. En Qbasic: input Argumento En lenguaje C: printf(Argumento ), put( Argumento) En T. Pascal: read(Argumento), readln(Argumento)

Salida por pantalla

Salida genrica

Ciclos y Condicionantes Pag. 2 de 5

GUIA DE ALGORITMIA. I PARTE. NOCIONES BASICAS


Algoritmo Si SI <Condicin> ENTONCES ------SINO -------FIN SI Ejemplo: Si c > 0 entonces escribir c es positivo Sino escribir c es negativo Fin si condicin: Es una relacin existente entre un dato y un argumento.(variable, vector, matriz) Hacer o Para HACER var = n1 HASTA n2 POR p --------PROXIMA var Ejemplo: Hacer i = 1 hasta 10 por 2 Leer nombre ( i ) Leer cedula ( i ) Prxima i Diagrama de Flujo Consiste en una bifurcacin o divisin del flujo del algoritmo, diagrama o programa, al verificar la condicin. En Qbasic: if condicin then ... else ... end if En Lenguaje C: If (condicin) { ... } else { ... } En Tpascal: if (condicin) then begin ... end else begin ... end; Consiste en un ciclo repetitivo (bucle o crineja ) de instrucciones controlados por un contador implcito. En QBasic: for var=n1 to n2 step p -----next var En Lenguaje C: for (var=n1;condicin;incremento) { ... } En Tpascal: for var=n1 to n2 do incrementa begin ... end; o tambin: for var=n1 downto n2 do decrementa begin ... end; Consiste en un ciclo repetitivo controlado por una condicin y un contador explcito, donde primero se evala la condicin y despus se ejecutan las instrucciones.

no condicion

si

var=n1,n2,p

Hacer Mientras HACER MIENTRAS condicin ..... FIN MIENTRAS

condicion
Ejemplo: Hacer Mientras A>= 5 A = A -1 Fin Mientras Hacer Mientras opcion=si Leer dato Fin Mientras

En Qbasic: while condicin ... wend. En Lenguaje C: while (condicin) { ... }; En Tpascal: while (condicin) do begin ... end;

Pag. 3 de 5

GUIA DE ALGORITMIA. I PARTE. NOCIONES BASICAS


Hacer Hasta: HACER ----HASTA condicin Ejemplo: n=0 Hacer n=n +1 Hasta n<= 10 Hacer ---Escribir Hay mas datos (S/N)? Leer opcion Hasta opcion = n Consiste en un ciclo repetitivo controlado por una condicin y un contador explcito, donde primero se ejecutan las instrucciones y despus se evala la condicin. En Qbasic do until condicin ----loop En Lenguaje C: do { ... } while (condicin);

condicion

Proceso, Asignacin o Ecuacin var = dato asignacion var = operaciones

En Tpascal: repeat ---until condicin; Consiste en el proceso de asignacin interna de datos a variables de manera directa o a travs de operaciones cuyos resultados se almacenarn en dicha variable

Otras instrucciones en diagramas de flujo Otros dispositivos de Entrada /Salida Manejo de Archivos Almacenamiento por archivo de datos Acceso secuencial Ent./salida por tarj. perforada

Conexiones Conectores de flujo

Ent./Salida por disco Conectores de pgina Ent./Salida Cinta perforada

Acceso directo

Operaciones: Consisten en la ejecucin de una accin de asignacin de un valor, obtenido a partir de relaciones matemticas y lgicas. Operadores Aritmticos Limitaciones Operadores Lgicos Relacionantes p AND q p OR q a + b Adicin Ninguna AND y = igual v v v v v v a - b Sustraccin Ninguna OR o <> diferente v f f v f v a * b Multiplicacin Ninguna OR x o exclusivo > mayor f v f f v v a / b Divisin Debe ser b diferente de 0 NOT no >= mayor o igual f f f f f f a ^ n ensima potencia Ninguna < menor p ORx q no p a^ (1/n) Raz ensima Si n es par, debe ser a>=0 <= menor o igual v v f v f Log ( n ) Logaritmo de n n debe ser mayor que 0 v f v f v exp ( n ) exponencial de n ninguna f v v f f f Condicin: Se basa en una relacin de comparacin y evaluacin de datos con la finalidad de dirigir el flujo de la informacin por diferentes caminos segn la verificacin de dicha relacin. Ejemplo: Pag. 4 de 5

GUIA DE ALGORITMIA. I PARTE. NOCIONES BASICAS


Si A>0 entonces B = Log( A ), sino B = 0. Esto quiere decir que la informacin que se asignar a B depende de que A sea positivo o no. Ejercicios propuestos: 1.- Leer un nmero e indicar si ste es positivo o negativo. 2.- Leer un nmero e indicar si ste es positivo o negativo y que concluya cuando dicho nmero sea 0. 3.- Leer dos valores, sumarlos y restarlos. Mostrar en pantalla los resultados de dicha operacin en pantalla. 4.- Leer dos nmeros, multiplicar y dividir el primero por el segundo y mostrar ambos resultados en pantalla. 5.- Leer un nmero y extraer la raz cuadrada de dicho nmero. Mostrar el resultado en pantalla. 6.- Leer un nmero determinado de valores, acumulando los positivos y los negativos. informando al final. 7.- igual al anterior pero, operar los valores negativos con los positivos, calcular el promedio de negativos, de positivos y de ambos, mostrar los resultados en pantalla. 8.- Calcular la ecuacin de segundo grado, indicando las races del polinomio, la ecuacin a aplicar es

b b 2 4. a . c . x= 2. a
9.- Una empresa de suministro de electricidad tiene la siguiente tarifa: 0-15 KWH bsico 6,00 Bs por unidad; 15-55 KWH a 6,50 Bs sobre el bsico, 55-150 KWH a 25,50 Bs sobre lo anterior, de 150 KWH en adelante, 60 Bs, se debe emitir. 10.- Desarrollar un algoritmo/Diagrama de Flujo una tabla de multiplicar del 1 al 10. 11.- Disear un algoritmo/Diagrama de Flujo que permita calcular la edad de diez personas, se deber imprimir el nombre, la cdula y la edad de cada persona y su fecha de nacimiento. 12.- Realizar un ALgoritmo/Diag. de Flujo que permita chequear y procesar los datos por una agencia de viajes por cliente.,segn: a) N de Pasaporte. b) Fecha de expedicin de pasaporte (formato DD/MM/AA) c) Origen de pasaporte. d) Fecha de expedicin del certificado de vacuna (formato DD/MM/AA) e) Fecha de declaracin de Impuesto (formato DD/MM/AA), tomando en cuenta lo siguiente: - Si es expedido en Venezuela caduca al ao. - Si fue expedido en el extranjero caduca a los dos aos. Se deber imprimir un reporte con los datos recolectados por impresora. 13.- Disear un algoritmo / D. de F.Realizar un algoritmo/D. de F. que calcula el mnimo comn mltiplo de tres nmeros. Imprimir 14.- Disear un algoritmo / D. de F.Si se dan dos lados y el ngulo que ellos forman en un tringulo, determinar el tercer lado por la Ley de los Cosenos . Imprimir resultado.

15.- Disear un algoritmo / D. de F.para hallar el nmero ms grande de una serie de diez. imprimir resultado 16.- Disear un algoritmo / D. de F. para ordenar diez nmeros. imprimirlos. 17.- Disear un algoritmo / D. de F. que resuelva: Se dan tres anillos de diferente dimetro A> B> C, Se colocan en el primero de tres postes posibles. se debe mover un anillo a la vez, no debe haber nunca un anillo mayor sobre otro de menor dimetro y todos debern pasar al tercer poste, utilizando el segundo (Torres de Hanoi)

Pag. 5 de 5