SlideShare una empresa de Scribd logo
1 de 113
ALGORITMOS 
Alberto Echeverry Arroyave 
Ing. De Sistemas
Que es un Algoritmo 
 Un algoritmo es una secuencia de pasos 
lógicos y ordenados con las cuales le damos 
solución a un problema determinado. 
 Por ejemplo: En la vida diaria cada uno de 
nosotros diseña y realiza algoritmos para 
solucionar los problemas cotidianos, es así 
que al levantarnos de la cama ya tenemos en 
la mente una serie de pasos que debemos 
seguir para llegar al sitio de estudio o al sitio 
de trabajo. Una vez en el sitio de estudio, 
tenemos en nuestra mente una serie de 
tareas que debemos realizar en unos horarios 
ya definidos.
Características de los 
Algoritmos 
 1. Un algoritmo debe ser preciso e indicar el 
orden de realización de cada paso. 
 2. Un algoritmo debe estar definido. Si se 
sigue el algoritmo dos veces, se debe obtener 
el mismo resultado cada vez. 
 3. Un algoritmo debe ser finito. Si se sigue el 
algoritmo. Se debe terminar en algún 
momento, o sea debe tener un número finito 
de pasos.
Clasificación de los 
Algoritmos Según Quien los 
Ejecute 
 Algoritmos para ser ejecutados por Personas. 
 Algoritmos para ser ejecutados por Computadoras. 
 Tipos de Datos
Algoritmos para ser 
ejecutados por Personas 
 Para que un algoritmo sea ejecutado por una 
persona, debe estar escrito de tal manera que 
esta persona lo entienda claramente, algunas de 
las normas que debe seguir la construcción del 
algoritmo son las siguientes: 
 debe estar escrito en el idioma que comprende la 
persona que realizará el algoritmo. 
 debe enumerar cada uno de los pasos a realizar en 
un orden lógico. 
 debe utilizar palabras que comprenda claramente 
la persona que realizará el algoritmo.
Algoritmos para ser 
ejecutados por Personas 
 Ejemplos: 
 Un cliente ejecuta un pedido a una fabrica. La 
fabrica examina en su banco de datos si el cliente 
esta activo( no es moroso con sus deudas) 
entonces se acepta el pedido, en caso contrario 
se rechaza. 
 1. Inicio 
 2. Leer el pedido 
 3. Examinar ficha del cliente 
 4. Si el cliente esta activo aceptar el pedido, en 
caso contrario rechazar el pedido. 
 5. terminar
Ejemplo 
 Un cliente llaga a una entidad bancaria para 
realizar una consignación, el cajero le pide el 
número de la cuenta y el dinero a consignar, 
verifica que la cuenta si existe, si la cuenta es valida 
se hace la consignación (al saldo le aumenta el 
dinero recibido) de lo contrario devuelve el dinero. 
 1. Inicio 
 2. pedir numero de la cuenta y el dinero 
 3. si la cuenta es valida siga en 4 de lo contrario siga 
en 6 
 4. saldo= saldo +dinero 
 5 ir a 7 
 6 devolver el dinero 
 7 terminar
Ejemplo 
 Un cliente llaga a una entidad bancaria para 
realizar una consignación, el cajero le pide el 
número de la cuenta y el dinero a consignar, 
verifica que la cuenta si existe, si la cuenta es 
valida se hace la consignación (al saldo le 
aumenta el dinero recibido) de lo contrario 
devuelve el dinero. 
 1. Inicio 
 2. pedir numero de la cuenta y el dinero 
 3. si la cuenta es valida siga en 4 de lo contrario 
siga en 6 
 4. saldo= saldo +dinero 
 5 ir a 7 
 6 devolver el dinero 
 7 terminar
Realice los Siguientes 
Ejercicios 
 1. un retiro de dinero por parte de un cliente 
en una entidad bancaria 
 2. crear un algoritmo que describa los pasos 
necesarios par ir a la universidad a clase de 6 
Am tenga en cuenta que si llega 10 minutos 
tarde no puede entrar al salón de clase y si al 
llegar no trae el carnet no puede entrar a la 
universidad.
Realice los Siguientes 
Ejercicios 
 Diseñar algoritmos que 
resuelvan los posibles 
problemas que se 
presentan para: 
 1. ir al cine 
 2. Reparar un pinchazo 
de una bicicleta. 
 3. Hacer una llamada a 
un compañero. 
Regresar……
Algoritmos para ser 
ejecutados por Computadoras 
Los pasos para la solución de un problema utilizando 
como herramienta la computadora son : 
1. Diseño del algoritmo que describa la secuencia 
ordenada de pasos, que conducen a la solución de un 
problema dado(análisis del problema y desarrollo del 
algoritmo). 
2. Expresar el algoritmo como un programa en un 
lenguaje de programación adecuado( fase de 
codificación). La actividad de expresar un algoritmo 
en forma de programa se denomina programación. 
3. Ejecución y validación de programa por la 
computadora. 
Regresar……
Tipos de Datos 
los tipos de datos a utilizar en nuestros algoritmos son: 
1. numéricos: estos tipos de datos se utilizan para 
hacer cálculos matemáticos y pueden ser de dos tipos 
así: 
1. ENTERO: cuando el número no tiene parte decimal 
(ejemplo: 4 , 5 , 7, 97). 
2. REAL: cuando el número consta de una parte entera y 
una parte decimal (ejemplo: 2.33 , 4.59 , 5.0 ). 
2. CARACTER: contiene un solo símbolo y esta delimitado 
por comillas sencillas y puede ser: 
1. Caracteres alfanuméricos ('A', 'B', …, 'Z') 
2. Caracteres numéricos('1', '2', …'0') 
3. Caracteres especiales ('+', '-', '*', '/', ',' '.', '<' ,'>', '$', ….)
Tipos de Datos 
 3. CADENA(string): es una sucesión de 
caracteres que se encuentran delimitados por 
doble comilla. se utilizan para guardar 
información como el nombre de una persona, 
el color preferido etc. (ejemplos: " león ", 
"Maria", "azul", "rojo"). se utilizan para 
mostrar mensajes. 
 4. LOGICOS (booleanos): es aquel dato que 
sólo puede tomar uno de dos valores: 
verdadero(true) o falso (false).
Partes de Un Algoritmo 
 INICIO Y FIN 
 Una de las características de los algoritmos es 
que deben ser finitos. Se debe indicar 
claramente donde inicia y donde termina. 
 Ejemplo: 
INICIO 
FIN PROGRAMA
Partes de Un Algoritmo 
 DECLARACION DE VARIABLES 
 los datos son una parte muy importante en un 
algoritmo, pues son ellos el punto de partida y 
son ellos quienes sufren las transformaciones 
que darán los resultados deseados. Por esta 
razón el algoritmo debe guardar los datos en 
un sitio donde los pueda leer y modificar cada 
vez que lo requiera. los sitios donde el 
algoritmo guarda los datos los llamaremos 
ESPACIOS DE MEMORIA y el tamaño de 
estos dependen del Tipos de Datos que se 
quiera guardar en ellos.
Partes de Un Algoritmo 
 DECLARACION DE 
VARIABLES 
 Además si se tienen varios datos se debe 
tener la posibilidad de diferenciarlos de una 
manera que no se presenten confusiones 
asignándoles un “Identificador Valido” y 
único a estos espacios de memoria. 
Ejemplo: 
X, Y, X1, Y1, SUMA, CONTAR, MAYOR, 
MENOR, 
PROMEDIO, PORCENTAJE…….
Partes de Un Algoritmo 
 DECLARACION DE VARIABLES 
 Un espacio de memoria se denomina VARIABLE 
cuando su contenido puede variar en el tiempo y 
de CONSTANTE cuando no se permite que su 
contenido varié. 
 Lo primero que se hace en al algoritmo es 
declarar las variables. Donde se separan los 
espacios de memoria del tamaño indicado según 
el tipo de dato que guardarán y asignándoles un 
nombre o identificador válido, con el cual nos 
referiremos a la información que se guarda en 
dicho espacio de memoria.
Partes de Un Algoritmo 
 DECLARACION DE VARIABLES 
 para declarar las variables se hará de la siguiente 
forma: 
INICIO 
Tipo de Dato: Identificador, 
Identificador 
FIN PROGRAMA
Partes de Un Algoritmo 
 DECLARACION DE VARIABLES 
Ejercicios: 
 hacer un algoritmo que declare una variable para 
guardar el número de meses del año y otra variable 
para guardar el porcentaje de meses que tienen 30 o 
31 días. 
 hacer un algoritmo que declare una variable para 
guardar cuantas materias se han perdido en el 
semestre y otra para guardar el porcentaje de 
materias ganadas. 
 hacer un algoritmo que declare una variable para 
guardar el promedio del semestre, otra para guardar 
el nombre de un estudiante y otra para guardar el 
número de notas perdidas. 
 hacer un algoritmo que declare una variable para 
guardar el nombre de un deportista, otra para
Partes de Un Algoritmo 
 Entrada de Datos 
 cuando un algoritmo requiera que el usuario 
ingrese datos, se utilizará la instrucción LEER y 
entre paréntesis la lista de variables donde se 
guardarán los datos ingresados por el usuario. 
INICIO 
Tipo de Dato: Identificador, 
Identificador 
Leer (Identificador1, Identificador2) 
FIN PROGRAMA
Partes de Un Algoritmo 
 Entrada de Datos 
Ejercicios: 
 hacer un algoritmo que lea el nombre de un 
estudiante, la cantidad de materias perdidas y el 
porcentaje de materias ganadas. 
 hacer un algoritmo que lea el nombre de un 
estudiante, el promedio del semestre y el 
número de notas perdidas. 
 hacer un algoritmo que lea el nombre de una 
persona, la comida preferida y la cantidad de 
dinero que posee. 
 hacer un algoritmo que lea el nombre de un 
animal, la comida preferida y la cantidad de
Partes de Un Algoritmo 
 Salida de Datos 
si el algoritmo requiere mostrar la 
información que tiene guardada en variables 
(espacio de memoria) hacia el exterior (para 
el usuario final ), se utilizará la 
instrucción MOSTRAR y entre paréntesis la 
lista de variables donde se guardan los datos 
que se quieren mostrar.
Partes de Un Algoritmo 
 Salida de Datos 
INICIO 
Tipo de Dato: Identificador, 
Identificador 
Leer (Identificador1, Identificador2) 
Mostrar (Identificador1, Identificador2, 
Identificador3) 
FIN PROGRAMA
Partes de Un Algoritmo 
 Salida de Datos 
Ejemplo: 
INICIO 
Entero: N 
Leer (N) 
Mostrar (“El Número que Digito es:”,N) 
FIN PROGRAMA
Partes de Un Algoritmo 
 Salida de Datos 
Ejercicios: 1. hacer un algoritmo que lea el nombre de una persona, el número de 
horas que estudia en la semana y muestre el porcentaje de tiempo 
que dedica a estudiar y la cantidad de minutos que dedica a estudiar. 
2. hacer un algoritmo que lea el nombre de un estudiante, la cantidad 
de materias que cursa en el semestre, la cantidad de materias 
perdidas y muestre el nombre y el porcentaje de materias ganadas. 
3. hacer un algoritmo que lea el nombre de una persona, la comida 
preferida con su precio, la cantidad de dinero que posee y muestre la 
cantidad de comidas que puede comprar con el dinero que posee. 
4. hacer un algoritmo que lea el nombre de un deportista, la distancia 
recorrida, la cantidad de intentos y muestre la distancia promedio 
que ha recorrido.
La Operación de Asignación 
 Es el modo de copiar un valor específico en una variable 
o espacio de memoria. La operación de asignación se 
representa con el símbolo igual '=' La forma general de 
una operación de asignación es: 
INICIO 
Tipo de Dato: Identificador, 
Identificador 
Leer (Identificador1, Identificador2) 
Variable = Valor 
Mostrar (Identificador1, Identificador2, 
Identificador3) 
FIN PROGRAMA
Asignación en Una Variable 
Numérica 
 en una variable numérica (declarada como 
entero o real ) sólo se podrán guardar datos 
numéricos y existe dos formas de hacerlo: 
1. asignación de un número (constante 
numérica) a una variable numérica. 
Asumamos que la variable A ha sido 
declarada de tipo entero, si queremos copiar 
el valor de 5 en ella lo haríamos de la 
siguiente manera. 
A = 5 
se copia el valor de 5 en la variable A.
Asignación en Una Variable 
Numérica 
2. asignación del resultado de una 
expresión aritmética a una variable numérica. 
asumamos que las variable A ha sido 
declarada de tipo entero y queremos copiar 
en ella el resultado de la expresión aritmética 
5*2 +1 se haría de la siguiente manera. 
A = 5* 2 +1
Asignación en Una Variable 
Numérica 
 Expresión Aritmética 
 Una expresión es una combinación de 
constantes, variables, símbolos de operación, 
paréntesis y nombres de funciones especiales. 
 Operadores Aritméticos: 
+ - * / 
Exponenciación 
div División Entera 
mod Modulo (El Residuo de la División)
Asignación en Una Variable 
Numérica 
 Regla de Precedencia de los Operadores 
Matemáticos: 
1. las operaciones que están encerradas entre 
paréntesis se evalúan primero. Si existen 
paréntesis anidados( interiores unos a otros). 
Se debe evaluar primero las expresiones mas 
internas.
Asignación en Una Variable 
Numérica 
2. Las operaciones aritméticas dentro de una 
expresión suelen seguir el siguiente orden de 
prioridad: 
Exponenciación 
* , / 
+ , - 
div , mod
Asignación en Una Variable 
Numérica 
 Ejemplos de Expresiones Aritméticas: 
1 + 2 + 3 = 6 
1 + (2 + 5) * 2 = 21 
(4 * (2 + 1) ) mod 3 = 0 
(4 * 5 + 4 ) / 2 + 4 = 16 
2 ^ 2 *( ( 2 + 1 ) * 2 ) = 24 
(2 + (6 * 2 - 10)*2) div 5 = 1 
( 1 + 2 )* ( 2 + 3) + 1 = 16 
1 + ( 2 * (3+2)) = 11
Asignación en Una Variable 
Numérica 
 Ejercicios: 
1. hacer un algoritmo que lea dos números enteros A y 
B y muestre el doble de su suma. 
2. hacer un algoritmo que lea dos números enteros A y 
B y muestre el resultado de evaluar (A + B) *2 +10 
3. hacer un algoritmo que lea el alto y el ancho de un 
rectángulo y muestre su área y su perímetro. 
4. hacer un algoritmo que lea el nombre de una 
persona, el valor de la hora trabajada y el número de 
horas que trabajo. se debe mostrar el nombre y el 
pago de la persona 
5. hacer un algoritmo que lea el nombre de un articulo, 
el valor unitario, la cantidad a comprar y muestre el 
nombre y el total a pagar.
Asignación en Una Variable 
tipo Cadena 
 Asumimos que la variable NOMBRE, se a 
declarado como cadena (Carácter) en ella 
copiaremos el nombre MARIA. 
NOMBRE = MARIA 
 Expresiones de Cadena: 
“Hola” + “María” = Hola María 
 Expresiones de Cadena: 
A = Aviones 
B = Colores 
C = Comercial
Asignación en Una Variable 
tipo Cadena 
 A + B + C = Aviones Colores Comercial 
 “Los” + A + C + “son de” + B = Los Aviones 
Comerciales son de Colores 
 A + “de” + B = Aviones de Colores 
 A + C = Aviones Comerciales
Expresiones Lógicas 
 Una expresión lógica es una combinación de 
expresiones aritméticas, variables, constantes 
lógicas, paréntesis, operadores lógicos y 
operadores relacionales. 
 Operadores Lógicos: 
y (and) lo denotaremos por doble ampersan "&&". 
o (or) lo denotaremos por doble barras " | | ". 
no (not) lo denotaremos como admiración " ! ".
Expresiones Lógicas 
 Operadores Relacionales: 
igualdad lo denotaremos con doble igual " == " 
menor que, lo denotaremos por el símbolo "<" 
mayor que , lo denotaremos por el símbolo ">" 
menor o igual que, lo denotaremos con el símbolo "<=" 
mayor o igual que, lo denotaremos con el símbolo ">=". 
diferente, lo denotaremos por el símbolo "!="
Expresiones Lógicas 
Ejemplos con Operadores Lógicos y Relacionales: 
10 > 3 = verdadero 
1 > 3 = falso 
2 > 1 && 4 > 10 = falso 
2 > 10 && 4 < 10 = falso 
3 == 2 || 3 > 2 = verdadero 
20 > 1 && 4 < 10 = verdadero 
5 < 10 && 10 <= 20 = verdadero 
2 > 1 | | 1 < 1 = verdadero
Asignación Valores a 
Variable Lógicas 
 Asumamos que la variable BANDERA ha sido 
declarada de tipo lógico , si queremos copiar en 
ella el resultado de la expresión lógica 2 > 10 , lo 
haríamos de la siguiente manera: 
BANDERA = 2 > 10 
 copiaría en la variable BANDERA el valor de 
"falso", pues 2 no es mayor que 10.
Asignación Valores a 
Variable Lógicas 
1. hacer un algoritmo que lea el dato N de tipo 
entero y muestre el resultado de la siguiente 
expresión lógica x < 3 && X < 20 
2. hacer un algoritmo que lea los datos enteros 
A , B y C y muestre el resultado de la 
expresion lógica A * C >= ( B - 10)
Instrucciones de Decisión 
 Las instrucciones de 
decisión son necesarias 
cuando en un algoritmo 
una o muchas tareas se 
deben hacer o no, 
dependiendo de una 
situación en particular. 
esta situación nos 
ayudará a decidir si 
hacemos o no las tareas 
indicadas.
Instrucciones de Decisión: 
“SI” 
INICIO 
Instrucción 1 
Si expresión lógica entonces 
Instrucción11 
Intrucción12 
Instrucción13 
Fin Si 
InstrucciónN 
FIN PROGRAMA
Instrucciones de Decisión: 
“SI” 
 Ejemplo: 
INICIO 
Real: N, Triple, Cuadrado 
Leer (N) 
Si N >= 100 Entonces 
Triple = N * 3 
Mostrar “El Triple es”, Triple 
Fin Si 
Si N < 100 Entonces 
Cuadrado = N * N 
Mostrar “El Cuadrado es”, Cuadrado 
Fin Si 
FIN PROGRAMA
Instrucciones de Decisión: 
“SI” 
 Ejercicios 
1. Realizar un algoritmo que reciba la hora si es 
menor a 12 muestre el siguiente mensaje : "hola 
buenos días". 
2. Hacer un algoritmo que calcule la suma de dos 
números enteros. Si la suma es mayor que 100 
sacar un mensaje comunicándolo. 
3. Realizar un algoritmo que lea el nombre y la 
edad de una persona y si es menor de edad (edad 
menor o igual a 18 años) imprima el nombre y la 
cantidad de meses vividos.
Instrucciones de Decisión: 
“SI” 
 Ejercicios 
4. Hacer un algoritmo que calcule el área de un 
triángulo y además informe cual longitud es la 
mayor la altura o la base. 
5. Hacer un algoritmo que lea un número entero y 
muestre el cuadrado del numero si el numero es 
mayor a 10. el doble del numero, si el numero es 
mayor a 20, la mitad del numero si le numero es 
mayor a 50. 
6. Hacer un algoritmo que lea el nombre, la 
cantidad de horas trabajadas y el valor de la 
hora. Que muestre el salario y el nombre si el 
total a pagar es mayor a 1000.
Instrucciones de Decisión: 
“SI” 
 Ejercicios 
7. Hacer un algoritmo que lea un número entero 
N, si N es par y mayor a 200 muestre el doble 
de N, si N es par y menor a 200 muestre la 
mitad de N. 
8. Hacer un algoritmo que lea un número entero 
N, si N es par muestre el doble de N, si N 
mayor a 200 muestre la mitad de N. 
9. Hacer un algoritmo que lea el nombre y la 
edad de una persona, si es mayor de edad 
muestre el nombre y los días vividos, si es 
menor de edad muestre sólo el nombre.
Instrucciones de Decisión: 
“SI – SI NO” 
INICIO 
Instrucción 1 
Si expresión lógica entonces 
Instrucción11 
Intrucción12 
Instrucción13 
Si No 
Instrucción21 
Intrucción22 
Instrucción23 
Fin Si 
InstrucciónN 
FIN PROGRAMA
Instrucciones de Decisión: 
“SI – SI NO” 
 Ejemplo: 
INICIO 
Real: N, Triple, Cuadrado 
Leer (N) 
Si N >= 100 Entonces 
Triple = N * 3 
Mostrar “El Triple es”, Triple 
Si No 
Cuadrado = N * N 
Mostrar “El Cuadrado es”, Cuadrado 
Fin Si 
FIN PROGRAMA
Instrucciones de Decisión: 
“SI – SI NO” 
 Ejercicios 
1. Lea el nombre, la edad y el sexo (1= femenino, 2= 
masculino) de una persona y si esta es de sexo masculino 
y mayor de edad imprima el nombre, de lo contrario 
imprima el nombre y edad de la persona. 
2. Lea el nombre, la edad, el sexo (1= femenino, 2= 
masculino) y el estado civil (1= soltero, 2 = casado, 3 = 
otro) de una persona e imprima el nombre y la edad de la 
persona sólo si esta es mujer menor de edad, de lo 
contrario indique que estado civil tiene esa persona. 
3. Lea dos números X y Y e imprima ambos números si por 
lo menos uno de ellos es positivo. 
4. Lea dos números X y Y e imprima ambos números sólo si 
son de diferente signo y distintos de cero.
Instrucciones de Decisión: 
“SI – SI NO” 
 Ejercicios 
5. Lea dos números, calcule el cociente de dividir el primero por el 
segundo. Imprima el cociente. Pero recuerde que antes de hacer la 
división debe evaluar que el divisor no sea igual a cero (0). Por que en 
este caso debe imprimir "la división no es posible". 
6. Para un salario bruto hasta de $ 250.500 no hay retención. Para un 
salario bruto de $ 250.501 a $ 300.000 el porcentaje de retención es 
de 5% . para un salario bruto mayor a $300.000 el porcentaje de 
retención es del 8%. Imprimir el nombre del empleado, el salario 
bruto, el valor de la retención y el salario neto( salario bruto menos 
la retención). Se debe leer el nombre el salario hora y las horas 
trabajadas. 
7. Leer el nombre de un empleado, el salario básico por hora y el 
número de horas trabajadas durante una semana. Calcular el salario 
neto, teniendo en cuenta que si el número de horas trabajadas 
durante la semana es mayor a 48, esas horas de mas se consideran 
horas extras y tienen un 25% de recargo.
Instrucciones de Decisión: 
“SI” y “SI – SI NO” Anidados 
INICIO 
Instrucción 1 
Si expresión lógica entonces 
Instrucción11 
Si expresión lógica entonces 
Si Expresión lógica entonces 
Instrucción12 
Si NO 
Instrucción13 
Fin Si 
Si No 
Si Expresión lógica entonces 
Instrucción14 
Fin Si 
Fin Si 
Fin Si 
InstrucciónN 
FIN PROGRAMA
Instrucciones de Decisión: 
“SI – SI NO” Ejercicios: 
1. En el supermercado de cadena NVCH, se trabajan varias 
líneas de productos, cada producto esta etiquetado con 
un código el supermercado desea desarrollar un 
programa que le permita a sus clientes consultar el valor 
de el producto antes de ser pasado a la registradora, a 
continuación entregamos la información de los 
productos con los respectivos precios para que el 
programador los tenga en cuenta en el momento de 
desarrollar el programa. 
Código producto valor 
1 Memorias USB 25000 
2 Pantallas 280000 
3. Discos Duros 320000
Instrucciones de Decisión: 
“SI – SI NO” Ejercicios: 
2. La empresa NVCH inversiones decidió dar unas 
bonificaciones a su empleados, teniendo en 
cuenta las siguientes condiciones: 
Si las ventas en el mes son inferiores a 3.000.000 
de pesos tendrá una bonificación de el 0.5% 
sobre las ventas. 
Si las ventas son superiores a 3.000.000 de pesos 
pero menores a 5.000.000 de pesos se aplicara 
una bonificación de 2.5% sobre las ventas. 
Si las ventas son superiores a 5.000.000 de pesos 
tendrá una bonificación de 5% sobre las ventas y 
además se mostrara un mensaje de 
felicitaciones.
Instrucciones de Decisión: 
“SI – SI NO” Ejercicios: 
3. Un vendedor ofrece su producto de la 
siguiente manera: Si le compran 10 productos 
o menos, el precio por producto es de $20. Si 
le compran más de 10 artículos, el precio es 
de $15 por artículo. Realice el Pseudocodigo 
que con solo proporcionarle la cantidad de 
artículos dé como resultado el precio y el 
total.
Instrucciones de Decisión: 
“SI – SI NO” Ejercicios: 
4. Se requiere un programa de calificaciones 
que arroje el concepto correspondiente a la 
nota numérica obtenida por el estudiante, 
teniendo en cuenta la siguiente 
correspondencia: 
 De 0 a 1.9..................................... Deficiente 
 De 2 a 2.9..................................... Insuficiente 
 De 3 a 3.9...................................... Aceptable 
 De 4 a 4.5..................................... 
Sobresaliente 
 De 4.6 a 5..................................... Excelente
Instrucciones de Decisión: 
“SI – SI NO” Ejercicios: 
5. Se tienen los siguientes datos: nombre y salario. 
Para el calculo del impuesto se considera lo 
siguiente: 
Salario 
Salario <= 2000 No hay impuesto 
Salario > 2000 y hasta 5000 el impuesto es del 2% 
del excedente de 2000 
Salario > 5000 el impuesto es del 5% del excedente 
de 5000 
Elaborar el pseudocodigo que imprima el nombre, 
el impuesto y salario total.
Instrucción de Decisión 
Multiple 
INICIO 
Tipo: Identificador1 
Leer (Identificardor1) 
Case Identificador1 
= 1 
Si expresión lógica entonces 
Si Expresión lógica entonces 
Instrucción12 
Si NO 
Instrucción13 
Fin Si 
Fin Si 
= 2 
Instrucción14 
Fin Case 
Instrucción15 
FIN PROGRAMA
Instrucciones de Repetición 
 Las instrucciones de repetición son necesarias 
cuando en un algoritmo hay que realizar una 
o muchas tareas varias veces, las 
instrucciones de repetición básicas son: el 
MIENTRAS y el PARA, cada una de las cuales 
tiene su propia representación y su propia 
manera de controlar el número de veces que 
se repetirá el ciclo ( instrucciones internas ). 
estas características hacen que una 
instrucción de repetición sea mas adecuado 
que la otra en una situación particular.
Estructura de Repetición 
Mientras (While) 
 La estructura repetitiva mientras es aquella 
en que las instrucciones internas (bucle ) se 
ejecutan mientras se cumple una 
determinada condición. 
La estructura es la siguiente:
Estructura de Repetición 
Mientras (While) 
INICIO 
Tipo: Identificador1 
Leer (Identificardor1) 
Instrucción1 
Haga Mientras Expresión Lógica 
Instrucción2 
Instrucción3 
Instrucción4 
Fin Mientras 
InstrucciónN 
FIN PROGRAMA
Estructura de Repetición 
Mientras (While) 
 Cuando se ejecuta la instrucción mientras. La 
primera cosa que sucede es que se evalúa la 
condición (una expresión lógica). Si la 
expresión es falsa, ninguna acción del bucle 
( parte interna) se ejecuta y el programa 
continua en la siguiente instrucción al bucle. 
Si la expresión es verdadera, entonces se 
ejecuta el cuerpo del bucle. Después de lo 
cual se evalúa de nuevo la expresión 
booleana.
Estructura de Repetición 
Mientras (While) 
 Este proceso se repite una y otra vez mientras 
la expresión lógica (condición) sea verdadera. 
Dentro del cuerpo del bucle debe existir una 
instrucción que modifique la expresión de tal 
manera que en algún momento haga que su 
valor sea falso. Es decir que garantice la 
terminación del ciclo.
Estructura de Repetición 
Mientras (While) 
 Para controlar el número de repeticiones del 
ciclo se puede hacer de dos maneras: 
1) Utilizando una Variable Contador. 
2)Utilizando una Variable Centinela.
Estructura de Repetición Mientras 
(While) Controlada con una 
Variable Contador 
INICIO 
Entero: I 
I = 0 
Haga Mientras I <= 10 
Mostrar I 
I = I + 1 
Fin Mientras 
FIN PROGRAMA
Estructura de Repetición Mientras 
(While) Controlada con una 
Variable Contador 
1. hacer un algoritmo que lea 5 datos enteros 
dados por el usuario y muestre la suma de 
los datos impares. 
2. hacer un algoritmo que lea 5 datos dados 
por el usuario y muestre el porcentaje de 
datos impares. 
3. hacer un algoritmo que lea un dato entero 
N, y muestre el factorial de N (recuerde 
que el factorial de N es: 1 * 2 * 3 *...*N).
Estructura de Repetición Mientras 
(While) Controlada por una 
Variable Centinela 
se utilizan cuando no sabemos cuantas veces se 
debe repetir el ciclo. en este caso se utiliza una 
variable que nos servirá de centinela, para 
indicarnos cuando terminar el ciclo. 
INICIO 
Entero: I 
Leer I 
Haga Mientras I > 0 
Mostrar I 
Leer I 
Fin Mientras 
FIN PROGRAMA
Estructura de Repetición Mientras 
(While) Controlada por una 
Variable Centinela 
1. hacer un algoritmo que muestre el promedio 
de los datos que ingrese el usuario, se 
termina cuando entre el dato cero(0). 
2. Hacer un algoritmo que muestre el salario 
total a pagar de la compañía XYZ , el salario 
mayor a pagar , el salario menor a pagar y 
el nombre de l empleado que gana el mayor 
salario y del empleado que gana el menor 
salario; a demás el promedio de salario s que 
paga la empresa.
Estructura de Repetición Mientras 
(While) Controlada por una 
Variable Centinela 
3. Hacer un algoritmo que reciba un dato N . si 
el dato es par muestre la sumatoria de N y si 
es impar muestre el factorial de N. El 
algoritmo se repite hasta que el usuario halla 
indique que no desea ingresar más datos. 
4. Leer y mostrar sucesivamente números. 
Hasta que aparezca un numero comprendido 
entre 1 y 5.
Ejercicios Estructura de 
Repetición Mientras (While) 
1. Calcular el promedio de las notas que entre 
el usuario. Se recibirá un valor centinela de 
-99. 
2. Hacer un algoritmo que diga cuantos 
números entre 1 y 100 son divisibles por 3. 
3. Imprimir las 30 primeras potencias de 4, es 
decir, 4 elevado a la 1, 4 elevado a la 2, 
etcétera. 
4. Determinar el promedio de una lista 
indefinida de números positivos, terminados 
con un número negativo.
Ejercicios Estructura de 
Repetición Mientras (While) 
5. Se desea leer las calificaciones de una clase de 
informática y contar el numero total de 
aprobados ( 3 o mayor que 3). 
6. Hacer un algoritmo para la siguiente serie de 
fibonacci 1,2, 3,5,8,13…. La serie termina según 
el número N suministrado por el usuario. Este 
número N debe ser mayo a 20 y menor o igual a 
30. 
7. Se desea conocer una serie de datos de una 
empresa con 50 empleados, decir cuantos 
empleados ganan más de 300000 pesos al mes, 
cuantos ganan entre 200000 y 300000 pesos y
Estructura de Repetición Para 
(For) 
Permite que un grupo de instrucciones se repita 
cero o mas veces, dependiendo del valor que 
resulte al evaluar una expresión de tipo lógico. 
INICIO 
Para Expresión de Inicio, Expresión de Fin, 
Expresión de Incremento 
Instrucción 1 
Instrucción 2 
Instrucción N 
Fin Para 
FIN PROGRAMA
Estructura de Repetición Para 
(For) 
Ejemplo: 
hacer un algoritmo que lea 5 enteros dados por 
el usuario 
y muestre su suma. 
INICIO 
Entero N, I, SUMA = 0 
Para I = 1, I < 6, I + 1 
Leer (N) 
SUMA = SUMA + N 
Fin Para 
Mostrar “la Suma de los Enteros es: “, SUMA 
FIN PROGRAMA
Estructura de Repetición Para 
(For) 
1. hacer un algoritmo que lea 5 datos dados por el 
usuario y muestre la suma de los datos pares. 
2. hacer un algoritmo que lea un dato entero N, y 
muestre la sumatoria de 1 hasta N. 
3. hacer un algoritmo que lea un número entero N si 
el número es par muestre la sumatoria de 1 hasta 
N y si el numero es impar muestre el factorial de 
N. 
4. Imprimir las 30 primeras potencias de 4, es decir, 4 
elevado a la 1, 4 elevado a la 2, etcétera. 
5. Hacer un algoritmo que muestre las tablas de 
multiplicar del uno al diez, y cada tabla del uno al 
diez.
Funciones 
 Una función es un subalgoritmo que toma 
uno o más valores llamados argumentos o 
parámetros y produce un valor llamado 
resultado (valor de la función para los 
argumentos o parámetros dados). 
 La declaración de una función requiere una 
serie de pasos que la definen. Una función 
tiene una construcción similar a los 
algoritmos.
Sintaxis para Declarar 
FTuipno c dieo Dnaetso: Nombre_Función (Lista 
Parámetros) 
< Acciones > 
Retornar (Expresión) 
Fin Función 
Invocación de las Funciones 
Nombre_Función (Lista Parámetros)
Funciones 
La lista de parámetros actuales debe 
corresponder en tipo y cantidad con la lista de 
parámetros (formales) definidos por la función. 
Una llamada a la función implica los siguientes 
pasos: 
1.A cada parámetro formal se le asigna el valor 
real de su correspondiente parámetro actual. 
2.Se ejecuta el cuerpo de acciones de la función. 
3.Se devuelve el valor de la función al nombre de 
la función y se retorna al punto de llamada.
Ejemplos de Funciones 
 el siguiente algoritmo llama a la función 
Sumatoria para calcular y mostrar la sumatoria 
de los números del 1 al 5. 
Inicio 
Entero : N = 5 
Mostrar “la Sumatoria de 1 hasta 5 es:”, 
Sumatoria (N) 
Fin 
 en la siguiente diapositiva se muestra el 
funcionamiento de la sunción Sumatoria.
Ejemplos de Funciones 
Entero: Sumatoria (entero :Limite) 
Entero: I, Suma = 0 
Para I = 1, I <= Limite, I + 1 
Suma = Suma + I 
Fin Para 
Retornar (Suma) 
Fin Funcion
Mas Ejemplos de Funciones 
 el siguiente algoritmo llama a la función 
DIGITOMAYOR para determinar y mostrar el 
dígito mayor de los números del 131 al 136. 
Inicio 
Entero : Ini = 131, Fin = 136 
Mostrar “El digito mayor es:”, DIGITO MAYOR 
(Ini, Fin) 
Fin 
 en la siguiente diapositiva se muestra el 
funcionamiento de la sunción DIGITOMAYOR.
Mas Ejemplos de Funciones 
Entero: DIGITOMAYOR (entero : Inicio, entero: 
Tope) 
Entero: I, Mayor = 0 
Para I = Inicio, I <= Tope, Inicio + 1 
Si Inicio > Mayor 
Mayor = Inicio 
Fin Si 
Fin Para 
Retornar (Mayor) 
Fin Funcion
Ejercicios de Funciones 
1. Hacer un algoritmo que llama a la función 
FACTORIAL para calcular y mostrar el factorial 
de los números del 1 al 5. 
2. Hacer un algoritmo que llama a la función 
SUMATORIA para calcular y mostrar la 
sumatoria de 3 números dados por el usuario. 
3. el siguiente algoritmo llama a la función 
DIGITOMAYOR para determinar y mostrar el 
dígito mayor de 5 números que ingrese el 
usuario.
Ejercicios de Funciones 
4. Hacer un algoritmo que llame a la función 
Salario_Pagar , para calcular el salario de un 
empleado que gana $ 497000 y laboro 4 horas 
extras nocturnas con un recargo del 25% para 
estas horas. 
5. Hacer un algoritmo que lea cinco notas por cada 
alumno, el número de alumnos es N. Debe crear 
una función llamada Nota_Final, que calcule la 
Nota Definitiva de cada alumno. 
6. Hacer una función que reciba un dato N y 
devuelva la suma de los dígitos pares.
Procedimientos 
 Un procedimiento es un subalgoritmo que 
toma uno o más valores llamados 
Parámetros, con los cuales ejecuta tareas 
específicas.
Procedimientos 
 La declaración de un procedimiento requiere 
una serie de pasos que la definen. Un 
procedimiento tiene una construcción similar 
a los algoritmos, por consiguiente constará 
de una cabecera que comenzará con el 
nombre del procedimiento y entre paréntesis 
una lista de parámetros del procedimiento. A 
continuación irá el cuerpo del procedimiento, 
que será una serie de acciones o instrucciones 
que conforman el cuerpo del procedimiento.
Sintaxis para Declarar 
Procedimientos. 
Nombre_Procedimiento (Lista Parámetros) 
< Acciones > 
Fin Procedimiento 
Invocación de los 
Procedimientos 
Nombre_Procedimiento (Lista Parámetros)
Procedimientos 
La lista de parámetros actuales debe 
corresponder en tipo y cantidad con la lista de 
parámetros (formal) definidos en el 
procedimiento. 
Una llamada a un procedimiento implica los 
siguientes pasos: 
· A cada parámetro formal se le asigna el valor 
real de su correspondiente parámetro actual. 
· Se ejecuta el cuerpo de acciones del 
procedimiento. 
· Se regresa a la instrucción siguiente del 
punto de llamada.
Ejemplos de Procedimientos 
 el siguiente algoritmo llama al procediminto 
SUMATORIA, para calcular y mostrar la 
sumatoria de los números del 1 al 5. 
Inicio 
Entero : I 
Para I = 1, I <= 5, I + 1 
SUMATORIA (I) 
Fin Para 
Fin 
 en la siguiente diapositiva se muestra el 
funcionamiento del procedimiento 
SUMATORIA..
Ejemplos de Procedimientos 
SUMATORIA (Entero: H) 
Entero : K, Suma = 0 
Para K = 1, K <= H, K + 1 
Suma = Suma + 1 
Fin Para 
Mostrar (Suma) 
Fin Procedimiento
Ejemplos de Procedimientos 
 El siguiente algoritmo llama al procedimiento 
SUMATORIA, para calcular y mostrar la 
sumatoria de 3 números dados por el usuario. 
Inicio 
Entero : I, N 
Para I = 1, I <= 3, I + 1 
Leer (N) 
SUMATORIA (N) 
Fin Para 
Fin 
 en la siguiente diapositiva se muestra el 
funcionamiento del procedimiento 
SUMATORIA..
Ejemplos de Procedimientos 
SUMATORIA (Entero: H) 
Entero : K, Suma = 0 
Para K = 1, K <= H, I + 1 
Suma = Suma + 1 
Fin Para 
Mostrar (Suma) 
Fin Procedimiento
Ejercicios de 
Procedimientos 
1. Un niño va a un parque de atracciones 
mecánicas y decide montar en varios juegos, a 
demás pude repetir atracción mecánica 
(pagando). Debe hacer un procedimiento que 
tome el costo de disfrutar la atracción y las 
veces que la disfruto, y muestre la plata que 
gasto en la atracción mecánica. 
2. Hacer un procedimiento que muestre el valor 
total de cada articulo, teniendo como base el 
precio unitario y la cantidad. Como se trata de 
una caja rápida, el número máximo de artículos 
que puede comprar es 5.
Ejercicios de 
Procedimientos 
3. Hacer un Procedimiento que realice y muestre la 
suma de dos números siempre que sean pares , 
que realice una multiplicación si solo uno de 
ellos es par y una resta si ambos son impares. 
4. Hacer un Procedimiento que realice el siguiente 
calculo matemático: 2 + (A / B) * (10 / B).
Vectores o Arreglos 
Unidimensionales 
 Un arreglo es una colección de datos del mismo 
tipo, que se almacenan en posiciones 
consecutivas de memoria y reciben un nombre 
común. Para referirse a un determinado 
elemento de un arreglo se deberá utilizar el 
nombre del arreglo acompañado de un índice el 
cual especifica la posición relativa en que se 
encuentra el elemento.
Vectores o Arreglos 
Unidimensionales 
 Los arreglos pueden ser: 
 
Unidimensionales (vectores). 
 
Bidimensionales (matrices, tablas). 
 
Multidimensionales(tres dimensiones o más).
Vectores o Arreglos Unidimensionales 
 Los pasos para la utilización de un vector son: 
1. Declarar el vector: consiste en establecer el 
nombre, el tamaño y el tipo de los datos que se 
van a almacenar en el arreglo ejemplo: 
hay que diferenciar dos términos : 
tamaño del vector (T): es el numero máximo de 
elementos que puede contener el vector. 
Numero de elementos (N): que indica cuantos 
elementos hay almacenados en el arreglo en 
determinado momento. Nota N<=T. 
T = 10; 
Real: notas[T]
Vectores o Arreglos Unidimensionales 
 2. Llenar el vector con los datos: Se puede hacer 
en el momento de la declaración asignando al 
vector los valores que necesitamos almacenar. 
Ejemplo. 
Real : Notas [10] = {2.3 , 3.5 , 4.2 , 3.3 , 3.0 , 4.9 , 
4.2 , 3.0 , 2.0 , 1.5 }; 
ó recorriendo el arreglo así: 
para i = 1 hasta N 
.......leer( notas[i] ) 
fin del para
Vectores o Arreglos Unidimensionales 
 3. Manipular la información guardada en el 
vector. Para esto es necesario recorrer dicha 
estructura y se puede hacer de la siguiente 
manera. 
para i = 1 hasta N 
......mostrar ( notas[i] ) 
fin del para
Vectores o Arreglos 
Unidimensionales, Sintaxis 
A continuación se dan dos formas para declarar un vector: 
Inicio 
Tipo de Dato: <Nombre del Vector> [Nro. de 
Posiciones] 
Fin 
Inicio 
Tipo de Dato: <Nombre Variable> 
Leer (Nombre Variable) 
Tipo de Dato: <Nombre del Vector> [Nombre 
Variable] 
Fin
Vectores o Arreglos 
Unidimensionales, Sintaxis 
A continuación se muestra la sintaxis para recorrer un 
Vector: 
Inicio 
Tipo de Dato: <Nombre del Vector> [Nro. de 
Posiciones] 
Tipo de Dato: <Variable con la cual se Recorrerá 
el Vector> 
Para VRV = 1, VRV <= Nro .de Posiciones / 
Nomonbre 
Variable, <Incrementos> 
Leer / Mostrar (Nombre del Vector [VRV]) 
Fin Para
Vectores o Arreglos Unidimensionales 
Ejemplos 
1. Crear un vector de tamaño 10, e implementar 
con el los siguientes pasos: 
a) Crear un Procedimiento que Llene el Vector 
con números enteros. 
b) Crear un Procedimiento que Muestre el 
Contenido del Vector. 
c) Crear una función que retorne la sumatoria de 
los números enteros contenidos en el vector. 
Determinar si el resultado de la sumatoria es un 
número Par o Impar.
Vectores o Arreglos Unidimensionales 
Ejemplos 
d) Crear una función que retorne el dato 
mayor contenido en el vector. 
e) Crear una función que retorne el dato 
menor contenido en el vector. 
f) Muestre el resultado de la diferencia entre 
el numero mayor y el numero menor que han 
retornado las funciones anteriores.
Vectores o Arreglos Unidimensionales 
Ejemplos 
1. Crear dos procedimientos así: Uno que cargue un 
vector de N posiciones y el otro que determine 
cuantas posiciones están llenas . 
2. Continuando con el caso anterior crear un 
procedimiento que cargue un nuevo vector con 
las posiciones exactas, es decir, que el tamaño del 
vector concuerde con el número de datos que 
almacena. 
3. Crear una función que determine cuantas veces 
en el vector “Números” esta un dato dado por el 
usuario.
Ejercicios de Vectores 
4. Crear una Función que calcule el promedio de 
los datos del vector “Números”. 
5. Crear una función que calcule y devuelva la 
sumatoria de los datos que están en las 
posiciones impares del vector “Números”. 
6. Crear una función que retorne el porcentaje de 
los números pares del vector “Números”. 
7. Crear un procedimiento que invierta el vector y 
mostrarlo.
Ejercicios de Vectores 
8. Crear un procedimiento que indique cuantas 
veces esta repetido un dato dentro del vector. 
9. Crear un procedimiento que ordene el 
siguiente vector de menor a mayor: 
Vector {3,1,4,2} 
10. Crear un a función que añada el dato “5” al 
vector anterior. (debe ajustar el tamaño al 
vector). 
11. Crear una función que elimine el dato “3” al 
vector anterior (debe ajustar el tamaño al 
vector).
Matrices o Arreglos 
Bidimensionales 
 Consiste en un vector de vectores y es 
por lo tanto un conjunto de elementos 
del mismo tipo en el que el orden de los 
componentes es significativo y en el que 
necesitan especificarse dos subíndices 
para poder identificar cada elemento de 
la matriz.
Matrices o Arreglos 
Bidimensionales 
 Los pasos para la utilización de una matriz 
son: 
1. declarar la matriz: consiste en establecer 
el nombre, el tamaño y el tipo de los datos 
que se van a almacenar en la matriz ejemplo: 
F = 3; 
C = 4; 
Real: matriz[F][C]
Matrices o Arreglos Bidimensionales 
 2. llenar la matriz con los datos: se puede 
hacer en el momento de la declaración 
asignando a la matriz los valores que 
necesitamos almacenar. Ejemplo. 
real: notas[][ ] = { {2.3 , 3.5 , 4.2 ,3.8},{ 3.3 , 3.0 , 
4.9,5.0} ,{ 4.2 , 3.0 , 2.0 ,2.8} } 
 ó recorriendo el arreglo así: 
 para F= 1, F <= 3 , F + 1 
para C = 1 , C<= 4 , C + 1 
leer( matriz[F][C] ) 
fin del para 
fin del para
Matrices o Arreglos 
Bidimensionales 
 3. manipular la información guardada en la 
matriz. Para esto es necesario recorrer 
dicha estructura y se puede hacer de la 
siguiente manera. 
para F = 1, F <= 3, F + 1 
para C = 1, C <= 4, C+ 1 
mostrar ( matriz[f][c] ) 
fin del para 
fin del para
Matrices o Arreglos Bidimensionales 
 Ejercicios: Para una matriz de N x M que 
ya tiene los datos realizar un 
procedimiento para cada uno de los 
siguientes puntos. 
1.Calcule y muestre el promedio de todos 
los datos de la matriz. 
2.Calcule y muestre los promedios de 
cada columna; a demás determine cual 
columna tiene el promedio mayor y cual 
es ese promedio.
Matrices o Arreglos Bidimensionales 
3. Cuanto suman los datos de la 
diagonal principal. 
4. Cual es el dato mayor de la 
diagonal secundaria.
Matrices o Arreglos Bidimensionales 
5. Halle el dato que más se repita en la 
matriz y diga cuantas veces esta. 
6. Halle el dato mayor de la matriz . 
7. Halle el dato menor de la matriz. 
8. Ordene ascendentemente cada fila. 
9. Ordene ascendentemente toda la 
matriz.
Matrices o Arreglos 
Bidimensionales 
10. Recorrer la matriz de la siguiente forma 
y mostrar los datos en esa posición.
Bibliografia 
 http://ayura.udea.edu.co/~jlsanche/

Más contenido relacionado

Similar a 76338688 logica-de-programacion

Similar a 76338688 logica-de-programacion (20)

Introduccion a los algoritmos
Introduccion  a los algoritmosIntroduccion  a los algoritmos
Introduccion a los algoritmos
 
02 algoritmo clase
02 algoritmo clase02 algoritmo clase
02 algoritmo clase
 
Tipos de algoritmos
Tipos de algoritmosTipos de algoritmos
Tipos de algoritmos
 
Informe de pseint
Informe de pseintInforme de pseint
Informe de pseint
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Tema n° 1
Tema n° 1Tema n° 1
Tema n° 1
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Unidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmosUnidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmos
 
Algoritmos y programas
Algoritmos y programasAlgoritmos y programas
Algoritmos y programas
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Algoritmo y mas teoria logica
Algoritmo y mas teoria logicaAlgoritmo y mas teoria logica
Algoritmo y mas teoria logica
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Guía de Algoritmo y Programación en C
Guía de Algoritmo y Programación en CGuía de Algoritmo y Programación en C
Guía de Algoritmo y Programación en C
 
Programacion primero
Programacion primeroProgramacion primero
Programacion primero
 
Programacion primero
Programacion primeroProgramacion primero
Programacion primero
 
Sistemas Tecnológicos
Sistemas TecnológicosSistemas Tecnológicos
Sistemas Tecnológicos
 
Inf2_p1b_exc2_celina_mitzi
Inf2_p1b_exc2_celina_mitziInf2_p1b_exc2_celina_mitzi
Inf2_p1b_exc2_celina_mitzi
 
Unidad 2 introducción a los algoritmos
Unidad 2 introducción a los algoritmosUnidad 2 introducción a los algoritmos
Unidad 2 introducción a los algoritmos
 
Algoritmos 02
Algoritmos 02Algoritmos 02
Algoritmos 02
 

76338688 logica-de-programacion

  • 1. ALGORITMOS Alberto Echeverry Arroyave Ing. De Sistemas
  • 2. Que es un Algoritmo  Un algoritmo es una secuencia de pasos lógicos y ordenados con las cuales le damos solución a un problema determinado.  Por ejemplo: En la vida diaria cada uno de nosotros diseña y realiza algoritmos para solucionar los problemas cotidianos, es así que al levantarnos de la cama ya tenemos en la mente una serie de pasos que debemos seguir para llegar al sitio de estudio o al sitio de trabajo. Una vez en el sitio de estudio, tenemos en nuestra mente una serie de tareas que debemos realizar en unos horarios ya definidos.
  • 3. Características de los Algoritmos  1. Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.  2. Un algoritmo debe estar definido. Si se sigue el algoritmo dos veces, se debe obtener el mismo resultado cada vez.  3. Un algoritmo debe ser finito. Si se sigue el algoritmo. Se debe terminar en algún momento, o sea debe tener un número finito de pasos.
  • 4. Clasificación de los Algoritmos Según Quien los Ejecute  Algoritmos para ser ejecutados por Personas.  Algoritmos para ser ejecutados por Computadoras.  Tipos de Datos
  • 5. Algoritmos para ser ejecutados por Personas  Para que un algoritmo sea ejecutado por una persona, debe estar escrito de tal manera que esta persona lo entienda claramente, algunas de las normas que debe seguir la construcción del algoritmo son las siguientes:  debe estar escrito en el idioma que comprende la persona que realizará el algoritmo.  debe enumerar cada uno de los pasos a realizar en un orden lógico.  debe utilizar palabras que comprenda claramente la persona que realizará el algoritmo.
  • 6. Algoritmos para ser ejecutados por Personas  Ejemplos:  Un cliente ejecuta un pedido a una fabrica. La fabrica examina en su banco de datos si el cliente esta activo( no es moroso con sus deudas) entonces se acepta el pedido, en caso contrario se rechaza.  1. Inicio  2. Leer el pedido  3. Examinar ficha del cliente  4. Si el cliente esta activo aceptar el pedido, en caso contrario rechazar el pedido.  5. terminar
  • 7. Ejemplo  Un cliente llaga a una entidad bancaria para realizar una consignación, el cajero le pide el número de la cuenta y el dinero a consignar, verifica que la cuenta si existe, si la cuenta es valida se hace la consignación (al saldo le aumenta el dinero recibido) de lo contrario devuelve el dinero.  1. Inicio  2. pedir numero de la cuenta y el dinero  3. si la cuenta es valida siga en 4 de lo contrario siga en 6  4. saldo= saldo +dinero  5 ir a 7  6 devolver el dinero  7 terminar
  • 8. Ejemplo  Un cliente llaga a una entidad bancaria para realizar una consignación, el cajero le pide el número de la cuenta y el dinero a consignar, verifica que la cuenta si existe, si la cuenta es valida se hace la consignación (al saldo le aumenta el dinero recibido) de lo contrario devuelve el dinero.  1. Inicio  2. pedir numero de la cuenta y el dinero  3. si la cuenta es valida siga en 4 de lo contrario siga en 6  4. saldo= saldo +dinero  5 ir a 7  6 devolver el dinero  7 terminar
  • 9. Realice los Siguientes Ejercicios  1. un retiro de dinero por parte de un cliente en una entidad bancaria  2. crear un algoritmo que describa los pasos necesarios par ir a la universidad a clase de 6 Am tenga en cuenta que si llega 10 minutos tarde no puede entrar al salón de clase y si al llegar no trae el carnet no puede entrar a la universidad.
  • 10. Realice los Siguientes Ejercicios  Diseñar algoritmos que resuelvan los posibles problemas que se presentan para:  1. ir al cine  2. Reparar un pinchazo de una bicicleta.  3. Hacer una llamada a un compañero. Regresar……
  • 11. Algoritmos para ser ejecutados por Computadoras Los pasos para la solución de un problema utilizando como herramienta la computadora son : 1. Diseño del algoritmo que describa la secuencia ordenada de pasos, que conducen a la solución de un problema dado(análisis del problema y desarrollo del algoritmo). 2. Expresar el algoritmo como un programa en un lenguaje de programación adecuado( fase de codificación). La actividad de expresar un algoritmo en forma de programa se denomina programación. 3. Ejecución y validación de programa por la computadora. Regresar……
  • 12. Tipos de Datos los tipos de datos a utilizar en nuestros algoritmos son: 1. numéricos: estos tipos de datos se utilizan para hacer cálculos matemáticos y pueden ser de dos tipos así: 1. ENTERO: cuando el número no tiene parte decimal (ejemplo: 4 , 5 , 7, 97). 2. REAL: cuando el número consta de una parte entera y una parte decimal (ejemplo: 2.33 , 4.59 , 5.0 ). 2. CARACTER: contiene un solo símbolo y esta delimitado por comillas sencillas y puede ser: 1. Caracteres alfanuméricos ('A', 'B', …, 'Z') 2. Caracteres numéricos('1', '2', …'0') 3. Caracteres especiales ('+', '-', '*', '/', ',' '.', '<' ,'>', '$', ….)
  • 13. Tipos de Datos  3. CADENA(string): es una sucesión de caracteres que se encuentran delimitados por doble comilla. se utilizan para guardar información como el nombre de una persona, el color preferido etc. (ejemplos: " león ", "Maria", "azul", "rojo"). se utilizan para mostrar mensajes.  4. LOGICOS (booleanos): es aquel dato que sólo puede tomar uno de dos valores: verdadero(true) o falso (false).
  • 14. Partes de Un Algoritmo  INICIO Y FIN  Una de las características de los algoritmos es que deben ser finitos. Se debe indicar claramente donde inicia y donde termina.  Ejemplo: INICIO FIN PROGRAMA
  • 15. Partes de Un Algoritmo  DECLARACION DE VARIABLES  los datos son una parte muy importante en un algoritmo, pues son ellos el punto de partida y son ellos quienes sufren las transformaciones que darán los resultados deseados. Por esta razón el algoritmo debe guardar los datos en un sitio donde los pueda leer y modificar cada vez que lo requiera. los sitios donde el algoritmo guarda los datos los llamaremos ESPACIOS DE MEMORIA y el tamaño de estos dependen del Tipos de Datos que se quiera guardar en ellos.
  • 16. Partes de Un Algoritmo  DECLARACION DE VARIABLES  Además si se tienen varios datos se debe tener la posibilidad de diferenciarlos de una manera que no se presenten confusiones asignándoles un “Identificador Valido” y único a estos espacios de memoria. Ejemplo: X, Y, X1, Y1, SUMA, CONTAR, MAYOR, MENOR, PROMEDIO, PORCENTAJE…….
  • 17. Partes de Un Algoritmo  DECLARACION DE VARIABLES  Un espacio de memoria se denomina VARIABLE cuando su contenido puede variar en el tiempo y de CONSTANTE cuando no se permite que su contenido varié.  Lo primero que se hace en al algoritmo es declarar las variables. Donde se separan los espacios de memoria del tamaño indicado según el tipo de dato que guardarán y asignándoles un nombre o identificador válido, con el cual nos referiremos a la información que se guarda en dicho espacio de memoria.
  • 18. Partes de Un Algoritmo  DECLARACION DE VARIABLES  para declarar las variables se hará de la siguiente forma: INICIO Tipo de Dato: Identificador, Identificador FIN PROGRAMA
  • 19. Partes de Un Algoritmo  DECLARACION DE VARIABLES Ejercicios:  hacer un algoritmo que declare una variable para guardar el número de meses del año y otra variable para guardar el porcentaje de meses que tienen 30 o 31 días.  hacer un algoritmo que declare una variable para guardar cuantas materias se han perdido en el semestre y otra para guardar el porcentaje de materias ganadas.  hacer un algoritmo que declare una variable para guardar el promedio del semestre, otra para guardar el nombre de un estudiante y otra para guardar el número de notas perdidas.  hacer un algoritmo que declare una variable para guardar el nombre de un deportista, otra para
  • 20. Partes de Un Algoritmo  Entrada de Datos  cuando un algoritmo requiera que el usuario ingrese datos, se utilizará la instrucción LEER y entre paréntesis la lista de variables donde se guardarán los datos ingresados por el usuario. INICIO Tipo de Dato: Identificador, Identificador Leer (Identificador1, Identificador2) FIN PROGRAMA
  • 21. Partes de Un Algoritmo  Entrada de Datos Ejercicios:  hacer un algoritmo que lea el nombre de un estudiante, la cantidad de materias perdidas y el porcentaje de materias ganadas.  hacer un algoritmo que lea el nombre de un estudiante, el promedio del semestre y el número de notas perdidas.  hacer un algoritmo que lea el nombre de una persona, la comida preferida y la cantidad de dinero que posee.  hacer un algoritmo que lea el nombre de un animal, la comida preferida y la cantidad de
  • 22. Partes de Un Algoritmo  Salida de Datos si el algoritmo requiere mostrar la información que tiene guardada en variables (espacio de memoria) hacia el exterior (para el usuario final ), se utilizará la instrucción MOSTRAR y entre paréntesis la lista de variables donde se guardan los datos que se quieren mostrar.
  • 23. Partes de Un Algoritmo  Salida de Datos INICIO Tipo de Dato: Identificador, Identificador Leer (Identificador1, Identificador2) Mostrar (Identificador1, Identificador2, Identificador3) FIN PROGRAMA
  • 24. Partes de Un Algoritmo  Salida de Datos Ejemplo: INICIO Entero: N Leer (N) Mostrar (“El Número que Digito es:”,N) FIN PROGRAMA
  • 25. Partes de Un Algoritmo  Salida de Datos Ejercicios: 1. hacer un algoritmo que lea el nombre de una persona, el número de horas que estudia en la semana y muestre el porcentaje de tiempo que dedica a estudiar y la cantidad de minutos que dedica a estudiar. 2. hacer un algoritmo que lea el nombre de un estudiante, la cantidad de materias que cursa en el semestre, la cantidad de materias perdidas y muestre el nombre y el porcentaje de materias ganadas. 3. hacer un algoritmo que lea el nombre de una persona, la comida preferida con su precio, la cantidad de dinero que posee y muestre la cantidad de comidas que puede comprar con el dinero que posee. 4. hacer un algoritmo que lea el nombre de un deportista, la distancia recorrida, la cantidad de intentos y muestre la distancia promedio que ha recorrido.
  • 26. La Operación de Asignación  Es el modo de copiar un valor específico en una variable o espacio de memoria. La operación de asignación se representa con el símbolo igual '=' La forma general de una operación de asignación es: INICIO Tipo de Dato: Identificador, Identificador Leer (Identificador1, Identificador2) Variable = Valor Mostrar (Identificador1, Identificador2, Identificador3) FIN PROGRAMA
  • 27. Asignación en Una Variable Numérica  en una variable numérica (declarada como entero o real ) sólo se podrán guardar datos numéricos y existe dos formas de hacerlo: 1. asignación de un número (constante numérica) a una variable numérica. Asumamos que la variable A ha sido declarada de tipo entero, si queremos copiar el valor de 5 en ella lo haríamos de la siguiente manera. A = 5 se copia el valor de 5 en la variable A.
  • 28. Asignación en Una Variable Numérica 2. asignación del resultado de una expresión aritmética a una variable numérica. asumamos que las variable A ha sido declarada de tipo entero y queremos copiar en ella el resultado de la expresión aritmética 5*2 +1 se haría de la siguiente manera. A = 5* 2 +1
  • 29. Asignación en Una Variable Numérica  Expresión Aritmética  Una expresión es una combinación de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales.  Operadores Aritméticos: + - * / Exponenciación div División Entera mod Modulo (El Residuo de la División)
  • 30. Asignación en Una Variable Numérica  Regla de Precedencia de los Operadores Matemáticos: 1. las operaciones que están encerradas entre paréntesis se evalúan primero. Si existen paréntesis anidados( interiores unos a otros). Se debe evaluar primero las expresiones mas internas.
  • 31. Asignación en Una Variable Numérica 2. Las operaciones aritméticas dentro de una expresión suelen seguir el siguiente orden de prioridad: Exponenciación * , / + , - div , mod
  • 32. Asignación en Una Variable Numérica  Ejemplos de Expresiones Aritméticas: 1 + 2 + 3 = 6 1 + (2 + 5) * 2 = 21 (4 * (2 + 1) ) mod 3 = 0 (4 * 5 + 4 ) / 2 + 4 = 16 2 ^ 2 *( ( 2 + 1 ) * 2 ) = 24 (2 + (6 * 2 - 10)*2) div 5 = 1 ( 1 + 2 )* ( 2 + 3) + 1 = 16 1 + ( 2 * (3+2)) = 11
  • 33. Asignación en Una Variable Numérica  Ejercicios: 1. hacer un algoritmo que lea dos números enteros A y B y muestre el doble de su suma. 2. hacer un algoritmo que lea dos números enteros A y B y muestre el resultado de evaluar (A + B) *2 +10 3. hacer un algoritmo que lea el alto y el ancho de un rectángulo y muestre su área y su perímetro. 4. hacer un algoritmo que lea el nombre de una persona, el valor de la hora trabajada y el número de horas que trabajo. se debe mostrar el nombre y el pago de la persona 5. hacer un algoritmo que lea el nombre de un articulo, el valor unitario, la cantidad a comprar y muestre el nombre y el total a pagar.
  • 34. Asignación en Una Variable tipo Cadena  Asumimos que la variable NOMBRE, se a declarado como cadena (Carácter) en ella copiaremos el nombre MARIA. NOMBRE = MARIA  Expresiones de Cadena: “Hola” + “María” = Hola María  Expresiones de Cadena: A = Aviones B = Colores C = Comercial
  • 35. Asignación en Una Variable tipo Cadena  A + B + C = Aviones Colores Comercial  “Los” + A + C + “son de” + B = Los Aviones Comerciales son de Colores  A + “de” + B = Aviones de Colores  A + C = Aviones Comerciales
  • 36. Expresiones Lógicas  Una expresión lógica es una combinación de expresiones aritméticas, variables, constantes lógicas, paréntesis, operadores lógicos y operadores relacionales.  Operadores Lógicos: y (and) lo denotaremos por doble ampersan "&&". o (or) lo denotaremos por doble barras " | | ". no (not) lo denotaremos como admiración " ! ".
  • 37. Expresiones Lógicas  Operadores Relacionales: igualdad lo denotaremos con doble igual " == " menor que, lo denotaremos por el símbolo "<" mayor que , lo denotaremos por el símbolo ">" menor o igual que, lo denotaremos con el símbolo "<=" mayor o igual que, lo denotaremos con el símbolo ">=". diferente, lo denotaremos por el símbolo "!="
  • 38. Expresiones Lógicas Ejemplos con Operadores Lógicos y Relacionales: 10 > 3 = verdadero 1 > 3 = falso 2 > 1 && 4 > 10 = falso 2 > 10 && 4 < 10 = falso 3 == 2 || 3 > 2 = verdadero 20 > 1 && 4 < 10 = verdadero 5 < 10 && 10 <= 20 = verdadero 2 > 1 | | 1 < 1 = verdadero
  • 39. Asignación Valores a Variable Lógicas  Asumamos que la variable BANDERA ha sido declarada de tipo lógico , si queremos copiar en ella el resultado de la expresión lógica 2 > 10 , lo haríamos de la siguiente manera: BANDERA = 2 > 10  copiaría en la variable BANDERA el valor de "falso", pues 2 no es mayor que 10.
  • 40. Asignación Valores a Variable Lógicas 1. hacer un algoritmo que lea el dato N de tipo entero y muestre el resultado de la siguiente expresión lógica x < 3 && X < 20 2. hacer un algoritmo que lea los datos enteros A , B y C y muestre el resultado de la expresion lógica A * C >= ( B - 10)
  • 41. Instrucciones de Decisión  Las instrucciones de decisión son necesarias cuando en un algoritmo una o muchas tareas se deben hacer o no, dependiendo de una situación en particular. esta situación nos ayudará a decidir si hacemos o no las tareas indicadas.
  • 42. Instrucciones de Decisión: “SI” INICIO Instrucción 1 Si expresión lógica entonces Instrucción11 Intrucción12 Instrucción13 Fin Si InstrucciónN FIN PROGRAMA
  • 43. Instrucciones de Decisión: “SI”  Ejemplo: INICIO Real: N, Triple, Cuadrado Leer (N) Si N >= 100 Entonces Triple = N * 3 Mostrar “El Triple es”, Triple Fin Si Si N < 100 Entonces Cuadrado = N * N Mostrar “El Cuadrado es”, Cuadrado Fin Si FIN PROGRAMA
  • 44. Instrucciones de Decisión: “SI”  Ejercicios 1. Realizar un algoritmo que reciba la hora si es menor a 12 muestre el siguiente mensaje : "hola buenos días". 2. Hacer un algoritmo que calcule la suma de dos números enteros. Si la suma es mayor que 100 sacar un mensaje comunicándolo. 3. Realizar un algoritmo que lea el nombre y la edad de una persona y si es menor de edad (edad menor o igual a 18 años) imprima el nombre y la cantidad de meses vividos.
  • 45. Instrucciones de Decisión: “SI”  Ejercicios 4. Hacer un algoritmo que calcule el área de un triángulo y además informe cual longitud es la mayor la altura o la base. 5. Hacer un algoritmo que lea un número entero y muestre el cuadrado del numero si el numero es mayor a 10. el doble del numero, si el numero es mayor a 20, la mitad del numero si le numero es mayor a 50. 6. Hacer un algoritmo que lea el nombre, la cantidad de horas trabajadas y el valor de la hora. Que muestre el salario y el nombre si el total a pagar es mayor a 1000.
  • 46. Instrucciones de Decisión: “SI”  Ejercicios 7. Hacer un algoritmo que lea un número entero N, si N es par y mayor a 200 muestre el doble de N, si N es par y menor a 200 muestre la mitad de N. 8. Hacer un algoritmo que lea un número entero N, si N es par muestre el doble de N, si N mayor a 200 muestre la mitad de N. 9. Hacer un algoritmo que lea el nombre y la edad de una persona, si es mayor de edad muestre el nombre y los días vividos, si es menor de edad muestre sólo el nombre.
  • 47. Instrucciones de Decisión: “SI – SI NO” INICIO Instrucción 1 Si expresión lógica entonces Instrucción11 Intrucción12 Instrucción13 Si No Instrucción21 Intrucción22 Instrucción23 Fin Si InstrucciónN FIN PROGRAMA
  • 48. Instrucciones de Decisión: “SI – SI NO”  Ejemplo: INICIO Real: N, Triple, Cuadrado Leer (N) Si N >= 100 Entonces Triple = N * 3 Mostrar “El Triple es”, Triple Si No Cuadrado = N * N Mostrar “El Cuadrado es”, Cuadrado Fin Si FIN PROGRAMA
  • 49. Instrucciones de Decisión: “SI – SI NO”  Ejercicios 1. Lea el nombre, la edad y el sexo (1= femenino, 2= masculino) de una persona y si esta es de sexo masculino y mayor de edad imprima el nombre, de lo contrario imprima el nombre y edad de la persona. 2. Lea el nombre, la edad, el sexo (1= femenino, 2= masculino) y el estado civil (1= soltero, 2 = casado, 3 = otro) de una persona e imprima el nombre y la edad de la persona sólo si esta es mujer menor de edad, de lo contrario indique que estado civil tiene esa persona. 3. Lea dos números X y Y e imprima ambos números si por lo menos uno de ellos es positivo. 4. Lea dos números X y Y e imprima ambos números sólo si son de diferente signo y distintos de cero.
  • 50. Instrucciones de Decisión: “SI – SI NO”  Ejercicios 5. Lea dos números, calcule el cociente de dividir el primero por el segundo. Imprima el cociente. Pero recuerde que antes de hacer la división debe evaluar que el divisor no sea igual a cero (0). Por que en este caso debe imprimir "la división no es posible". 6. Para un salario bruto hasta de $ 250.500 no hay retención. Para un salario bruto de $ 250.501 a $ 300.000 el porcentaje de retención es de 5% . para un salario bruto mayor a $300.000 el porcentaje de retención es del 8%. Imprimir el nombre del empleado, el salario bruto, el valor de la retención y el salario neto( salario bruto menos la retención). Se debe leer el nombre el salario hora y las horas trabajadas. 7. Leer el nombre de un empleado, el salario básico por hora y el número de horas trabajadas durante una semana. Calcular el salario neto, teniendo en cuenta que si el número de horas trabajadas durante la semana es mayor a 48, esas horas de mas se consideran horas extras y tienen un 25% de recargo.
  • 51. Instrucciones de Decisión: “SI” y “SI – SI NO” Anidados INICIO Instrucción 1 Si expresión lógica entonces Instrucción11 Si expresión lógica entonces Si Expresión lógica entonces Instrucción12 Si NO Instrucción13 Fin Si Si No Si Expresión lógica entonces Instrucción14 Fin Si Fin Si Fin Si InstrucciónN FIN PROGRAMA
  • 52. Instrucciones de Decisión: “SI – SI NO” Ejercicios: 1. En el supermercado de cadena NVCH, se trabajan varias líneas de productos, cada producto esta etiquetado con un código el supermercado desea desarrollar un programa que le permita a sus clientes consultar el valor de el producto antes de ser pasado a la registradora, a continuación entregamos la información de los productos con los respectivos precios para que el programador los tenga en cuenta en el momento de desarrollar el programa. Código producto valor 1 Memorias USB 25000 2 Pantallas 280000 3. Discos Duros 320000
  • 53. Instrucciones de Decisión: “SI – SI NO” Ejercicios: 2. La empresa NVCH inversiones decidió dar unas bonificaciones a su empleados, teniendo en cuenta las siguientes condiciones: Si las ventas en el mes son inferiores a 3.000.000 de pesos tendrá una bonificación de el 0.5% sobre las ventas. Si las ventas son superiores a 3.000.000 de pesos pero menores a 5.000.000 de pesos se aplicara una bonificación de 2.5% sobre las ventas. Si las ventas son superiores a 5.000.000 de pesos tendrá una bonificación de 5% sobre las ventas y además se mostrara un mensaje de felicitaciones.
  • 54. Instrucciones de Decisión: “SI – SI NO” Ejercicios: 3. Un vendedor ofrece su producto de la siguiente manera: Si le compran 10 productos o menos, el precio por producto es de $20. Si le compran más de 10 artículos, el precio es de $15 por artículo. Realice el Pseudocodigo que con solo proporcionarle la cantidad de artículos dé como resultado el precio y el total.
  • 55. Instrucciones de Decisión: “SI – SI NO” Ejercicios: 4. Se requiere un programa de calificaciones que arroje el concepto correspondiente a la nota numérica obtenida por el estudiante, teniendo en cuenta la siguiente correspondencia:  De 0 a 1.9..................................... Deficiente  De 2 a 2.9..................................... Insuficiente  De 3 a 3.9...................................... Aceptable  De 4 a 4.5..................................... Sobresaliente  De 4.6 a 5..................................... Excelente
  • 56. Instrucciones de Decisión: “SI – SI NO” Ejercicios: 5. Se tienen los siguientes datos: nombre y salario. Para el calculo del impuesto se considera lo siguiente: Salario Salario <= 2000 No hay impuesto Salario > 2000 y hasta 5000 el impuesto es del 2% del excedente de 2000 Salario > 5000 el impuesto es del 5% del excedente de 5000 Elaborar el pseudocodigo que imprima el nombre, el impuesto y salario total.
  • 57. Instrucción de Decisión Multiple INICIO Tipo: Identificador1 Leer (Identificardor1) Case Identificador1 = 1 Si expresión lógica entonces Si Expresión lógica entonces Instrucción12 Si NO Instrucción13 Fin Si Fin Si = 2 Instrucción14 Fin Case Instrucción15 FIN PROGRAMA
  • 58. Instrucciones de Repetición  Las instrucciones de repetición son necesarias cuando en un algoritmo hay que realizar una o muchas tareas varias veces, las instrucciones de repetición básicas son: el MIENTRAS y el PARA, cada una de las cuales tiene su propia representación y su propia manera de controlar el número de veces que se repetirá el ciclo ( instrucciones internas ). estas características hacen que una instrucción de repetición sea mas adecuado que la otra en una situación particular.
  • 59. Estructura de Repetición Mientras (While)  La estructura repetitiva mientras es aquella en que las instrucciones internas (bucle ) se ejecutan mientras se cumple una determinada condición. La estructura es la siguiente:
  • 60. Estructura de Repetición Mientras (While) INICIO Tipo: Identificador1 Leer (Identificardor1) Instrucción1 Haga Mientras Expresión Lógica Instrucción2 Instrucción3 Instrucción4 Fin Mientras InstrucciónN FIN PROGRAMA
  • 61. Estructura de Repetición Mientras (While)  Cuando se ejecuta la instrucción mientras. La primera cosa que sucede es que se evalúa la condición (una expresión lógica). Si la expresión es falsa, ninguna acción del bucle ( parte interna) se ejecuta y el programa continua en la siguiente instrucción al bucle. Si la expresión es verdadera, entonces se ejecuta el cuerpo del bucle. Después de lo cual se evalúa de nuevo la expresión booleana.
  • 62. Estructura de Repetición Mientras (While)  Este proceso se repite una y otra vez mientras la expresión lógica (condición) sea verdadera. Dentro del cuerpo del bucle debe existir una instrucción que modifique la expresión de tal manera que en algún momento haga que su valor sea falso. Es decir que garantice la terminación del ciclo.
  • 63. Estructura de Repetición Mientras (While)  Para controlar el número de repeticiones del ciclo se puede hacer de dos maneras: 1) Utilizando una Variable Contador. 2)Utilizando una Variable Centinela.
  • 64. Estructura de Repetición Mientras (While) Controlada con una Variable Contador INICIO Entero: I I = 0 Haga Mientras I <= 10 Mostrar I I = I + 1 Fin Mientras FIN PROGRAMA
  • 65. Estructura de Repetición Mientras (While) Controlada con una Variable Contador 1. hacer un algoritmo que lea 5 datos enteros dados por el usuario y muestre la suma de los datos impares. 2. hacer un algoritmo que lea 5 datos dados por el usuario y muestre el porcentaje de datos impares. 3. hacer un algoritmo que lea un dato entero N, y muestre el factorial de N (recuerde que el factorial de N es: 1 * 2 * 3 *...*N).
  • 66. Estructura de Repetición Mientras (While) Controlada por una Variable Centinela se utilizan cuando no sabemos cuantas veces se debe repetir el ciclo. en este caso se utiliza una variable que nos servirá de centinela, para indicarnos cuando terminar el ciclo. INICIO Entero: I Leer I Haga Mientras I > 0 Mostrar I Leer I Fin Mientras FIN PROGRAMA
  • 67. Estructura de Repetición Mientras (While) Controlada por una Variable Centinela 1. hacer un algoritmo que muestre el promedio de los datos que ingrese el usuario, se termina cuando entre el dato cero(0). 2. Hacer un algoritmo que muestre el salario total a pagar de la compañía XYZ , el salario mayor a pagar , el salario menor a pagar y el nombre de l empleado que gana el mayor salario y del empleado que gana el menor salario; a demás el promedio de salario s que paga la empresa.
  • 68. Estructura de Repetición Mientras (While) Controlada por una Variable Centinela 3. Hacer un algoritmo que reciba un dato N . si el dato es par muestre la sumatoria de N y si es impar muestre el factorial de N. El algoritmo se repite hasta que el usuario halla indique que no desea ingresar más datos. 4. Leer y mostrar sucesivamente números. Hasta que aparezca un numero comprendido entre 1 y 5.
  • 69. Ejercicios Estructura de Repetición Mientras (While) 1. Calcular el promedio de las notas que entre el usuario. Se recibirá un valor centinela de -99. 2. Hacer un algoritmo que diga cuantos números entre 1 y 100 son divisibles por 3. 3. Imprimir las 30 primeras potencias de 4, es decir, 4 elevado a la 1, 4 elevado a la 2, etcétera. 4. Determinar el promedio de una lista indefinida de números positivos, terminados con un número negativo.
  • 70. Ejercicios Estructura de Repetición Mientras (While) 5. Se desea leer las calificaciones de una clase de informática y contar el numero total de aprobados ( 3 o mayor que 3). 6. Hacer un algoritmo para la siguiente serie de fibonacci 1,2, 3,5,8,13…. La serie termina según el número N suministrado por el usuario. Este número N debe ser mayo a 20 y menor o igual a 30. 7. Se desea conocer una serie de datos de una empresa con 50 empleados, decir cuantos empleados ganan más de 300000 pesos al mes, cuantos ganan entre 200000 y 300000 pesos y
  • 71. Estructura de Repetición Para (For) Permite que un grupo de instrucciones se repita cero o mas veces, dependiendo del valor que resulte al evaluar una expresión de tipo lógico. INICIO Para Expresión de Inicio, Expresión de Fin, Expresión de Incremento Instrucción 1 Instrucción 2 Instrucción N Fin Para FIN PROGRAMA
  • 72. Estructura de Repetición Para (For) Ejemplo: hacer un algoritmo que lea 5 enteros dados por el usuario y muestre su suma. INICIO Entero N, I, SUMA = 0 Para I = 1, I < 6, I + 1 Leer (N) SUMA = SUMA + N Fin Para Mostrar “la Suma de los Enteros es: “, SUMA FIN PROGRAMA
  • 73. Estructura de Repetición Para (For) 1. hacer un algoritmo que lea 5 datos dados por el usuario y muestre la suma de los datos pares. 2. hacer un algoritmo que lea un dato entero N, y muestre la sumatoria de 1 hasta N. 3. hacer un algoritmo que lea un número entero N si el número es par muestre la sumatoria de 1 hasta N y si el numero es impar muestre el factorial de N. 4. Imprimir las 30 primeras potencias de 4, es decir, 4 elevado a la 1, 4 elevado a la 2, etcétera. 5. Hacer un algoritmo que muestre las tablas de multiplicar del uno al diez, y cada tabla del uno al diez.
  • 74. Funciones  Una función es un subalgoritmo que toma uno o más valores llamados argumentos o parámetros y produce un valor llamado resultado (valor de la función para los argumentos o parámetros dados).  La declaración de una función requiere una serie de pasos que la definen. Una función tiene una construcción similar a los algoritmos.
  • 75. Sintaxis para Declarar FTuipno c dieo Dnaetso: Nombre_Función (Lista Parámetros) < Acciones > Retornar (Expresión) Fin Función Invocación de las Funciones Nombre_Función (Lista Parámetros)
  • 76. Funciones La lista de parámetros actuales debe corresponder en tipo y cantidad con la lista de parámetros (formales) definidos por la función. Una llamada a la función implica los siguientes pasos: 1.A cada parámetro formal se le asigna el valor real de su correspondiente parámetro actual. 2.Se ejecuta el cuerpo de acciones de la función. 3.Se devuelve el valor de la función al nombre de la función y se retorna al punto de llamada.
  • 77. Ejemplos de Funciones  el siguiente algoritmo llama a la función Sumatoria para calcular y mostrar la sumatoria de los números del 1 al 5. Inicio Entero : N = 5 Mostrar “la Sumatoria de 1 hasta 5 es:”, Sumatoria (N) Fin  en la siguiente diapositiva se muestra el funcionamiento de la sunción Sumatoria.
  • 78. Ejemplos de Funciones Entero: Sumatoria (entero :Limite) Entero: I, Suma = 0 Para I = 1, I <= Limite, I + 1 Suma = Suma + I Fin Para Retornar (Suma) Fin Funcion
  • 79. Mas Ejemplos de Funciones  el siguiente algoritmo llama a la función DIGITOMAYOR para determinar y mostrar el dígito mayor de los números del 131 al 136. Inicio Entero : Ini = 131, Fin = 136 Mostrar “El digito mayor es:”, DIGITO MAYOR (Ini, Fin) Fin  en la siguiente diapositiva se muestra el funcionamiento de la sunción DIGITOMAYOR.
  • 80. Mas Ejemplos de Funciones Entero: DIGITOMAYOR (entero : Inicio, entero: Tope) Entero: I, Mayor = 0 Para I = Inicio, I <= Tope, Inicio + 1 Si Inicio > Mayor Mayor = Inicio Fin Si Fin Para Retornar (Mayor) Fin Funcion
  • 81. Ejercicios de Funciones 1. Hacer un algoritmo que llama a la función FACTORIAL para calcular y mostrar el factorial de los números del 1 al 5. 2. Hacer un algoritmo que llama a la función SUMATORIA para calcular y mostrar la sumatoria de 3 números dados por el usuario. 3. el siguiente algoritmo llama a la función DIGITOMAYOR para determinar y mostrar el dígito mayor de 5 números que ingrese el usuario.
  • 82. Ejercicios de Funciones 4. Hacer un algoritmo que llame a la función Salario_Pagar , para calcular el salario de un empleado que gana $ 497000 y laboro 4 horas extras nocturnas con un recargo del 25% para estas horas. 5. Hacer un algoritmo que lea cinco notas por cada alumno, el número de alumnos es N. Debe crear una función llamada Nota_Final, que calcule la Nota Definitiva de cada alumno. 6. Hacer una función que reciba un dato N y devuelva la suma de los dígitos pares.
  • 83. Procedimientos  Un procedimiento es un subalgoritmo que toma uno o más valores llamados Parámetros, con los cuales ejecuta tareas específicas.
  • 84. Procedimientos  La declaración de un procedimiento requiere una serie de pasos que la definen. Un procedimiento tiene una construcción similar a los algoritmos, por consiguiente constará de una cabecera que comenzará con el nombre del procedimiento y entre paréntesis una lista de parámetros del procedimiento. A continuación irá el cuerpo del procedimiento, que será una serie de acciones o instrucciones que conforman el cuerpo del procedimiento.
  • 85. Sintaxis para Declarar Procedimientos. Nombre_Procedimiento (Lista Parámetros) < Acciones > Fin Procedimiento Invocación de los Procedimientos Nombre_Procedimiento (Lista Parámetros)
  • 86. Procedimientos La lista de parámetros actuales debe corresponder en tipo y cantidad con la lista de parámetros (formal) definidos en el procedimiento. Una llamada a un procedimiento implica los siguientes pasos: · A cada parámetro formal se le asigna el valor real de su correspondiente parámetro actual. · Se ejecuta el cuerpo de acciones del procedimiento. · Se regresa a la instrucción siguiente del punto de llamada.
  • 87. Ejemplos de Procedimientos  el siguiente algoritmo llama al procediminto SUMATORIA, para calcular y mostrar la sumatoria de los números del 1 al 5. Inicio Entero : I Para I = 1, I <= 5, I + 1 SUMATORIA (I) Fin Para Fin  en la siguiente diapositiva se muestra el funcionamiento del procedimiento SUMATORIA..
  • 88. Ejemplos de Procedimientos SUMATORIA (Entero: H) Entero : K, Suma = 0 Para K = 1, K <= H, K + 1 Suma = Suma + 1 Fin Para Mostrar (Suma) Fin Procedimiento
  • 89. Ejemplos de Procedimientos  El siguiente algoritmo llama al procedimiento SUMATORIA, para calcular y mostrar la sumatoria de 3 números dados por el usuario. Inicio Entero : I, N Para I = 1, I <= 3, I + 1 Leer (N) SUMATORIA (N) Fin Para Fin  en la siguiente diapositiva se muestra el funcionamiento del procedimiento SUMATORIA..
  • 90. Ejemplos de Procedimientos SUMATORIA (Entero: H) Entero : K, Suma = 0 Para K = 1, K <= H, I + 1 Suma = Suma + 1 Fin Para Mostrar (Suma) Fin Procedimiento
  • 91. Ejercicios de Procedimientos 1. Un niño va a un parque de atracciones mecánicas y decide montar en varios juegos, a demás pude repetir atracción mecánica (pagando). Debe hacer un procedimiento que tome el costo de disfrutar la atracción y las veces que la disfruto, y muestre la plata que gasto en la atracción mecánica. 2. Hacer un procedimiento que muestre el valor total de cada articulo, teniendo como base el precio unitario y la cantidad. Como se trata de una caja rápida, el número máximo de artículos que puede comprar es 5.
  • 92. Ejercicios de Procedimientos 3. Hacer un Procedimiento que realice y muestre la suma de dos números siempre que sean pares , que realice una multiplicación si solo uno de ellos es par y una resta si ambos son impares. 4. Hacer un Procedimiento que realice el siguiente calculo matemático: 2 + (A / B) * (10 / B).
  • 93. Vectores o Arreglos Unidimensionales  Un arreglo es una colección de datos del mismo tipo, que se almacenan en posiciones consecutivas de memoria y reciben un nombre común. Para referirse a un determinado elemento de un arreglo se deberá utilizar el nombre del arreglo acompañado de un índice el cual especifica la posición relativa en que se encuentra el elemento.
  • 94. Vectores o Arreglos Unidimensionales  Los arreglos pueden ser:  Unidimensionales (vectores).  Bidimensionales (matrices, tablas).  Multidimensionales(tres dimensiones o más).
  • 95. Vectores o Arreglos Unidimensionales  Los pasos para la utilización de un vector son: 1. Declarar el vector: consiste en establecer el nombre, el tamaño y el tipo de los datos que se van a almacenar en el arreglo ejemplo: hay que diferenciar dos términos : tamaño del vector (T): es el numero máximo de elementos que puede contener el vector. Numero de elementos (N): que indica cuantos elementos hay almacenados en el arreglo en determinado momento. Nota N<=T. T = 10; Real: notas[T]
  • 96. Vectores o Arreglos Unidimensionales  2. Llenar el vector con los datos: Se puede hacer en el momento de la declaración asignando al vector los valores que necesitamos almacenar. Ejemplo. Real : Notas [10] = {2.3 , 3.5 , 4.2 , 3.3 , 3.0 , 4.9 , 4.2 , 3.0 , 2.0 , 1.5 }; ó recorriendo el arreglo así: para i = 1 hasta N .......leer( notas[i] ) fin del para
  • 97. Vectores o Arreglos Unidimensionales  3. Manipular la información guardada en el vector. Para esto es necesario recorrer dicha estructura y se puede hacer de la siguiente manera. para i = 1 hasta N ......mostrar ( notas[i] ) fin del para
  • 98. Vectores o Arreglos Unidimensionales, Sintaxis A continuación se dan dos formas para declarar un vector: Inicio Tipo de Dato: <Nombre del Vector> [Nro. de Posiciones] Fin Inicio Tipo de Dato: <Nombre Variable> Leer (Nombre Variable) Tipo de Dato: <Nombre del Vector> [Nombre Variable] Fin
  • 99. Vectores o Arreglos Unidimensionales, Sintaxis A continuación se muestra la sintaxis para recorrer un Vector: Inicio Tipo de Dato: <Nombre del Vector> [Nro. de Posiciones] Tipo de Dato: <Variable con la cual se Recorrerá el Vector> Para VRV = 1, VRV <= Nro .de Posiciones / Nomonbre Variable, <Incrementos> Leer / Mostrar (Nombre del Vector [VRV]) Fin Para
  • 100. Vectores o Arreglos Unidimensionales Ejemplos 1. Crear un vector de tamaño 10, e implementar con el los siguientes pasos: a) Crear un Procedimiento que Llene el Vector con números enteros. b) Crear un Procedimiento que Muestre el Contenido del Vector. c) Crear una función que retorne la sumatoria de los números enteros contenidos en el vector. Determinar si el resultado de la sumatoria es un número Par o Impar.
  • 101. Vectores o Arreglos Unidimensionales Ejemplos d) Crear una función que retorne el dato mayor contenido en el vector. e) Crear una función que retorne el dato menor contenido en el vector. f) Muestre el resultado de la diferencia entre el numero mayor y el numero menor que han retornado las funciones anteriores.
  • 102. Vectores o Arreglos Unidimensionales Ejemplos 1. Crear dos procedimientos así: Uno que cargue un vector de N posiciones y el otro que determine cuantas posiciones están llenas . 2. Continuando con el caso anterior crear un procedimiento que cargue un nuevo vector con las posiciones exactas, es decir, que el tamaño del vector concuerde con el número de datos que almacena. 3. Crear una función que determine cuantas veces en el vector “Números” esta un dato dado por el usuario.
  • 103. Ejercicios de Vectores 4. Crear una Función que calcule el promedio de los datos del vector “Números”. 5. Crear una función que calcule y devuelva la sumatoria de los datos que están en las posiciones impares del vector “Números”. 6. Crear una función que retorne el porcentaje de los números pares del vector “Números”. 7. Crear un procedimiento que invierta el vector y mostrarlo.
  • 104. Ejercicios de Vectores 8. Crear un procedimiento que indique cuantas veces esta repetido un dato dentro del vector. 9. Crear un procedimiento que ordene el siguiente vector de menor a mayor: Vector {3,1,4,2} 10. Crear un a función que añada el dato “5” al vector anterior. (debe ajustar el tamaño al vector). 11. Crear una función que elimine el dato “3” al vector anterior (debe ajustar el tamaño al vector).
  • 105. Matrices o Arreglos Bidimensionales  Consiste en un vector de vectores y es por lo tanto un conjunto de elementos del mismo tipo en el que el orden de los componentes es significativo y en el que necesitan especificarse dos subíndices para poder identificar cada elemento de la matriz.
  • 106. Matrices o Arreglos Bidimensionales  Los pasos para la utilización de una matriz son: 1. declarar la matriz: consiste en establecer el nombre, el tamaño y el tipo de los datos que se van a almacenar en la matriz ejemplo: F = 3; C = 4; Real: matriz[F][C]
  • 107. Matrices o Arreglos Bidimensionales  2. llenar la matriz con los datos: se puede hacer en el momento de la declaración asignando a la matriz los valores que necesitamos almacenar. Ejemplo. real: notas[][ ] = { {2.3 , 3.5 , 4.2 ,3.8},{ 3.3 , 3.0 , 4.9,5.0} ,{ 4.2 , 3.0 , 2.0 ,2.8} }  ó recorriendo el arreglo así:  para F= 1, F <= 3 , F + 1 para C = 1 , C<= 4 , C + 1 leer( matriz[F][C] ) fin del para fin del para
  • 108. Matrices o Arreglos Bidimensionales  3. manipular la información guardada en la matriz. Para esto es necesario recorrer dicha estructura y se puede hacer de la siguiente manera. para F = 1, F <= 3, F + 1 para C = 1, C <= 4, C+ 1 mostrar ( matriz[f][c] ) fin del para fin del para
  • 109. Matrices o Arreglos Bidimensionales  Ejercicios: Para una matriz de N x M que ya tiene los datos realizar un procedimiento para cada uno de los siguientes puntos. 1.Calcule y muestre el promedio de todos los datos de la matriz. 2.Calcule y muestre los promedios de cada columna; a demás determine cual columna tiene el promedio mayor y cual es ese promedio.
  • 110. Matrices o Arreglos Bidimensionales 3. Cuanto suman los datos de la diagonal principal. 4. Cual es el dato mayor de la diagonal secundaria.
  • 111. Matrices o Arreglos Bidimensionales 5. Halle el dato que más se repita en la matriz y diga cuantas veces esta. 6. Halle el dato mayor de la matriz . 7. Halle el dato menor de la matriz. 8. Ordene ascendentemente cada fila. 9. Ordene ascendentemente toda la matriz.
  • 112. Matrices o Arreglos Bidimensionales 10. Recorrer la matriz de la siguiente forma y mostrar los datos en esa posición.