76338688 logica-de-programacion

113
ALGORITMOS Alberto Echeverry Arroyave Ing. De Sistemas

Upload: juan-ossa-yepes

Post on 22-Jul-2015

257 views

Category:

Documents


1 download

TRANSCRIPT

ALGORITMOS

Alberto Echeverry ArroyaveIng. 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.

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

Algoritmos para ser ejecutados por Personas

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

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

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.

Realice los Siguientes Ejercicios

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 Datoslos 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 ('+', '-', '*', '/', ',' '.', '<' ,'>', '$', ….)

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).

Tipos de Datos

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

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

Partes de Un Algoritmo DECLARACION DE VARIABLES para declarar las variables se hará de la siguiente

forma:

INICIOTipo de Dato: Identificador, Identificador

FIN PROGRAMA

Partes de Un Algoritmo DECLARACION DE VARIABLESEjercicios: 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 guardar la distancia recorrida y otra para guardar la cantidad de intentos.

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.

INICIOTipo de Dato: Identificador, IdentificadorLeer (Identificador1, Identificador2)

FIN PROGRAMA

Entrada de DatosEjercicios: 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 patas que tiene.

Partes de Un Algoritmo

Salida de Datossi 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 DatosPartes de Un Algoritmo

INICIOTipo de Dato: Identificador, IdentificadorLeer (Identificador1, Identificador2)Mostrar (Identificador1, Identificador2, Identificador3)

FIN PROGRAMA

Partes de Un Algoritmo Salida de DatosEjemplo:

INICIOEntero: NLeer (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:

INICIOTipo de Dato: Identificador, IdentificadorLeer (Identificador1, Identificador2)Variable = ValorMostrar (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 = 5se 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

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óndiv División Enteramod 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 Numérica

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 = AvionesB = ColoresC = Comercial

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

Asignación en Una Variable tipo Cadena

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 " ! ".

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 = verdadero1 > 3 = falso2 > 1 && 4 > 10 = falso2 > 10 && 4 < 10 = falso3 == 2 || 3 > 2 = verdadero20 > 1 && 4 < 10 = verdadero5 < 10 && 10 <= 20 = verdadero2 > 1 | | 1 < 1 = verdadero

Expresiones 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)

Asignación Valores a Variable Lógicas

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”

INICIOInstrucción 1Si expresión lógica entonces Instrucción11 Intrucción12 Instrucción13Fin SiInstrucciónN

FIN PROGRAMA

Ejemplo:INICIO

Real: N, Triple, CuadradoLeer (N)Si N >= 100 Entonces

Triple = N * 3Mostrar “El Triple es”, Triple

Fin SiSi N < 100 Entonces

Cuadrado = N * NMostrar “El Cuadrado es”, Cuadrado

Fin SiFIN PROGRAMA

Instrucciones de Decisión: “SI”

Ejercicios1. 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”

Ejercicios4. 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”

Ejercicios7. 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”

Instrucciones de Decisión: “SI – SI NO”

INICIOInstrucción 1Si expresión lógica entonces Instrucción11 Intrucción12 Instrucción13Si No Instrucción21 Intrucción22 Instrucción23Fin SiInstrucciónN

FIN PROGRAMA

Ejemplo:INICIO

Real: N, Triple, CuadradoLeer (N)Si N >= 100 Entonces

Triple = N * 3Mostrar “El Triple es”, Triple

Si NoCuadrado = N * NMostrar “El Cuadrado es”, Cuadrado

Fin SiFIN 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 – SI NO”

Instrucciones de Decisión: “SI” y “SI – SI NO” Anidados

INICIOInstrucción 1Si 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 SiFin SiInstrucciónN

FIN PROGRAMA

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 valor1 Memorias USB 250002 Pantallas 2800003. 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.

Instrucciones de Decisión: “SI – SI NO” Ejercicios:

Instrucción de Decisión Multiple

INICIOTipo: Identificador1Leer (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ón14Fin CaseInstrucció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:

INICIOTipo: Identificador1Leer (Identificardor1)Instrucción1Haga Mientras Expresión Lógica Instrucción2 Instrucción3 Instrucción4Fin MientrasInstrucció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)

Estructura de Repetición Mientras (While) Controlada con una Variable Contador

INICIOEntero: II = 0Haga Mientras I <= 10 Mostrar I I = I + 1Fin Mientras

FIN PROGRAMA

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 con una Variable Contador

Estructura de Repetición Mientras (While) Controlada por una Variable Centinela

INICIOEntero: ILeer IHaga Mientras I > 0 Mostrar I Leer IFin Mientras

FIN PROGRAMA

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.

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.

Estructura de Repetición Mientras (While) Controlada por una Variable Centinela

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 cuantos ganan menos de 100000.

Ejercicios Estructura de Repetición Mientras (While)

Estructura de Repetición Para (For)

INICIO

Para Expresión de Inicio, Expresión de Fin, Expresión de Incremento Instrucción 1 Instrucción 2 Instrucción NFin Para

FIN PROGRAMA

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.

Ejemplo: hacer un algoritmo que lea 5 enteros dados por

el usuario y muestre su suma.

Estructura de Repetición Para (For)

INICIOEntero N, I, SUMA = 0Para I = 1, I < 6, I + 1 Leer (N) SUMA = SUMA + NFin ParaMostrar “la Suma de los Enteros es: “, SUMA

FIN PROGRAMA

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.

Estructura de Repetición Para (For)

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.

Funciones

Sintaxis para Declarar FuncionesTipo de Dato: Nombre_Función (Lista Parámetros)

< Acciones >

Retornar (Expresión)Fin FunciónInvocación de las Funciones

Nombre_Función (Lista Parámetros)

FuncionesLa 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.

el siguiente algoritmo llama a la función Sumatoria para calcular y mostrar la sumatoria de los números del 1 al 5.

Ejemplos de Funciones

InicioEntero : N = 5Mostrar “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

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.

Mas Ejemplos de Funciones

InicioEntero : Ini = 131, Fin = 136Mostrar “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

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.

Ejercicios de Funciones

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.

Procedimientos

Sintaxis para Declarar Procedimientos.Nombre_Procedimiento (Lista Parámetros)

< Acciones >

Fin Procedimiento

Invocación de los ProcedimientosNombre_Procedimiento (Lista Parámetros)

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.

Procedimientos

Ejemplos de Procedimientos el siguiente algoritmo llama al procediminto

SUMATORIA, para calcular y mostrar la sumatoria de los números del 1 al 5.

InicioEntero : IPara 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 = 0Para K = 1, K <= H, K + 1 Suma = Suma + 1Fin ParaMostrar (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.

InicioEntero : I , NPara 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 = 0Para K = 1, K <= H, I + 1 Suma = Suma + 1Fin ParaMostrar (Suma)Fin Procedimiento

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).

Ejercicios de Procedimientos

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

Vectores o Arreglos Unidimensionales, Sintaxis

InicioTipo de Dato: <Nombre del Vector> [Nro. de Posiciones]

Fin

InicioTipo de Dato: <Nombre Variable>Leer (Nombre Variable)Tipo de Dato: <Nombre del Vector> [Nombre Variable]

Fin

A continuación se dan dos formas para declarar un vector:

Vectores o Arreglos Unidimensionales, Sintaxis

InicioTipo 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 / NomonbreVariable, <Incrementos> Leer / Mostrar (Nombre del Vector [VRV])Fin Para

Fin

A continuación se muestra la sintaxis para recorrer un Vector:

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 UnidimensionalesEjemplos

Vectores o Arreglos UnidimensionalesEjemplos

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.

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.

Vectores o Arreglos UnidimensionalesEjemplos

Ejercicios de Vectores4. 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.

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).

Ejercicios de Vectores

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 + 1leer( matriz[F][C] )

fin del parafin 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 + 1para 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.

Matrices o Arreglos Bidimensionales

Bibliografia

http://ayura.udea.edu.co/~jlsanche/