MANUAL DE LOGICA PARA

PROGRAMACION DE

COMPUTADORES

POR

JORGE IVAN ARIAS TOBON

DOCENTE ALGORITMOS

Febrero 14 de 1994

Lógica : Jorge Iván Arias Tobón

Introducción Los últimos años los he dedicado no solo a la enseñanza de la Lógica de Programación sino al análisis de la enseñanza de la misma debido precisamente a que me he encontrado con que muchas personas confunden la Programación con la Lógica de Programación, la primera involucra el conocimiento de técnicas e instrucciones de un determinado lenguaje a través de los cuales se nos hace sencillo lograr que el computador obtenga unos resultados mucho mas rápido que nosotros. La segunda involucra, de una manera técnica y organizada, los conceptos que nos permiten diseñar en términos generales la solución a problemas que pueden llegar a ser implementados a través de un computador. El estudio de la Lógica de Programación no exige ningún conocimiento previo de computadores ni de tecnología en general, tampoco exige la presencia de algún lenguaje de programación específico. Puedo garantizarle que si usted lee este manual hoja por hoja y desarrolla los ejercicios aquí planteados, al llegar al final del mismo podrá (y se lo garantizo) entender que programar no es más que buscar soluciones muy lógicas utilizando unos conceptos muy sencillos. Espero pues que este manual cumpla el objetivo planteado pues pensando en usted fue como se concibió. No se vaya a afanar por leerlo de una sola vez, tómese su tiempo para razonar y asimilar los conceptos que aquí se plantean. El Autor

1

Lógica : Jorge Iván Arias Tobón

ALGORITMOS

Qué es un Algoritmo...? Es un conjunto de pasos secuenciales y ordenados que permiten lograr un objetivo. Que sean pasos secuenciales significa que deben ser ejecutados uno después de otro y que sean pasos ordenados quiere decir que deben llevar un orden quasi-obligatorio (u obligatorio en la mayoría de los casos). Como puede notar el algoritmo permite lograr un objetivo. O sea que éste es el camino que necesitamos para lograrlo. Operadores Los operadores son signos que nos permiten expresar relaciones entre variables y/o constantes, relaciones de las cuales normalmente se desprende un resultado. Ya hemos manejado dos operadores que son el de la suma (+) y el de la resta (-) pero no son los únicos. En un algoritmo computacional también se pueden utilizar los siguientes operadores ^ Para expresar la potenciación * Para expresar la multiplicación / Para expresar la división Debo anotar que la notación para potenciación que vamos a utilizar en este manual no es standard para todos los lenguajes de programación y en algunos casos el mismo signo tiene otro significado. Por tal motivo sugiero que cuando vaya a utilizar este operador en un programa determinado donde necesite realizar operaciones de potenciación consulte primero el manual del Lenguaje en el cual esté trabajando. Variable Informalmente algo variable es algo que puede cambiar de un momento a otro. Técnicamente una variable es un campo de memoria al que se le puede cambiar su contenido cuantas veces sea necesario. Primera aclaración, un campo de memoria es un pedacito de la memoria principal del computador en donde podemos guardar un dato. Segunda aclaración, a pesar de que en la memoria es donde se guarda la información exactamente ésta se almacena en variables. Esto le ha de representar a usted que es a través de variables como se puede utilizar la memoria del computador. Para poder utilizar variables en el desarrollo de un programa de computador se debe primero decir qué tipo de datos va a almacenar pues las variables son campos de diferentes tamaños y por tal motivo se deben declarar previamente para que el computador las dimensione de acuerdo a las necesidades. Cuáles son los tipos de datos que pueden ser almacenados en una variable. A pesar del avance de la tecnología, los tipos de datos de las variables pueden ser : Un dato de tipo entero que es un número que no tiene punto decimal, por lo tanto en sus operaciones jamás va a generar decimales. Por ejemplo 25, -96 y 0. El

2

Lógica : Jorge Iván Arias Tobón

hecho de que los datos de tipo entero no generen decimales significa que operan con un juego de reglas llamado Aritmética Entera. Una variable que se declare de tipo entero podrá almacenar solamente datos de tipo entero. Tipo Real: Un dato de tipo real es un número que tiene punto decimal, por lo tanto en sus operaciones puede generar decimales. Por ejemplo 12.3, -78.56 o 45.0. El hecho de que los datos de tipo real generen decimales significa que operan con un juego de reglas llamado Aritmética Real. Una variable que se declare de tipo real podrá almacenar solamente datos reales. Tipo Carácter Dado que los caracteres son símbolos, las operaciones directas que se pueden realizar con sus campos son: asignación , operaciones lógicas

relacionales y ordenes de entrada y salida de información „A‟ „B‟ „%‟ „@‟

Es de hacer notar al alumno, que un dígito que representa a un carácter, no es lo mismo que el valor que representa el mismo dígito. En este sentido, por ejemplo, el carácter „4‟ es diferente al número 4.

EL TIPO CADENA DE CARACTERES ( STRING) El tipo carácter permite la manipulación de dígitos por separado, en cambio el tipo de datos de cadena de caracteres, permite la manipulación conjunta de una secuencia de dígitos. Un ejemplo de cadena de caracteres es : “ María Alejandra Arias Bedoya” “ Cra 93A No 77-65” Nota : Las cadenas de caracteres se encierran entre dobles comillas

3

una variable o como resultado de una expresión) el valor anterior de la misma variable se reemplaza. Como la variable a tenía el contenido 8 y la variable b también tenía el contenido 8 entonces el computador sumara 8+8 y ese 16 de resultado lo almacenará en la variable c Puede notarse en este ejemplo que en la variable a se ha almacenado una constante.?. El computador siempre resuelve lo de la derecha de la flecha o del signo igual y su resultado lo almacena en la variable que esté a la izquierda . . De manera que cualquiera de los siguientes esquemas son válidos a  8 Le indica al computador que guarde la constante 8 en la variable a b = a Le indica al computador que guarde en la variable b el contenido de la variable a c = a + b Le indica al computador que guarde en la variable c el resultado de sumar el contenido de la variable a con el contenido de la variable b. en la variable b se ha almacenado el contenido de otra variable y en la variable c se ha almacenado el resultado de una expresión. o sea. Ejercicios de Aplicación 1. Al lado derecho del igual puede haber una constante.Lógica : Jorge Iván Arias Tobón Cómo se asignan los datos a las variables. Todo lo que debe tener en cuenta con la asignación de las variables es lo siguiente: a. muy sencillo. De manera que ya usted puede ver claramente en esta definición que a la izquierda del igual solo puede haber una variable y al lado derecho del mismo puede haber una constante. a = 19 b = 37 c = 12 a = a + 65 4 . Al lado izquierdo del igual solo puede haber una variable b. Y qué pasará si luego de tener estas tres instrucciones adicionamos la siguiente: b = 9 Pues. Así si se quisieran escribir los contenidos de las variables a. b y c el computador nos reportaría para a el contenido 8.? Pues a través de un signo muy conocido por usted y es el signo  o el signo igual también. Este signo denota que lo que está a la derecha lo va a almacenar en la variable que se encuentre a la izquierda . Ello significa que cada que se asigna un nuevo valor (proveniente de una constante. para b el contenido 9 y para c el contenido 16. una variable ó una expresión.. Cómo se “cargan” las variables. una variable o una expresión c. el anterior contenido de la variable b que era 8 va a ser reemplazado por el nuevo contenido de la variable b que es 9.

c y d ? 3. b y c ? 2. b. a=5 b = 18 c = 15 d = 25 a = a + 10 b=b+5–c c=c+4+b d=d+b+a a=a+1 b=b+c c=b+c d=b+b Qué valores quedan almacenados en las variables a. a=9 b=6 a=a+4 b=b+2 a = a + 10 b = b – 25 a = a – 20 b=b+5 a=a+4 b=b+2 a = a + 10 b = b – 10 Qué valores quedan almacenados en las variables a y b ? 4. a = 18 b = 18 c = 18 5 .Lógica : Jorge Iván Arias Tobón b=b+4–a c=a+b+c a=a+c b=4 c=c+3-b+2 Qué valores quedan almacenados en las variables a.

a = 10 b=5 a=a-5 b=b+6 a = a + 18 b = b – 23 a = a – 21 b=b-5 a=a-4 b=b-2 a = a + 10 b = b + 10 Qué valores quedan almacenados en las variables a y b ? 6. a=8 b=7 c=5 d=8 a=a+b–c+d b=a+b–c+d c=a+b–c+d d=a+b–c+d a=a+b–c+d b=a+b–c+d c=a+b–c+d d=a+b–c+d Qué valores quedan almacenados en las variables a. b c y d ? 6 . c y d ? 5.Lógica : Jorge Iván Arias Tobón d = 18 a=a+b b=a-b c=a+b d=a-b a=a-b b=a+b c=a-b d=a+b Qué valores quedan almacenados en las variables a. b.

se acostumbra encerrar los caracteres con comillas simples ( “ ” ) así se permite diferenciar el número 4 del carácter „4‟ ( el primero es un número y el segundo es un carácter ). que almacenan secuencias de caracteres . “ C” : carácter . variables de tipo lógico o booleano. Cuáles son las características fundamentales de una variable? Básicamente las variables tienen dos características : La primera es que deben tener un nombre que las identifique y que facilite su uso y la segunda es que deben tener un tipo que es el que caracteriza el dato que pueden almacenar. Como ejemplo de este tipo de datos. o algún otro elemento. podemos citar: “Perdió o gano la prueba” “Es hombre o es mujer” ASIGNACIÓN 7 . variables de tipo cadena o de caracteres. que sólo pueden almacenar números de tipo entero. El tipo de dato carácter sirve para definir un tipo de dato mucho más poderoso y flexible.Lógica : Jorge Iván Arias Tobón Para evitar confundir el tipo de datos carácter con otro tipo de dato. así existen variables de tipo entero. variables de tipo carácter que almacenan caracteres . TIPO DE VARIABLES Al igual que los datos tienen asociado un tipo. que sólo almacenan un dato falso o verdadero. El tipo de una variable está directamente relacionado con el tipo de datos que almacena. Variable A : entero. variables de tipo real que almacenan números reales .

se declaran e inicializan las variables a partir del inicio . es decir. ASIGNACIÓN INTERNA Es aquella en la cual se asigna un valor a una variable dentro del mismo diagrama o algoritmo. por medio del teclado. lo que se interpreta como que lo que hay a la derecha se va almacenar o a guardar temporalmente en la variable definida a la izquierda. Se simboliza por medio de una flecha con sentido de derecha a izquierda o mediante el signo igual. ASIGNACIÓN EXTERNA Es aquella que se realiza cuando la información se asigna a la variable desde afuera del diagrama por medio de el teclado. El proceso mediante el cual se almacena información en una variable.Lógica : Jorge Iván Arias Tobón Operación que permite especificar el valor que va a contener una variable y se denota con el símbolo  o también con el signo = Así por ejemplo: Base  7 Base = 7 Almacena el número siete en la variable Base. Un ejemplo de asignación externa es: Muestre “ digite el nombre y cédula del usuario” Lea nombre. recibe el nombre de asignación. cédula 8 . Y ésta puede hacerse de dos maneras: Dentro del diagrama ( asignación interna ) o desde afuera del diagrama ( asignación externa ). Para hacer esta asignación se requiere de una instrucción de lectura o de lea o leer.

OPERADOR + * / DIV MOD PRIORIDAD Para evitar ambigüedades se han establecido las siguientes prioridades para la ejecución de los problemas. Una expresión se compone de valores y símbolos llamados operadores. el operador es el signo + que indica que los números 8 y 9 deben ser sumados.Lógica : Jorge Iván Arias Tobón EXPRESIONES : Los lenguajes de programación disponen de ellas para permitir la combinación de varios valores. Una expresión no es más que una fórmula la cual se utiliza para efectuar un cálculo. para obtener un resultado. OPERADOR PRIORIDAD Suma Resta Multiplicación División Devuelve el cociente Devuelve el residuo EXPLICACIÓN + - 3 3 9 . Ejemplo en la siguiente expresión 8 + 9.

NOTA: Si deseamos variar el orden en la ejecución de la expresión. éstos se procesan de izquierda a derecha así: 2+9*8 Se ejecuta la multiplicación primero y por último la suma. podemos valernos de los paréntesis para hacerlo así: (2+9)*8 Se ejecuta primero la suma y por último la multiplicación. OPERADORES DE RELACIÓN OPERADOR Mayor que Menor que Mayor o igual que NOTACIÓN > < >= 10 .Lógica : Jorge Iván Arias Tobón * / DIV MOD 1 1 2 2 Si en una expresión hay varios operadores con una misma prioridad. haciendo notar aquí que el paréntesis tiene mayor prioridad sobre cualquier operador.

3 Definir qué operaciones o cálculos necesita realizar el programa utilizando los datos que el usuario le suministró al mismo para obtener los resultados que el programa le mostrará. Aclarar cualquier duda que se tenga de alguna pregunta o condición. Estos son los datos que el usuario le suministra al problema generalmente desde el teclado. 11 . 1 Leer el enunciado del problema hasta que se tenga claro qué se pide hacer. Todos los pasos son de igual importancia para obtener un buen resultado. 4 Determinar los resultados e informes que el programa debe generar. 2 Determinar los datos de entrada con que se cuenta para la solución del problema.Lógica : Jorge Iván Arias Tobón Menor o igual que Igual Diferente OPERADORES LÓGICOS OPERADOR Y O NOTACIÓN <= = <> ^ v PLANTEAMIENTO DE ALGORITMOS Y SU SOLUCIÓN Todos los pasos que a continuación se enuncian tienen por objeto: una buena solución a un ejercicio cualquiera mediante un buen análisis del mismo.

A continuación debe tener en cuenta los siguientes enunciados: Definición de variables: El alumno debe definir o darle un nombre a las variables que van a intervenir en el proceso. así : Lea Sbrut. Datos de entrada: Los puede ingresar en el computador por medio de una asignación interna o externa de acuerdo con los datos e información proporcionada por el problema. excluyendo las variables que van a ser calculadas por el programa. Pret. entonces las variables se pueden definir como: Sbrut.Iss. prestamos Datos de salida: En estos intervienen los mensajes y las respuestas o datos de salida así: 12 . Pret = 0. Cálculos: En estos podemos ingresar las operaciones que se plantean en el problema así: Pret = Sbrut . número de horas trabajadas. etc. porcentaje a retener. así por ejemplo si las variables son : Salario bruto. Nht.Lógica : Jorge Iván Arias Tobón 5 Tener en cuenta toda clase de restricciones y condiciones que tenga el problema para su solución. Nht. coop. etc. En el planteamiento y solución de un diagrama el alumno debe leer cuidadosamente el enunciado de el algoritmo cuantas veces sea necesario hasta entenderlo. Pret También :  Sbrut = 0 . Net = 0.

N3 Result  N1+ N2+N3 Muestre: “El resultado de la suma es :” . Estructuras de control Las estructuras de control que los lenguajes determinan. inicio Leer N1. en este caso Pret. éste presentará errores. de no ser así en el momento de codificar el algoritmo a un lenguaje.N2. Result 13 . establece una sucesión en la que dichas instrucciones son ejecutadas en el siguiente orden:  Secuencia  Condiciones  Ciclos Estructura secuencia En ésta las ordenes o instrucciones van siendo ejecutadas en el mismo orden en que han sido escritas así: Realizar un algoritmo que permita leer desde el teclado tres números y que muestre como resultado la suma de ellos. Pret Nótese que luego de las comillas va una coma con el fin de diferenciar el mensaje de la variable que deseamos mostrar.Lógica : Jorge Iván Arias Tobón Muestre “ El porcentaje de retención es de:”.

A este sueldo neto hay que descontarle el Iss cuyo valor es del 7% apróximadamente. sueldo neto. cédula. b y c  Elabore un algoritmo que permita leer el nombre y apellido de un empleado. su cédula y calcule su sueldo neto si el básico devengado por hora es de dos mil quinientos pesos m/l y el número de horas trabajadas es de 16. retenciones. apellido.  Elabore un algoritmo que calcule y muestre por pantalla la hipotenusa de un triángulo rectángulo para cualquier cateto A y B  Desarrolle un diagrama que calcule e imprima el radio para un círculo cuya área vale X  Elabore un algoritmo que calcule y muestre por pantalla las raices de un triángulo de la forma ax2 + bx + c para cualquier valor de a.Lógica : Jorge Iván Arias Tobón Fin_Inicio Fin Algoritmos de aplicación  Desarrolle un algoritmo que calcule e imprima la suma de los números 12 y 45  Elabore un diagrama que calcule y muestre por pantalla la suma de tres números  desarrollar un diagrama que multiplique dos números y el resultado lo sume con 32 e imprima el resultado junto con un mensaje que diga : “ felicitaciones has desarrollado bien la parte aritmética” . un préstamo de ciento veinte mil pesos m/l y mostrar por pantalla nombre. 14 .

Las cuatros causas de condición son : 15 . base menor y altura. calcular su raíz cuadrada y la muestre por pantalla. su código y su nota. Para entregárselo al propietario. Condiciones Es una es una estructura de control no secuencial en la cual se permite dar alternativas cierto o falso.  Elabore un algoritmo que le permita mostrar por pantalla.  Desarrolle un algoritmo que calcule el área de un cuadrado y muestre esta por pantalla.Lógica : Jorge Iván Arias Tobón  Elabore un algoritmo que calcule y muestre por pantalla el área de un trapecio.  Desarrolle un algoritmo que permita leer el nombre de un alumno. El algoritmo propuesto debe calcular el voltaje y mostrar por pantalla el resultado expresado en voltios. así como el número de sus placas y que imprima. imprimir nombre código y nota así como un mensaje que diga ¨ felicitaciones. para cualquier base mayor. su nombre.  Diseñe un diagrama para un circuito electrónico en el cual se digita la resistencia y la corriente.  Elabore un diagrama que permita leer un número. ganó ¨ . apellido y documento de identidad  Elabore algoritmo que permita leer el color y el modelo de un carro.

000 ) Entonces. Si la cantidad es mayor que 800.000 le dará un mensaje de felicitaciones y le asigna un bono de 20% de lo vendido. Si ( ventas > 800.Lógica : Jorge Iván Arias Tobón En una dirección. Múltiples o Caso. Muestre “ digite el volúmen de ventas ” Lea ventas. 16 . Ejemplo : Diseñe un algoritmo que lea las ventas hechas por un vendedor. Ejemplo : 1. Inicio. Anidadas. pero si es falsa se termina la condición. En una dirección : Si ( condición ) entonces Grupo de tareas Fin Si Si la condición es cierta se sigue o ejecuta el grupo de tareas . En dos direcciones.

nos lleva al cumplimiento de un grupo distinto de tareas direcciones. o sea la condición en dos 17 . comisión Fin Si Fin_inicio Condición en dos direcciones Existen situaciones en que la condición bien sea cierta o falsa.20.) Muestre “ la comisión es :”. Estructura Si ( condición ) Entonces Grupo de tareas1 Si no Grupo de tareas2 Fin si Ejercicio Diseñe un algoritmo que lea dos números los compare y los imprima si son iguales o no.Lógica : Jorge Iván Arias Tobón Muestre “ Felicitaciones ” Comisión =( ventas * 0.

Inicio Muestre “ Dígite el nombre del autor y la nacionalidad” Lea Autor. es decir.Lógica : Jorge Iván Arias Tobón Inicio Muestre “ digite los dos números que se van a comparar” Lea Nro1. repase su lección” y termina el programa. se le da un mensaje de felicitación y termina el programa . “ García Márquez”. entonces se le hará una nueva pregunta ( 2da condición ) Si responde Colombiano. Si se equivoca ( condición falsa) se le da un mensaje que diga “ No acertó. nacionalidad 18 .Nro2 Si ( Nro1=Nro2 ) Entonces Imprima “ Si son iguales los números comparados” Si no Imprima “ No son iguales los dos números comparados” Fin si Fin Condiciones anidadas Se trata de aquellas que hacen parte de otras supongamos que el programa pregunta al alumno quien fue el autor de la obra “ cien años de soledad” y que la respuesta no sea acertada. entonces el programa le dará un mensaje de error y termina pero si la respuesta es acertada.

es decir. donde de acuerdo con el valor que tenga el controlador.Lógica : Jorge Iván Arias Tobón Si ( Autor = “García Marquez” ) Entonces Si ( Nacionalidad = “Colombiano”) Entonces Muestre “ Felicitaciones ha acertado” Si no Muestre “ No acertó repase su lección” Fin si Fin si Fin La Estructura Caso o Selección Múltiple Esta estructura permite seleccionar una. Es una estructura selectiva múltiple. De acuerdo con el valor que tenga el controlador. dentro de un conjunto de alternativas con base en el valor almacenado en un campo variable denominado selector o campo controlador de la estructura. se realiza una determinada tarea una sola vez. el control de ejecución del programa pasa a uno de varios puntos del mismo. no repite la ejecución de la misma o secuencia. evitando así una serie de preguntas. REPRESENTACIÓN CASOS DE <VARIABLE> CASO 1: <TAREAS1> CASO 2: 19 .

Si fuese Gandhi. Si es Bolívar escríbase Libertador. Si es madre Teresa el mensaje será “Servicio a los mas pobres”. Veamos cómo lo realizamos: inicio Muestre “digite escriba el nombre del personaje” Lea Per Si (Per = „Bolívar‟) Entonces Muestre „Libertador‟ Si ( Per = „Madre teresa‟ ) Entonces Muestre „Servicio a los mas pobres „ Si (Per = „Gandhi‟) Entonces Muestre „Libertad a la india „ 20 . el programa escribirá el mensaje “No identificado”. el programa escribirá “Libertad a la india”. pero si es cualquier otro personaje.Lógica : Jorge Iván Arias Tobón <TAREAS2> CASO N: <TAREA N> FIN_CASOS Algoritmos de aplicación Ejemplo: Leer desde el teclado el nombre de algún personaje histórico.

imprimir el mensaje “ gana menos del mínimo”. número de horas laboradas. s i es así muestre el salario neto. Calcular el salario neto mensual restando el 7% al salario bruto por seguro social y agregamos un subsidio de 15000 pesos si el salario neto es menor del mínimo vigente . De acuerdo con su respuesta. se le asignará la bonificación. Observe la tabla adjunta.Lógica : Jorge Iván Arias Tobón Si no Muestre „no identificado‟ Fin si Fin si Fin si Fin_inicio Diseñe un programa que pregunte por el volumen de ventas medido en pesos de un vendedor de la firma SIGA LTDA. Volumen de ventas Menos de 200000 Entre 10000 y 150000 Entre 70000 y 100000 Más de 200000 Bonificación 10000 9500 7500 15000 Diseñe un algoritmo que permita leer el valor por hora laborada. calcular el salario bruto por mes. Contador no 21 . para un empleado .

Donde Porc1 = porcentaje de hombres que estudian sistemas 22 . el porcentaje de estudiantes de sistemas sería: Porc = Número de estudiantes de sistemas * 100 / 468 en este caso 468 es el número total de iteraciones... se actualiza en ella misma más el contenido de una variable X debe de estar inicializada generalmente en cero antes y por fuera del ciclo. Por ejemplo: Si de 468 estudiantes sabemos cuantos estudian sistemas.Lógica : Jorge Iván Arias Tobón Se define una variable contador como aquella que se actualiza en ella misma más un valor constante que usualmente es 1. el porcentaje de hombres que estudian sistemas sería: Porc1 = Número de hombres que estudian sistemas * 100 / Número total de estudiantes de sistemas. Los acumuladores y contadores se usan para cálculos de promedios y porcentajes. pero si además sabemos cuantas hombres estudian sistemas y cuantos de los 468 alumnos estudian sistemas. en general podemos decir que: Promedio = Acumulador / Contador Porcentaje = Contador * 100 / ( Nro total de iteraciones o el valor de otro contador ). suma de notas. Acumulador Una variable acumuladora se utiliza dentro de procesos cíclicos para efectuar sumas acumuladas (suma de edades. debe tenerse en cuenta que el acumulador y el contador van dentro del ciclo y el cálculo del promedio o del porcentaje van por fuera del mismo.) . suma de salarios.

es decir. el usuario determina cuando quieren interrumpir la ejecución del ciclo puesto que bastará dar un valor tal que la expresión lógica se vuelva falsa. edad. el switche o el campo centinela teniendo en cuenta que el valor asignado sea tal que vuelva verdadera la proposición lógica si se quiere entrar al ciclo. cuando se vuelva falsa. un switche o un centinela) se debe hacer lo siguiente :  Leer antes del encabezamiento del ciclo el campo control. En este caso se dice que el ciclo esta controlado por un campo centinela. y demás ). si y sólo si.  Usando una de las variables que contienen la información a procesar ( nombre.  El ciclo se ejecuta. 23 .Lógica : Jorge Iván Arias Tobón Ciclo mientras que Son estructuras repetitivas que se utilizan cuando no se conoce el número de iteraciones a ejecutar por ejemplo cundo se hace una encuesta. estos ciclos tienen las siguientes características :  El encabezamiento está formado por la frase mientras que seguida de un proposición lógica simple o compuesta encerrada entre paréntesis.  El control de las iteraciones lo tiene el usuario.  La proposición lógica se puede formar de dos maneras :  Usando una variable adicional a las variables del diagrama la cual puede ser un switche o una variable llamada control. se sale automáticamente del ciclo. En ambos casos ( usando un control. estado civil. la proposición lógica es verdadera. sexo.

J 1 Muestre ( “ DIGITE EL NUMERO DE ESTUDIANTES “ ) Lea ( Numero) Mq ( J < = Numero ) Haga J  J+1 24 . el ciclo repetirá el conjunto de instrucciones se repetirá 30 veces ( 30 iteraciones ) . Es el programador en este caso quien conoce el número de iteraciones.1 CONTADOR = CONTADOR + 1 FIN Mq En el esquema anterior.Lógica : Jorge Iván Arias Tobón FORMATO O SINTAXIS 1 Mq ( Condición ) Haga Tareas -1 FIN Mq 2 CONTADOR  1 Mq ( Contador < = 30 ) Haga Tareas .

Desarrolle un algoritmo que permita al usuario leer una cantidad indeterminada de números y el programa debe mostrar cuantos números digitados por el usuario son mayores a su promedio. Realizar un algoritmo que permita leer la edad y el sexo de una cantidad indeterminada de personas. Desarrolle un programa que genere y sume comprendidos entre 10000 y 20000. El programa debe imprimir cuantas personas son mayores de 18 años y cuantas son menorer de edad . Ejercicios de aplicación Realizar un programa que permita leer 10 números e imprima sólo los números pares digitados por el usuario. Desarrolle un algoritmo que genere y muestre la suma de los números enteros del 1 al 70 y además que muestre el promedio de dichos números. Desarrolle un programa que permita al usuario leer 100 números y que muestre por pantalla cual fue el mayor número que el usuario digitó. Realizar un algoritmo que permita al usuario leer 50 números y que muestre por pantalla cuántos son múltiplos de 3.Lógica : Jorge Iván Arias Tobón FIN Mq En este caso es el usuario quien determina el número de iteraciones. Ciclo para los números pares 25 . además cuantas son mujeres y cuantos son hombres.

 El contenido de la variable de iteración debe estar controlada. un número determinado de veces. Esto también se conoce como el límite inferior del ciclo. con un valor constante o con el contenido de un campo variable.Lógica : Jorge Iván Arias Tobón La instrucción para se utiliza con el propósito de repetir una instrucción o un grupo de éstas.  Dentro de los procesos iterativos ocurre que se requiere efectuar procesos de sumas y conteos con el fin de efectuar cálculos posteriores de porcentajes y /o promedios. el porcentaje de personas mayores de edad. esto es comparada en cada iteración. Ejercicios de aplicación  Elaborar un algoritmo que lea 50 números. Se construye diseñando el proceso para una sola iteración y generalizándolo luego usando una variable de iteración con las siguientes características. Las sumas y conteos se pueden llevar acabo con unas variables llamadas acumuladores y contadores.  Elabore un diagrama que lea la edad de 120 personas. 26 . Este tipo de ciclo se usa sólo cuando se conoce el número de iteraciones.  Debe estar incrementada o decrementada en 1. calcule e imprima: el promedio de edad de las personas mayores de edad. el promedio de edad de las personas menores de edad y el porcentaje de personas menores de edad.  Debe estar inicializada antes y por fuera del ciclo generalmente en 1. Esto también se conoce como el límite superior del ciclo. calcule y muestre cuantos son positivos y cuantos negativos. el cual indica el número total de iteraciones.

y al final de estas se le asigna a la bandera el valor original. de forma que al evaluarse nuevamente la expresión lógica se 27 . luego mediante un decisión lógica. son :  y 1. aunque se pueden usar cualquier otros dos valores. se ejecutará el otro grupo de intrucciones. veamos un ejemplo de utilización: Switche para alternar procesos : En este caso se tienen dos procesos los cuales se deben realizar alternadamente. “ SI” y “NO” Las banderas o switches son de mucha utilidad en la programación y se utilizan en muchos procesos. para esto se inicializará el switch o variable sw en un valor. Los valores que puede tomar una bandera los determina el programador y es él quien decide en que momento se le cambia el valor. se le cambia el valor a el switch o variable sw de manera que cuando se vuelva a evaluar la expresión lógica. se le ordena realizar un grupo de instrucciones. 1 y 2. el promedio de salarios y el porcentaje de aquellos trabajadores que ganen menos de salario mínimo vigente. al final de éstas. Los valores mas usuales para una bandera. Bandera o switche Es un campo variable que sólo puede tomar uno de los valores posibles dentro de un diagrama.Lógica : Jorge Iván Arias Tobón  Elaborar un algoritmo que lea el salario neto para 50 trabajadores y calcule e imprima: El promedio de salarios y el porcentaje de aquellos trabajadores que ganen más del salario mínimo vigente.

2) Utilizando el ciclo Para . 28 .Lógica : Jorge Iván Arias Tobón ejecutará nuevamente el grupo de instrucciones que la primera vez y así sucesivamente. escribir la suma de x cantidad de números que se leerá por teclado. El switche es llamado sw y los valores que se le asignarán son 1 y 0. Sw  1 Si sw = 1 Entonces Tareas_1 Sw  0 Sino Tareas_2 Sw  0 Fin_si NOTA : La estructura anterior siempre debe ir dentro del grupo de instrucciones pertenecientes a un ciclo. Ejercicios de aplicación : Escribe un algoritmo apropiado para cada ejercicio : 1) Leer desde el teclado el nombre de una persona y escribirlo 20 veces utilizando el Mientras que.

tercero. pero nunca una combinación de ambos tipos ). se requiere procesar un conjunto grande de datos que deben mantenerse en la memoria de trabajo del computador. segundo. por cierto. Existen arreglos de dos clases : El arreglo en una dimensión . 3) Hallar la suma de los números enteros del 1000 al 1050.Lógica : Jorge Iván Arias Tobón NOTA : Debes preguntar cuantos números se van a leer. Ordenada : Porque se puede determinar cual es el primer elemento. En ocasiones .y con bastante frecuencia. En casos como este. 4) Utilizar cualquier método de repetición para leer un numero entero positivo y calcular su factorial. Hasta el momento hemos seguido el proceso convencional de procesamiento de datos.  Homogénea : Todos los elementos de un arreglo son del mismo tipo ( Todos enteros. etc. Arreglos se definen como una colección finita.  Finita : Porque todo arreglo tiene un límite o sea un número máximo de elementos que pueden formar el arreglo. procesarlos y luego dar un resultado. llamado también 29 . 5) Escribir algoritmo que calcule y escriba las tablas de multiplicar desde el 1 hasta el 10. todos Booleanos. No siempre es tan simple dicho proceso. homogénea y ordenada de elementos. que consiste en leer unos datos. es ideal manejar arreglos.

3. c y el algoritmo debe mostrar por pantalla sus raíces x1 y x2.9.4 . Para distinguir cada una de estas posiciones.8. 4.3. A Supongamos que tenemos la lista con las calificaciones finales de sistemas para 15 alumnos del primer semestre de ingeniería de sistemas y queremos trabajar con dicha lista.9 .5. 3. 3. VECTORES Química ( 2 ) = 78 Química (10 ) = 45 30 . El arreglo consiste en una tabla formada por celdillas en cada una de las cuales ubicamos una de calificaciones. conocido como matriz. Supongamos que las notas evaluadas sobre 5 son las siguientes : 5. 4. 4. continuación veremos en que consiste el primero. Para el caso. el arreglo tendrá diez celdas así : Química 1 2 3 4 5 6 7 8 9 10 Es claro que el arreglo Química posee diez posiciones diferentes. 3.5 Puesto que se trata de las notas de sistemas de química denominemos con dicho nombre el arreglo. así : Química ( 1 ) = 56 Ejercicios de Aplicación Realizar un programa que permita leer 80 números y el algoritmo debe calcular y mostrar cuántos negativos y cuántos positivos fueron leídos.8. Diseñe un algoritmo que permita al usuario dígitar los coeficientes de una ecuación cuadrática a. y el arreglo en dos dimensiones.Lógica : Jorge Iván Arias Tobón vector. 4. b. utilizaremos números subíndices.

Tipo de vector : En la mayoría de lenguajes de programación los Vectores solamente pueden almacenar datos de un mismo tipo. es de tipo entero y de tamaño 10. un Vector de cadenas de caracteres. En la gráfica anterior el Vector se llama NUMEROS. b. Representación gráfica de un vector Números 2 1 9 12 8 4 15 5 11 6 34 56 23 78 7 8 9 10 2 3 Características de un vector a. Este tamaño también es definido por el programador. un Vector de datos lógicos (Booleanos) etc. Tamaño del vector : Es el número de datos que el Vector puede llegar a almacenar. Nombre del vector : Todo vector tiene un nombre definido por el programador. c. d. Indice : Es un dato entero que identifica cada elemento del Vector. por ejemplo se puede tener un vector de enteros. El tipo del Vector también es definido por programador. Almacenamiento de datos en un vector 31 .Lógica : Jorge Iván Arias Tobón También se conoce como arreglo y éste es una estructura lineal que permite almacenar un conjunto de datos del mismo tipo en memoria RAM.

Nótese que cuando J = 1 se tiene Vect ( 1 ). 32 . los valores almacenados en un vector pueden ser dados por asignación interna así: Nombres 1   “Alejandra” Edades  5   20 Cédulas  Y   Por asignación externa así: Muestre “ Digite el salario del empleado” Lea Salarios[ 4] En el anterior ejemplo. cuando J = 2 entonces Vect ( 2 ) y así sucesivamente se van asignando datos o información en cada posición del vector. “43567432” Pasos Para Crear un vector:  Se lee el tamaño del vector que es de N elementos  Se aplica un para desde 1 hasta N valor o tamaño  Se define un nombre para el vector llamado Vect de tamaño N y la variable J sirve para indicar las posiciones del vector.Lógica : Jorge Iván Arias Tobón Al igual que las variables. el usuario está almacenando desde el teclado un salario determinado y luego el programa almacena el contenido en el Vector llamado Salarios posición 4.

1 Si ( Num[ I ] > Num[ J ] ) entonces Aux  Num[ J ] Num[ J ]  Num[ I ] Num[ I ]  Aux 21 2 3 3 4 4 15 5 33 . el subíndice del término izquierdo ( I ) inicia en 1 y va hasta el penúltimo elemento (N -1) del tamaño total del vector. Partiendo del supuesto de que el vector llamado Num ya está lleno.Lógica : Jorge Iván Arias Tobón Método de la burbuja para ordenar vectores En toda comparación efectuada. Los ciclos son anidados porque el subíndice del término derecho ( J ) cambia más rápidamente que el subíndice del término izquierdo ( I ). N – 1. ordenar por el método de la burbuja su contenido. N. Num 25 1 Inicio Lea N Para I = 1. mientras que el subíndice del término derecho ( J ) empieza siempre en una posición más que el anterior ( J = I + 1 ) y va hasta el último elemento ( N ). 1 Para J = I + 1.

Procedimiento para insertar un elemento Para insertar un elemento en un vector. es necesario que éste se encuentre comprendido dentro de los elementos del vector. El vector ordenado quedará así: Num 3 1 4 2 21 3 15 4 25 5 El alumno deberá efectuar la prueba de escritorio para el ejercicio anterior.Lógica : Jorge Iván Arias Tobón Sino Fin-si Fin-para Fin-para Fin_Inicio Donde Aux es una variable auxiliar para intercambiar los elementos de un vector. Partiendo del supuesto de 34 .

1 Si ( A[ I ] < Element ) entonces Sino Aux  A[ I ] A[ I ]  Element Element  Aux 34 4 45 5 60 N= 5 35 . se desea insertar el elemento 40 para lo cual se procede así: 1. N.Lógica : Jorge Iván Arias Tobón que el vector A ya fue lleno con antelación. Element Para I = 1. Creamos la variable auxiliar llamada Aux 2. Creamos la variable llamada Element Aux 45 Element 40 45 A 0 1 2 15 3 Inicio Lea N.

Se desea saber cual es el salario bruto. altura. la retefuente. Dado el valor de un lado del triángulo equilátero. y perímetro.Lógica : Jorge Iván Arias Tobón Fin-si Fin-para Fin Una vez insertado el elemento. Un empleado trabaja 48 horas semanales a razón de $8.000 hora: El porcentaje de retención en la fuente es de el 7% del salario bruto. Elabore un algoritmo que lea las variables A y B y pase el valor de A a B y de B a A . sin utilizar más variables. el vector A quedaría así: 0 1 15 2 25 3 40 4 45 5 60 6 N=5 EJERCICIOS DE APLICACIÓN    Elabore un algoritmo que lea un número y obtenga su cuadrado y su cubo. y el salario neto del empleado. haga un diagrama que obtenga y muestre por pantalla su área. Dado el radio de un círculo. haga un programa que obtenga su área y la longitud de la circunferencia. Elabore un diagrama que lea un número positivo y muestre el número y el negativo del mismo.    36 .

apellido. Al papá de Alejandra Arias le preguntan su edad. número de cédula y los imprima. Número de cédula Número de horas trabajadas al mes. Valor hora trabajada. pregúntele a Iván su edad. Elabore algoritmo que lea :Su nombre. Retefuente. apellidos. Se desea conocer cuantos meses han transcurrido entre Enero de 1957 y Enero de 2003. Astrid tiene 2/3 de la edad de Iván. salario bruto y salario neto. Se tiene la siguiente información de un empleado estatal: Nombre y apellido. Elabore algoritmo que muestre: Nombres.Lógica : Jorge Iván Arias Tobón                   Escriba un algoritmo que dados dos valores A y B. desarrolle algoritmo que calcule su base y la muestre por pantalla. y contesta: Tengo 3 hijos. Elabore un algoritmo que calcule el área de un cuadrado que tiene de lado 8 cmts e imprima ésta. encuentre : A–B/2 (A + B) * 7 A *B (A / B) + 12 Dados los catetos de un triángulo rectángulo. la altura 16. El área de un triángulo es 32. 37 . diiseñe un algoritmo que calcule su hipotenusa y la imprima.

Elabore algoritmo que lea tres números enteros y los imprima en orden inverso a su lectura. menor o igual a B.500. Elabore un algoritmo que imprima la edad de los cuatro.      Elabore un algoritmo que dados dos valores numéricos A y B. Elabore un algoritmo que lea el nombre y la edad de un grupo de X personas e imprima el promedio de las edades de las personas mayores de edad. Elabore un programa que lea N números y establezca el número menor. Elabore un algoritmo para determinar si en la variable a. nombre . de lo contrario asigne a b el número 0. mayor o igual a cero ) o negativo ( caso contrario). su nombre y un mensaje que diga “ Alumno matriculado en menos de seis materias “. Elaborar algoritmo que permita crear la factura correspondiente a una compra de un artículo determinado del que se adquieren una o varias        38 . Elabore un algoritmo que lea un número y lo imprima sólo si es positivo. si ésta es mayor o igual a $1. Elabore un programa que lea N números y establezca el número mayor y el promedio. Elabore un algoritmo que informe si cierto número es positivo ( es decir. elabore un algoritmo que almacene en la variable c el carácter numérico que corresponde al dígito almacenado en a. Elabore un algoritmo que lea de un alumno su carné. número de créditos y valor por crédito . escriba un mensaje que diga si A es mayor. Imprima su carné. En caso afirmativo asigne a b el número 1. de lo contrario imprima solamente el carné. en la variable c debe almacenarse el carácter “ 8 “. nombre y su valor de matrícula. Suponga que en la variable a existe un número entre 0 y 9.Lógica : Jorge Iván Arias Tobón Alejandra tiene 4 / 3 de la edad de Iván y mi edad es la suma de las tres. existe un número múltiplo de 5. Por ejemplo si en la variable a existe el número 8.000. Desarrolle un algoritmo que lea cualquier número e imprima tanto el número como su valor absoluto y un mensaje aclarando cual es cual.

además imprimir los estudiantes que aprobaron cada materia. Descuente el 20% si el valor a pagar por 3 productos. Elabore un algoritmo que lea el nombre y la edad de un grupo de m personas e imprima el promedio de las edades de las personas mayores de edad. escaleno o isósceles.   Se leen los lados de un triángulo.Lógica : Jorge Iván Arias Tobón unidades. E l IVA a aplicar es del 16% y si el precio bruto ( precio de venta + IVA )es mayor de $500000 se debe realizar un descuento del 5%. Mostrar la identificación del estudiante que obtuvo el mayor puntaje en un examen. Elabore un algoritmo que lea el nombre del estudiante y la nota definitiva por c/u de las cuatro materias que cursan los 50 estudiantes del instituto POC . supera el valor 220000. Elabore algoritmo que encuentre su perímetro y decir si es equilátero. Obtener e imprimir la nota promedio de cada materia y el mejor estudiante por materia del grupo.    39 .

Sign up to vote on this title
UsefulNot useful