curso de lógica de programación 1 - uteqcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · pasos para...

59
Curso de lógica de programación 1

Upload: others

Post on 10-Mar-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Curso de lógica de programación 1

Page 2: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

OBJETIVOS

•••• Que el estudiante de Sistemas amplíe los conocimientos de lógica de programación.

•••• Que halla una mayor comprensión, por el lenguaje o palabras que se utilizan.

•••• Que se sienta en un ambiente multimedia agradable, y estético.

•••• Que resuelva las dudas, ya que explica paso por paso.

DESCRIPCIÓN DE LA METODOLOGÍA

En un entorno multimedia agradable, que el estudiante encuentre una respuestas a sus dudas, con ejemplos detallados y pruebas que el estudiante realizara, y luego corroborara apretando un botón, y con una animación paso por paso.

DESCRIPCIÓN DEL SISTEWMA DE EVALUACIÓN Hay una evaluación por cada tema expuesto, que el estudiante rectificará después, apretando el botón respuesta; se le explica que primero analice los problemas y luego después de haberlo intentado muchas veces, luego ya pueda ver la respuesta.

ESTRUCTURA DE CONTENIDO

1. introducción 2. algoritmos 3. Condicionales 4. Ciclo para

5. Ciclo mientras 6. vectores 7. matrices

Page 3: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

LOGICA 1

El curso lógica de programación, es uno de los más importantes en cuanto a programación se refiere, ya que es el zócalo principal de la misma. Para algunos está materia es una de las más difíciles tal vez por el método como es enseñada; en este curso se tratara de hacer de esta materia un aprendizaje ameno y entretenido, puesto que la materia lógica de programación es algo cotidiano en nuestra vida aunque a veces no lo percibimos. Primero definiremos lo que es lógica. LOGICA: Conjunto de pasos o procesos a seguir para cumplir un objetivo, incluyendo todas las variables necesarias para el desarrollo del mismo. De acuerdo a lo anterior, la lógica se aplica a todo procedimiento de la vida, real o abstracto. Por ejemplo la lógica se expresa al prender un computador:

1. Encender regulador (Si lo tiene). 2. Encender CPU. 3. Encender monitor.

O pasos parea prender un foco, para ir a la universidad, para hacer una llamada telefónica, etc. todo estos ejemplos de lógica se les llama lógica cualitativa. A continuación realicemos algunos ejemplos; hazlos y luego mira la respuesta. Se dan 5 eventos numerados del 1 al 5 y que aparentemente no están relacionados. De todas las combinaciones posibles establecer una que relacione los 5 eventos en la sucesión más lógica sin que sea necesario incluir nuevos eventos y que uno posterior sea siempre consecuencia de uno anterior (ordenamiento en tiempo) o que uno posterior sea premisa de uno posterior (causa y efecto o consecuencia lógica).

1. Se levanta un auricular. 2. Una mujer habla con su hijo. 3. Se cuelga un teléfono. 4. Se hace una conexión. 1. Se levanta un auricular. 2. Se hace una conexión. 3. Una mujer habla con su hijo. 4. Se cuelga un teléfono. 5. Termina una llamada.

1. Se disfruta. 2. Se vierten en el vaso de licuar. 3. Se pelan las frutas. 4. Se vierten en el vaso. 5. Se cuela el jugo.

Page 4: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Antes de seguir con los algoritmos, es necesario conocer ciertos términos que ayudarán a una mejor comprensión. Dato: Es la mínima unidad de información, puede ser una letra, numero, información personal etc. Campo: Un campo es un espacio físico donde se almacena un dato. Ejemplo: Campo Nombre

Victor Alonso

Mishel carolina

Yarleth Cecilia

Datos Ejemplo 2. Apellidos Márquez Jiménez Márquez Sotomayor

Quezada Jiménez

Ejemplo 3. Números Negativos -3 -5 -1000 Programación: Conjunto de instrucciones que definen la secuencia de eventos que un computador debe ejecutar para llevar a cabo la tarea requerida por el usuario. Memoria: Dispositivo físico para almacenamiento de información. Constante: Es un valor que no va a cambiar o variar en el transcurso de un algoritmo; estás pueden ser numéricas o alfanuméricas (letras y números). Π =3.141592654 Pi= Siempre será 3.141592654 3= siempre será tres.

Page 5: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Variable: Aquel valor que cambia en el transcurso de un algoritmo. Existen dos tipos de variables, según su uso y contenido. Uso: Contadores Acumuladores Switch Bandera boléanos Contenido: Alfanuméricos Alfabéticos Lógicas Boléanos Ejemplo: Un salario: No sabemos que salario puede ser; mínimo u otro valor.

Edad: no sabemos que edad puede tener un individuo o personaje. Clima: puede variar dependiendo de la circunstancia del tiempo.

Ejemplo: Día de la semana: es una variable ya que no se sabe cual día de la semana puede ser; En cambio cuando hablo de un día especifico, es una constante, por ejemplo lunes es una constante puesto que es algo que no tiene posibilidades de ser martes u otro día. Observa los siguientes ejercicios si es variable o constante y luego rectifica tu pensamiento: Operadores y conectores Son símbolos que nos permiten unir o conectar, para poder ejecutar operaciones. Operadores matemáticos: Son símbolos que unen variables y constantes, para resolver operaciones matemáticas. En lógica algunos símbolos matemáticos cambian. Operador Símbolo Exponencial ** Multiplicación * División / Suma + Resta - Entonces según esto las operaciones matemáticas quedaran así: 2 x 4 2*4 53 5**3 90 ÷ 2 90/2

Page 6: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

5+4 5+4 9-1 9-1 Jerarquía operadores matemáticos: Es el orden de ejecución o realización de los operarios.

1. Exponencial, radical 2. Multiplicación y división 3. Suma y resta

Se ejecutan las jerarquías de izquierda a derecha.

Ejemplo: a + b + c *d / e

1. c * d = R1 2. R1 / e = R2 3. a + b = R1 4. R1 + R2 = R

Entonces según lo anterior primero se realiza la multiplicación, luego esa respuesta1 se divide por e, luego se suman a y b el cual va ser la respuesta1, cambiándose por el primer resultado, luego se suma la que ahora es la respuesta1 más la respuesta2. Restricción para las jerarquías: Para restringir o establecer una preeminencia en el sentido de que operación se debe realizar primero, se utilizan los paréntesis o en algunos casos corchetes o llaves.

1. Paréntesis 2. Exponenciales 3. Multiplicación y división 4. Suma y resta

Ejemplo: a + b + (c * d) / e en este caso prima la operación de los paréntesis. Operadores relacionales: Conjunto de constantes y variables unidas por operadores relaciónales. Operadores Símbolos Igual qué = Mayor qué > Menor qué < Mayor igual qué >= o > Menor igual qué <= o < Diferencia <> Operadores lógicos o boléanos: nos sirven para evaluar condiciones, es decir, si un resultado es falso (F) o verdadero (V)

Page 7: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Conectores lógicos: Varían dependiendo de la sintaxis o criterio de algunos libros. And ^ (Y) En algunos libros se utiliza & Or v (O) Expresión: Es un conjunto de variables y constantes unidos operadores. Tenemos expresiones aritméticas o matemáticas que son un conjunto de constante y variables unidas por operadores matemáticos. Ejemplo: a + b - 5 120 * 1 + 4 – a (a > b) ^ (b > c) (a > b) v (b > c) ALGORITMOS Como lo dijimos en la introducción al definir lógica, un algoritmo es precisamente la lógica al realizar una operación o acción. Algoritmos cualitativos: Montar una llanta, buscar en un directorio, hacer un pastel etc. Algoritmos cuantitativos: Hallar una raíz cuadrada, resolver una ecuación, sumar dos números etc. Para representar los algoritmos tenemos dos formas que son los seudocodigos y los diagramas de flujo. Seudocodigo: es un código no refinado es decir, instrucciones no codificadas en un lenguaje. Diagramas de flujo: representación grafica de un algoritmo. Ejemplo Los seudocodigos utilizan una serie de enunciados para representar las instrucciones entre ellos tenemos los enunciados de asignación. Enunciado de asignación: Es asignarle a una variable un valor constante o variable o el resultado de una expresión por ejemplo:

1. Salario hora ← 20000 2. Salario NHT * salario hora

3. Salario neto Salario

1. Salario hora es el valor de una hora de trabajo y el valor es de 20000 2. luego el salario es él numero de horas trabajadas que es una variable (ya que

puede ser cualquier valor) * el valor de la hora que fue el que guardamos en salario hora

3. por ende el salario neto total es lo que se guardo en salario, es decir la operación de multiplicar humero de horas trabajadas por salario hora.

Page 8: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Clases de enunciados: Pueden ser 1. variable - Constante 2. variable - Expresión matemática 3. Variable - Variable Reglas de los enunciados de asignación:

1. La variable de la izquierda siempre cambia de valor 2. Las variables de la derecha deben estar definidas con anterioridad 3. Las variables de la derecha nunca cambian de valor, conservan su valor después

de ser ejecutadas una vez 4. La variable de la izquierda si se encuentra a la derecha, cambiará de valor por

estar a la izquierda. Identifique los siguientes expresiones y diga como está compuesta

- Salario + 15 % - Deducción + 8000 - (Salario > 100000) ^ ( NHT < 40) - 500000 < Salario < 800000 - Salario neto <> 200000

Interprete las siguientes expresiones para ser interpretadas por el computador. x3 + b2 + ac xy Pasos para un algoritmo

1. Leer y entender el enunciado (Analizarlo) 2. Determinar los datos de entrada y los datos de salida 3. Determinar los procedimientos y calculo para llegar a la solución del problema.

Datos de entrada: Datos o información que necesito para poder procesar y arrojar un resultado. Proceso: Procedimientos y cálculos matemáticos para llegar a la solución de un problema. Datos de salida: Resultados que llevan a la solución de un problema. Ejemplo: Sumar dos números

1. El objetivo es evidente, sumar dos números. 2. Los datos de entrada serian los dos números, que vamos a sumar en este caso los

llamaremos num1 y num2 (Variables), Pero se les puede colocar cualquier nombre, claro que tienen que ser nemotécnicos.

3. El procedimiento a efectuar es sumar los dos números. Términos utilizados para realizar un algoritmo:

Page 9: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Lea: me permita capturar los datos que van a ser procesados (Datos de entrada); se utiliza la palabra lea seguida de variables, separadas por comas (,). Ejemplo: Lea num1, num2 Imprima: En algunos libros o metodologías se le llama escriba, muestre; esta instrucción permite mostrar una información, nos permite también mostrar los resultados deseados. Imprima num1 Muestre num2 Escriba salario Prueba de escritorio: La prueba de escritorio permite hacer un seguimiento de lo que haría el computador, pero en una hoja; para ello debe ejecutar instrucción por instrucción en una hoja de papel, se toman las variables en el orden que aparecen y debajo de ellas se va colocando el valor respectivo que se le va asignando; siempre que llega un valor nuevo para una variable se tacha el valor y debajo coloca el nuevo. Forma de un algoritmo. Inicio Lea (Vble) Entrada Cálculos y procedimientos Imprima [Donde lo requiera] Salida Fin Lo que se inicia se cierra, lo que se cierra se abre Ejercicios: 1.Seudocodigo que sume dos números. Inicio Lea Num1, num2 Suma = Num1 + Num2 Imprima Suma Fin 2. Algoritmo que lea 3 números y realice las siguientes operaciones:

- multiplique el primero con el segundo - Sume el segundo y el primero - Imprima el resultado de las operaciones

Page 10: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Inicio Lea N1, N2, N3 Mult = N1 * N3 Suma = N2 + N3 Imprima Mult, Suma Fin 3. Leer un numero y calcular el 7 % de este, Imprimir el numero y el porcentaje obtenido. Inicio Lea Numero Porcentaje =(Numero * 7) / 100 Imprima Porcentaje Fin En el segundo ejercicio los datos de entrada eran N1, N2, N3, el proceso era multiplicar (N1 * N2) Y sumar (N2 + N3) En el tercero el dato de entrada era la variable numero, y el proceso era sacarle el porcentaje, y el dato de salida era el resultado de la operación. 4. Realizar un algoritmo que lea el nombre y la edad de una persona y la imprima. Inicio Lea Nom, Edad Imprima Nom, Edad Fin

5. Calcular el valor unitario de un producto, ingresando el valor total y la cantidad.

Datos de entrada: Valor_total, Cantidad Proceso: Valor_unitario = Valor_total Cantidad Datos de salida: Valor_unitario Algoritmo Inicio Lea Valor_total, Cantidad Valor_unitario = Valor_total / Cantidad Imprima Valor_unitario Fin

Page 11: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

6. Realizar un algoritmo que permita hallar el resultado de la siguiente ecuación. Inicio Lea a, b Z =((a + b) / 2) ** 4 Imprima Z Fin 7. Hallar el cubo y el cuadrado de la suma de dos números. Datos de entrada: n1, n2 Proceso: Sumar n1 + n2, y luego sacarle el cuadrado y el cubo al resultado de esa suma Datos de salida: resultado cuadrado y cubo Suma = 0, Cubo = 0, Cuad = 0 Inicio Lea n1, n2 Suma = n1 + n2 Cubo = suma ** 3 Cuad = suma ** 2 Imprima Cubo, Cuad Fin 8. Hallar la raíz cuadrada y la raíz cúbica de dos números. Rcub = 0, Rcuad = 0 Inicio Lea Num1, Num2 Rcuad = Num1 ** 1/2 Rcub = Num2 ** 1/3 Fin Realiza los ejercicios de la siguiente pagina, y luego mira la respuesta.

1. Realizar un algoritmo que sume dos números, y al resultado hallarle la quinta parte.

2. Se tiene el código, el nombre del estudiante, las notas de matemáticas, química, filosofía; imprimir el promedio de este estudiante con el código y nombre

3. Hallar el área de un circulo teniendo en cuenta que la formula del área es igual Pi * r2

4. Leer una cantidad en dólares y calcule su valor en pesos, suponiendo que el

dólar está a dos mil quinientos.

Page 12: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

5. Calcular la edad aproximada de una persona si se tiene el año de nacimiento y el año actual.

6. Hallar el valor de venta de un articulo, teniendo en cuenta que este será el valor de la compra más el 30 %

7. Obtener el salario neto de un trabajador. Se debe leer su salario básico por hora, el numero de horas trabajadas y el porcentaje de retención en la fuente.

Salario bruto: salario básico por hora * el número de horas trabajadas

Retención: Salario bruto * porcentaje de retención Salario neto: Salario bruto - retención 1. Suma = 0, Quinta = 0 Inicio Lea n1, n2 Suma = n1 + n2 Quinta = Suma / 5

Imprima Quinta Fin 2. Prom = 0 Inicio Lea Cod, Nom, Notmat, Notquim, Notfilos Prom = (Notmat + Notquim + Notfilos) / 3 Imprima Prom, Cod, Nom Fin 3. Area_circulo Inicio Lea r Pi = 3.1416 Area_circulo = pi * (r)**2 Imprima Area_circulo Fin 4. Conversión = 0 Inicio Lea Dólar Conversión = Pesos * 2500 Imprima Conversión Fin

Page 13: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

5.Edad = 0 Inicio Lea Año_nac, Año_actual Edad = Año_actual – Año_nac Imprima Edad Fin 6.Valor_tot = 0 Inicio Lea Valor_comp. Porc = Valor_comp. * 0.3 Valor_tot = Valor_comp. + Porc Imprima Valor_tot Fin 7.Sal_bruto = 0, Ret = 0, Sal_net = 0 Inicio Lea Sal_basicoh, NHT, Por_ret Sal_bruto = Sal_básico * NHT Ret = Sal_bruto * Por_ret Sal_net = Sal_bruto – Ret Imprima Sal_net Fin 8.Seudocodigo que muestre los días de vida aproximado de una persona. 9.Elabore un algoritmo que calcule el pago que debe realizar su tarjeta, si sobre el valor de la compra se cobra el 5 % 10. Seudocodigo que pide la cantidad de tela vendida en metros y a como el metro; debe indicar cuanto debe pagar 8. Días_vida = 0 Inicio Lea Edad Días_vida = Edad * 365 Imprima Días_vida Fin

Page 14: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

9.Porc =0, Pag = 0 Inicio Lea Valor_compra Porc = Valor_compra * 0.05 Pag = Valor_compra + Porc Imprima Pag Fin 10. Pag = 0 Inicio Lea Cant_mts, Cost_mts Pag = Cant_mts * Cost_mts Imprima Pag Fin Pruebas de escritorio de los ejercicios anteriores Aquí terminamos esta parte del estudio, si quieres aprender mas de este tema puedes consultar la pagina lawebdelprogramador, lafacu, o el libro fundamentos de programación Jaime Rodríguez ed.Mac Grauw Hill, o el libro Curso de diagramación de marta cadavid, o el libro Diagramación estructurada y libre de Guillermo correa U Eafit. CONDICIONALES Los condicionales se utilizan para evaluar una condición y ejecutar una acción, dependiendo si la condición es verdadera o falsa, por ejemplo a los niños generalmente se les dice Sí haces la tarea podrás ver televisión, esa condición que utiliza el condicional Si, es una de las bases para poder hacer un programa, ya que hay que tener en cuenta todas las posibles condiciones o variables influyentes en determinada acción o proceso. Forma general Si condición entonces Instrucción 1 Instrucción 2 Instrucción N Fin Si Ejemplo 1: Realizar un algoritmo que determine si una persona es mayor de edad, teniendo en cuenta que una persona es mayor edad al tener 18 años.

Page 15: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Inicio Lea Edad Si edad > 18 entonces Imprima “ Mayor de edad ” Fin Si Fin Nota: Si se da una condición debe ejecutarse las instrucciones posteriores a la palabra reservada “entonces” de no cumplirse la condición termina el condicional; Por ejemplo en el algoritmo anterior, cuando se ingrese la edad, si este tiene 18 o más años, después de la palabra “entonces” se deben cumplir todas las condiciones, en este caso imprimir la palabra “ Mayor de edad “; Ahora en el caso de no cumplirse la condición el algoritmo no arrojará ningún resultado, ya que no entrará al procedimiento que está dentro de la condición. Cuando se imprimen mensajes se utilizan comillas. La prueba de escritorio sería así: Edad Impresión 15 18 “ Mayor de edad” 25 “Mayor de edad” Nota: En esta clase de algoritmo solo se ingresa un solo número, pero para tener una mejor comprensión del mismo, se simula varios ingresos. Ejemplo 2: Leer dos números y si son iguales, imprima un mensaje “Son iguales”. Inicio Lea n1, n2 Si n1 = n2 Entonces Imprima “Son iguales” Fin Si Fin Prueba de escritorio n1 n2 Impresión 5 4 3 -3 2 2 “Son iguales”

Page 16: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Instrucción Si compuesto Forma general Si Condición entonces Instrucción 1 Instrucción 2 Instrucción N Sino Instrucción 1 Instrucción 2 Instrucción N Fin Si Si se cumple una condición se ejecutará las instrucciones, seguida de la palabra “Entonces”, de lo contrario se ejecutaran las instrucciones a la palabra Sino. Ejemplo 3: Realice un algoritmo que le permita determinar, si una persona es mayor de edad o menor de edad, e imprima un mensaje que lo indique, e imprimir la edad. Inicio Lea edad Si edad > 18 Entonces Imprima “Mayor de edad” Sino Imprima “Menor de edad” Fin Si Fin Prueba de escritorio Edad Imprime o muestra en pantalla 18 “Mayor de edad” 11 “Menor de edad” 35 “Mayor de edad” Instrucción Si anidada Forma general Si condición Entonces Instrucción 1 Instrucción 2 Instrucción N Sino Si condición Entonces Instrucción 1

Page 17: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Instrucción 2 Instrucción N Sino Instrucción 1 Instrucción 2 Instrucción N Fin Si Fin Si Ejemplo 3: Realice un algoritmo que determine si un número es negativo o positivo. Inicio Lea Num Si Num < 0 Entonces Imprima “Negativo” Sino Si Num > 0 Entonces Imprima “Positivo” Fin Si Fin Si Fin Prueba de escritorio Num Impresión -1 Negativo 56 Positivo -10 Negativo Un algoritmo tiene muchas formas de hacerse, por ejemplo en este ejercicio se puede hacer de la siguiente manera. Inicio Lea Num Si Num <> 0 Entonces Si Num > 0 Entonces Imprima “Positivo” Sino Imprima “Negativo” Fin Si Fin Si Fin En esta forma no es necesario preguntar en el “sino” si el numero es negativo, ya que el temor del primer algoritmo era, que si se ingresaba un cero (0), habría un error, puesto

Page 18: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

que el cero es neutro, y es por esto que en esta segunda forma se evalúa esta opción al principio. Hay otras formas de hacer este ejercicio. Ejemplo 4: Seudocodigo que lea dos números e indique cual es menor. Inicio Lea n1, n2 Si n1 > n2 Entonces Imprima n2 “Es menor” Sino Si n1 < n2 Entonces Imprima n1 “Es menor” Fin Si Fin Si Fin Prueba de escritorio n1 n2 Impresión 4 3 3 Es menor 8 8 9 15 9 Es menor Es necesario preguntar en el “Sino” ya que los dos números podrían ser iguales. Ejemplo 5: Seudocodigo que lea el nombre, sexo, y edad de una persona e imprima un mensaje, indicando si dicha persona es hombre o mujer. Datos de entrada: Nombre, Sexo, Edad Proceso: Condicional Datos de salida: Si es hombre o mujer Algoritmo Inicio Lea Nom, Sex, Edad Si Sex = “Masculino” Entonces Imprima “Hombre” Sino Imprima “Mujer” Fin Si Fin Prueba de escritorio Nom Sex Edad Ana Femenino 21

Page 19: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Ejemplo 6: Seudocdigo que lea la edad, sexo y el estado civil de una persona e imprima el nombre si corresponde a un hombre soltero mayor de 30 o a una mujer mayor de 50. Inicio Lea Edad, Sex, Estado civil, Nombre Si (Edad > 30) ^ (Estado civil = Soltero) ^ (Sex = Masculino) Entonces Imprima Nombre Sino Si (Edad > 50) ^ (Sex = Femenino) Entonces Imprima Nombre Fin Si Fin Si Fin En el anterior algoritmo en al primera condición se impone que para entrar al proceso de impresión del nombre, es necesario que sea mayor de 30 años, estado civil soltero y sexo masculino, de lo contrario no se ejecutará el procedimiento, es decir que si fuera mayor de 30 y sexo masculino, pero no soltero, no ejecutaría el procedimiento, y así con las otras condiciones, en este caso usamos la conjunción “Y” que en el lenguaje de lógica es “ ^ ”; en la condición siguiente del “Sino” no es necesario preguntar por el estado civil, ya que lo importante según el enunciado, es si la persona es mujer y mayor de 50. Prueba de escritorio Edad Sex Estado_civil Nombre Impresión o lo que muestra en pantalla 15 Masculino Soltero Edison 56 Femenino Casada Edilma “Edilma” Ejemplo 6: Leer un numero e imprima si es par o impar. En este algoritmo es necesario hacer un mayor análisis ya que intervienen fundamentos matemáticos, como ocurre con cualquier otro algoritmo dependiendo de la especialidad. En este caso, para saber que es negativo se aplica lo siguiente. Sabemos que todo número negativo elevado a una potencia par es positivo, y todo número elevado a una potencia impar es negativo Por ejemplo: (-1) ** 2 = 1 (-1) ** 3 = -1 (-1) ** 4 = 1 (-1) ** 5 = -1 Esta es una delas formas de saber si un numero es impar.

Page 20: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Algoritmo Inicio Lea Numero Si (-1) ** Numero = 1 Entonces Imprima “El número es par” Sino Si (-1) ** Numero = -1 Entonces Imprima “El número es impar” Fin Si Fin Si Fin Prueba de escritorio Numero *Procedimiento Impresión 15 (-1) ** 15 = (-1) “El número es impar” 50 (-1) ** 50 = ( 1) “El número es par” Ejemplo 7: Una persona desea saber cuanto es el recargo que debe pagar por las compras hechas con su tarjeta de crédito; Si las compras son mayores $1000000 se cobra el 5 % sobre el valor de las compras; Mayores o iguales a $100000 y menores de $200000 le cobran el 6 % sobre el valor de las compras y de $200000 en adelante el 7 % del valor de las compras. Se debe imprimir el nombre de la persona y el cargo que debe pagar. Rec1= 0, Rec2= 0, Rec3= 0 Inicio Lea Nomb, Valor_compra Si Valor_compra > 1000000 Entonces Rec1 = Valor_compra * 0.05 Imprima Rec1 “Nomb” Sino Si (Valor_compra > 100000) ^ ( Valor_compra < 200000) Entonces Rec2 = Valor_compra * 0.06 Imprima Rec2 “Nomb” Sino Si Valor_compra > 200000 Entonces Rec3 = Valor_compra * 0.07 Imprima Rec3 “Nomb” Fin Si Fin Si Fin Si Fin

Page 21: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Prueba de escritorio Nomb Valor_compra Rec1 Rec2 Rec3 Álvaro 150000 9000 Janidis 300000 21000 Ejercicios:

1. Leer dos números y si son iguales súmelos, de lo contrario multiplíquelo. 2. Elabore un algoritmo que lea de un alumno su carnet, su nombre, el número de

materias, y costo de cada materia; Si el valor de las materias es mayor a $1500000 debe mostrar el mensaje alumno matriculado con seis materias. Suponga que cada materia tiene el mismo precio.

3. Realizar un programa que lea tres notas de un estudiante; determinar mediante un mensaje si el estudiante ganó o perdió la materia.

4. Desarrolle un algoritmo para leer el nombre de un empleado, su salario por hora y el números de horas trabajadas durante la semana. Calcule el salario neto, teniendo en cuenta que si el numero de horas trabajadas es mayor que 48, esas horas siguientes se consideran extras y tienen un 35 % de recargo. Imprima el nombre del empleado y su salario neto. (No se dispone de bonificaciones y deducciones).

5. Realizar un programa que imprima él número medio de tres números (el número medio es el que no es el mayor ni el menor) .

6. Un almacén de escritorios hace lo siguientes descuentos: Si el cliente compra menos de 5 unidades se le da un descuento del 10 %, sobre la compra; Si el número de unidades es mayor o igual a 5, pero menos de 10, se le otorga un descuento del 20 % y si son 10 o más se le da un 40 % de descuento. Elaborar un algoritmo que determine cuanto debe pagar cierto cliente que compró n escritorios, sabiendo que el valor de cada escritorio es de $120000.

7. Hacer un programa que pida un numero del uno al siete, y que diga a que día de la semana corresponde (1. Lunes, 2. Martes, 3. Miércoles ... ).

8. Hacer un programa que pida dos números y luego los imprima en orden ascendente . 9. Realizar un programa que calcule la nota definitiva de un estudiante. El estudiante tiene cuatro notas; Imprima “Excelente” si la nota definitiva es mayor de 4.5; “Bueno” si está entre 4 y 4.5 “Regular” si es menor que cuatro y mayor e igual que 3, y “Malo” si es menor de 3.

10. Los empleados de la empresa yelitza, deciden descontar parte de su sueldo para una donación, la cual depende del sueldo: Sí este es menor o igual a $250000 la donación es del 13 %, si e mayor de $250000, pero menor de un millón, la donación será de un 25%, en otro caso la donación será del 50 %. Determine la donación de una persona y el saldo.

Page 22: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

1.Suma = 0, Multi = 0 Inicio Lea n1, n2 Si n1 = n2 Entonces Suma = n1 + n2 Imprima Suma Sino Multi = n1 * n2 Imprima Multi Fin Si Fin 2.Cost_Tot = 0 Inicio Lea Carnet, Nomb, Nmat, Cost_Mat Cost_Tot = Nmat * Cost_Mat Si Cost_Tot > 1500000 Entonces Imprima “Alumno matriculado” Sino Imprima “El alumno no está matriculado” Fin Si Fin 3.Def = 0 Inicio Lea Not1, Not2, Not3 Def = (Not1 + Not2 + Not3) / 3 Si Def > 3 Entonces Imprima “Ganó la materia” Sino Si Def < 3 Entonces Imprima “Perdió la materia” Fin Si Fin Si Fin 4. Sal_neto = 0, H_extras = 0, Rec = 0, Cost_Extras = 0 Inicio Lea Nomb, Sal_hora, NHT Si NHT > 38 Entonces H_extras = NHT – 38 Rec = H_extras * Sal_hora * 0.35 Cost_Extras = H_extras * Sal_hora + Rec Sal_neto = Sal_hora * 38 + Cost_Extras Imprima Sal_neto, Nomb Sino Sal_neto = Sal_hora * NHT

Page 23: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Imprima Sal_neto, Nomb Fin Si Fin 5. Men = 0, May = 0 Inicio Lea n1, n2, n3 Si (n1 <> n2) ^ (n1 <> n3) ^ (n2 > n3) Entonces Si (n1 > n2) ^ (n1 > n3) Entonces May = n1 Sino Si (n2 > n1) ^ (n2 > n3) Entonces May = n2 Sino Si (n3 > n1) ^ (n > n2) Entonces May = n3 Fin Si Fin Si Fin Si Si (n1 < n2) ^ (n1 < n3) Entonces Men = n1 Sino Si (n2 < n1) ^ (n2 < n3) Entonces Men = n2 Sino Si (n3 < n1) ^ (n3 < n2) Entonces Men = n3 Fin Si Fin Si Fin Si Fin Si Si (n1 <> Mayor) ^ (n1 <>Men ) Entonces Imprima n1 “Es el número medio” Sino Si (n2 <> Mayor) ^ (n2<>Men ) Entonces Imprima n2 “Es el número medio” Sino Si (n3 <> Mayor) ^ (n3<>Men ) Entonces Imprima n3 “Es el número medio Fin Si Fin Si Fin Si Fin 6. Total_pag = 0, Desc =0 Inicio Lea Nescritorios Valor_bruto = Nescritorios *120000

Page 24: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Si Nescritorios < 5 Entonces Desc = Valor_bruto * 0.1 Total_pag = Valor_bruto - Desc Imprimir Total_pag Sino Si ( Nescritorios > 5) ^ ( Nescritorios < 10) Entonces Desc = Valor_bruto * 0.2 Total_pag = Valor_bruto - Desc Imprimir Total_pag Sino Si ( Nescritorios > 10) Entonces Desc = Valor_bruto * 0.4 Total_pag = Valor_bruto - Desc Imprimir Total_pag Fin Si Fin Si Fin Si Fin 7. Inicio 1= Lunes, 2 = Martes, 3 = Miércoles, 4 = Jueves, 5 = Viernes, 6 = Sábado, 7 = Domingo Lea n Si n = 1 Entonces Imprima “Lunes” Sino Si n = 2 Entonces Imprima “Martes” Sino Si n = 3 Entonces Imprima “Miércoles” Sino Si n = 4 Entonces Imprima “Jueves” Sino Si n = 5 Entonces Imprima “Viernes” Sino Si n = 6 Entonces Imprima “Sábado” Sino Si n = 7 Entonces Imprima “Domingo” Fin Si Fin Si Fin Si Fin Si

Page 25: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Fin Si Fin Si Fin Si Fin 8. Inicio Lea n1, n2 Si n1 < n2 Entonces Imprima n1, n2 Sino Imprima n2, n1 Fin Si 9. Def = 0 Inicio Lea Not1, Not2, Not3, Not4 Def = (Not1 + Not2 + Not3) / 4 Si Def > 4.5 Entonces Imprima “Excelente” Sino Si (Def > 4) ^ (Def < 4.5) Entonces Imprima “Bueno” Sino Si (Def < 4) ^ (Def > 3) Entonces Imprima “Regular” Sino Si Def < 3 Entonces Imprima “Malo” Fin Si

Page 26: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos
Page 27: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos
Page 28: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Si Fin Si Fin SI 10. Saldo = 0, Don = 0 Inicio Lea Sueldo Si Sueldo < 250000 Entonces Don = Sueldo * 0.13 Saldo = Sueldo – Don Sino Si (Sueldo > 250000) ^ (Sueldo < 1000000) Entonces Don = Sueldo * 0.25 Saldo = Sueldo – Don Sino Si Sueldo > 1000000 Don = Sueldo * 0.5 Saldo = Sueldo – Don Fin Si Fin Si Fin Si Fin CICLO PARA En los algoritmos anteriores solo podíamos hacer una operación a la vez, es decir que en el caso de un trabajador solo podíamos hacer la nomina de ese trabajador, en el ciclo “para” se le puede sacar nomina a varios empleados empleados. Antes de esto es necesario saber ciertos términos. Contador: Como su nombre lo indica, sirve para contar, en este caso contar con una constante fija. Se inicializa al principio del algoritmo, o después. Variable = Variable + Constante Ejemplo: Si deseamos contar un determinado numero de hombres, utilizamos este método. Hombre = Hombre + 1 Donde hombre es la variable a definir puesto que no sabemos cuantos hombres son; y la constante que utilizamos es el uno, para contar de uno en uno. Acumulador: Se utiliza para sumar cantidades y se inicializa en cero, al principio de los algoritmos. Variable1= Variable1 + Variable

Page 29: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Ejemplo: Si queremos saber el promedio de edad de un determinado personal es necesario antes de hacer el promedio hacer una suma, esa suma se llama acumulador. Suma = Suma + Edad Forma Ciclo Para: Para Variable = Variable Inicio, Variable Final, Incremento Instrucciones, condicionales, ciclos, etc. Fin Para Ejemplo: Imprimir los números del 1 al 10. Inicio Para A = 1, 10, 1 Esto se lee. Para una A (Variable), que Va de uno hasta 10, de uno en uno. Imprima A Fin Para Fin En este algoritmo cuando inicia la A empieza en uno, y como “A” vale uno entonces imprime el uno, pero como es hasta diez sigue ingresando, pero en la segunda vez ya “A” Vale dos e imprime el dos, y así sucesivamente hasta que imprime los diez, cuando llega a diez se sale porque al segunda variable indica que es hasta diez. Ejemplo 2: Imprimir los números del 5 al 1. Inicio Para B = 5, 1, -1 Imprima B Fin Para Fin Ejemplo 3: Imprimir los números pares del 100 al 150 Inicio Para z = 100, 150,2 Imprima z Fin Para Fin Ejemplo 4: Leer 50 números e imprimir, cuantos son ceros, cuantos son pares, cuantos son impares.

Page 30: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Inicio Cero = 0, Par = 0, Impar = 0 Para K = 1, 50, 1 Lea num Si num = 0 Entonces Cero = Cero + 1 Sino Si (-1) ** num = 1 Par = Par + 1 Sino Impar = impar + 1 Fin Si Fin Si Fin Para Imprima Cero, Par, Impar Fin En este algoritmo utilizamos contadores (Cero, Par, Impar), para saber cuantos son ceros, cuantos pares y cuantos impares, entonces cada vez que cumple una condición suma en el contador correspondiente; Observa que se imprime después de el Fin Para, para que imprimiera un solo resultado al final, pero si lo poníamos dentro del ciclo, cada vez que encontrará un Cero, Par, o Impar, los imprimiría, pero ese no era el objetivo. Así mismo pasa con los porcentajes en los ciclos, ya que un porcentaje o promedio solo se hace una vez. Ejemplo 5: De un grupo de 40 personas, diga cuantos son hombres y cuantos son mujeres. Inicio Hom = 0, Muj = 0 Para J = 1, 40, 1 Lea Sexo Si Sexo = Masculino Entonces Hom = Hom + 1 Sino Muj = Muj + 1 Fin Si Fin Para Fin Ejemplo 6: Imprima la suma total de las edades de un grupo de n personas. Inicio

Page 31: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Sumaed = 0 Lea N Para X = 1, N, 1 Lea Edad Sumaed = Sumaed + Edad Fin Para Imprima Sumaed Fin En este algoritmo cabe resaltar que primero se leyó N puesto que indicaría cuantas edades habría de sumar, todo esto por supuesto depende de la cantidad que ingresa el usuario en N. Ejemplo 7:Realizar un algoritmo que imprima, el promedio de edad de los hombres y el promedio de edad de las mujeres de un grupo de (N) personas. Muj = 0, Hom = 0, Sumedmuj = 0, Sumaedhom = 0 Inicio Lea N Para J = 1, N, 1 Lea Sex, Edad Si Sex = Femenino Muj = Muj + 1 Sumedmuj = Sumedmuj + Edad Sino Hom = Hom + 1 Sumaedhom = Sumaedhom + Edad Fin Si Fin Para Promedhom = promedhom / Hom Promedmuj = Promedmuj / Muj Imprima Promedhom, Promedmuj Fin Ejemplo 8: Hallar de un grupo de 52 personas la mayor nota de lógica I Inicio Notmay = 0 Para K = 1, 52 Lea Not Si Not > Notmay Notmay = Nota Fin Si Fin Para Imprima Notmay Fin

Page 32: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Nota : Cuando tenemos un rango, inicializamos la variable mayor con el menor rango, y si vamos hallar el menor con el mayor rango. Ejemplo 9: Leer 10 números y encontrar el mayor Inicio Lea Num May = Num Para L = 1, 9, 1 Lea Num Si Num > May May = Num Fin Si Fin Para Imprima May Fin En este caso tomamos el primer numero leído como mayor no importa cual sea, ya que los números siguientes son comparados y así sacar el mayor. Ejercicios

1. Realizar un algoritmo que permita leer las calificaciones de un grupo de 30 estudiantes; muestre la nota menor y mayor, el promedio del grupo, la cantidad de estudiantes que perdieron, y la cantidad que ganó.

2. Realizar un algoritmo que lea 25 números y calcule su raíz cuadrada, si el número es menor que cero, mostrar el mensaje “Raíz imaginaria”, de lo contrario mostrar el número y su raíz cuadrada.

3. Realizar un algoritmo que lea el nombre, edad, estatura y sexo de 100 atletas, y determinar cuantos de ellos son seleccionados para competir, cuantos son mujeres y cuantos son hombres, según las siguientes condiciones.

- Hombre, menor de 38 años y con una estatura mayor a 1.75 - Mujer, menor de 35 años y con una estatura mayor a 1.65

4.Elaborar la nomina para 20 empleados, donde a cada uno de ellos se le pregunta el nombre y horas trabajadas. Si trabajó horas extras (Mayores de 48) estas se le pagan con incremento del 35 % sobre el valor de la hora normal, si tiene deducciones se le restan al salario base.

5.En una central telefónica se facturan las llamadas así: Si la llamada dura menos de 3 minutos tiene un valor de 200. Cada minuto adicional a partir de los 3 minutos cuesta 30. Elabore un algoritmo que imprima los ingresos en un día; sabiendo que se efectuaron 50 llamados. 6.De un grupo de 20 personas, imprimir cuantos de ellos son niños (0 a 12 años), cuantos son jóvenes (13 a 25 años), y cuantos son adultos (26 en adelante). 7.En un determinado peaje se desea saber cuantos carros particulares y cuantos buses pasaron en un día, lo mismo que el promedio de personas que viajan en carro particular y el promedio de personas que viajan en bus; se debe tener en cuenta que por cada vehículo que pase se lee el tipo de vehículo y el número de personas que lo ocupan; si el carro es particular se identifica con un 1, si es bus con un 2; se debe imprimir el promedio de personas que viajan en carro, promedio de personas que viajan en bus; el número de buses y el número de particulares.

Page 33: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

1. Notmay = 0, Suma = 0, Perdieron = 0, Ganaron = 0 Inicio Lea Not Notmen = Not Suma = Suma + Not Si Not > Notmay Entonces Notmay = Not Fin Si Si Not < Notmen Notmen = Not Fin Si Si Not > 3 Entonces Ganaron = Ganaron + 1 Sino Perdieron = Perdieron + Fin Si Prom = Suma / 30 Imprima Notmay, Notmen, prom, Perdieron, Ganaron Fin 2.Inicio Raíz = 0 Para R = 1, 25, 1 Lea N Si N < 0 Entonces Imprima “Raíz imaginaria” Sino Raíz = N ** ½ Imprima N, Raíz Fin Si Fin Para Fin 3.Sel = 0, Hom = 0, Muj = 0 Inicio Para B = 1, 100, 1 Lea Nom, Sex, edad, estatura Si (Sexo Masculino) ^ (edad < 38) ^ (estatura > 1.75) Entonces Sel = Sel + 1 Hom = Hom + 1 Sino Si (Sexo = Femenino) ^ (edad < 35) ^ (estatura > 1.65) Sel = Sel + 1 Muj = Muj + 1 Fin Si

Page 34: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Fin Si Fin Para Imprima Sel, Muj, Hom Fin 4.H_extras = 0, V_extras = 0, Recargo = 0, Sal_neto = 0 Inicio Lea Valor_Hora Para T = 1, 20,1 Lea Nom, NHT, Ded Si NHT > 48 Entonces H_extras = NHT – 48 V_extras = Valor_Hora * H_extras Recargo = V_extras * 0.35 Sal_neto = ((NHT * Valor_Hora) + Recargo) - Ded Sino Sal_neto = (NHT * Valor_Hora ) - Ded Fin Si Imprima Nom, Sal_neto Fin Para Fin 5. Ingreso = 0, V_llamada = 0, Duración2 = 0, V_adicional = 0 Inicio Para L = 1, 50, 1 Lea Duración Si Duración < 3 Entonces V_llamada = Duración * 200 Sino Si Duración > 3 Duración2 = Duración – 3 V_adicional = Duración2 * 30 V_llamada = (Duración * 200) + V_adicional Fin Si Ingreso = V_llamada V_llamada = 0 Fin Para Imprima Ingreso Fin 6. Niños = 0, Jóvenes = 0, Adultos = 0 Inicio Para P = 1, 20, 1 Lea edad Si (Edad > 0) ^ (Edad < 12) Entonces Niños = Niños + 1 Sino Si (Edad > 13 ) ^ (Edad < 25) Entonces Jóvenes = Jóvenes + 1 Sino

Page 35: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Si Edad > 26 Adulto = Adulto + 1 Fin Si Fin Si Fin Si Fin Para Fin CICLO MIENTRAS El fin del ciclo mientras es parecido al ciclo para, con la diferencia de la sintaxis y que el ciclo mientras tiene unas ventajas frente al ciclo para, como lo es la variable centinela, y el rompimiento de control, que trataremos mas adelante. Sintaxis Inicializar variable 1 Mientras (Variable1 VS Variable2) Instrucciones a repetir “” “” “” “” “” “” Incremento Variable 1 Fin Mientras Como vemos en la sintaxis, es casi una obligación inicializar una variable, e incrementarla, ya que esta forma no es como el ciclo para, que se incrementaba solo, este hay que darle incremento para que siga el ciclo; Haremos una comparación para que mires la diferencia. Ejemplo: Hallar el promedio de 5 números. Inicio Suma = 0 Para B = 1, 5, 1 Lea num Suma = Suma + num Fin Para Prom = Suma / 5 Imprima Prom Fin Inicio Suma = 0 B = 1 Mientras B < 5 Lea num Suma = Suma + num B = B + 1 Fin Mientras

Page 36: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Prom = Suma Fin Ejemplo 1: Hallar la suma de los números positivos, y la suma de los números negativos de n números. Inicio Sumap = 0, Suman = 0 Lea n B = 1 Mientras B < n Lea Num Si Num > 0 Sumap = Sumap + Num Sino Si Num < 0 Suman = Suman + Num Fin Si Fin Si B = B + 1 Fin Mientras Imprima Sumap, Suman Fin Se lee; “mientras que B sea menor o igual a n” En este ejemplo vemos que está hecho para una cantidad de n números, dependiendo la necesidad del usuario, diferente del segundo lea, el cual es Num, que son los números que ingreso cada vez que entra al ciclo. Ejemplo 2: De cuarenta estudiantes imprima cuantos ganaron la materia, cuantos perdieron la materia, de los que perdieron cuantos pueden habilitar (Solo se puede habilitar cuando la nota es igual o mayor a 2) Inicio MatG = 0, MatP = 0, Hab = 0 A = 1 Mientras A < 40 Lea Not Si Not > 3 MatG = MatG + 1 Sino Si Not < 3 MatP = MatP + 1 Si Not > 2 Hab = Hab + 1 Fin Si Fin Si Fin Si

Page 37: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

A = A + 1 Fin Mientras Imprima MatG, MatP, Hab Fin Otra forma Inicio MatG = 0, MatP = 0, Hab = 0 A = 1 Mientras A < 40 Lea Not Si Not > 3 MatG = MatG + 1 Sino MatP = MatP + 1 Fin Si Si (Not > 2) ^ (Not < 3) Hab = Hab + 1 Fin Si A = A + 1 Fin Mientras Imprima MatG, MatP, Hab Fin Rompimiento de control Se utiliza para salirse del ciclo, cuando cumpla una condición. Ejemplo: Leer 10 números y terminar el programa cuando el número sea el 8, e imprima si lo encontró. Inicio V = 1 Mientras V < 10 Lea N Si N = 8 Imprima “lo encontró” V = 11 Fin Si V = V + 1 Fin Mientras Fin Como vemos n este ejercicio, si se introduce un 8, a la variable “V” que es la dirige el ciclo se le asigna 11, para que cuando pregunte se salga del mismo, no importa en que valor este “V”. Variable centinela

Page 38: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Es aquella variable que me permite saber, cuando se terminaron los datos o cuando ya se recogió la información requerida. Ejemplo: De una universidad se desea saber cuantos hombres y cuantas mujeres ingresaron en el día de hoy, se debe leer el código y el sexo. La variable centinela siempre se lee antes del mientras y antes del fin mientras. Inicio H = 0, M = 0 Lea Cod Mientras Cod <> 0 Lea Sexo Si Sexo = Femenino M = M + 1 Sino H = H + 1 Fin Si Lea Cod Fin Mientras Imprima H, M Fin La necesidad de utilizar este método en este ejercicio, era que no sabíamos cuantos estudiantes hombres y mujeres iban a ingresar, es por esto que utilizamos una variable centinela, la cual va a ser el código, de tal manera que mientras ingresemos un código diferente de “0” el ingresará al ciclo; Pero en el momento que halla terminado el día, terminamos el ciclo, ingresando un “cero”. Ejemplo 3: De N números imprima el mayor de los números positivos y el menor de los números negativos. Inicio Neg = 0, Pos = 0 Lea N, num H = 1 sw = 0 Mientras H < N Lea num Si (num < 0) ^ (sw = 0) Neg = num sw1 = 1 Sino Si (num > 0) ^ (sw2 = 0) Pos = num sw = 1 Fin Si Fin Si

Page 39: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Si (num < 0) ^ (sw = 1) Si num < Neg Neg = num Fin Si Sino Si (num > 0) ^ (sw2 = 1) Si num >Pos Pos = num Fin Si Fin Si Fin Si H = H + 1 Fin Mientras Imprima Pos, Neg Fin Como decía el ejemplo, el objetivo era hallar el menor negativo y el mayor positivo, entonces el primer numero negativo que entrara seria nuestro patrón a comparar, lo mismo que el primer positivo, pero esta escogencia solo se podía hacer una vez, es por esto que se utilizaron dos swiches (On - Of) que es encendido (1) o apagado (0); de manera que cuando inicia el ciclo están en cero; pero en el momento que escogen el primer número negativo y positivo, el swiche se coloca en 1, para que no entre mas, y siga con el procedimiento correspondiente. Ejemplo 4: De 20 personas, imprima cuantas mujeres hablan ingles y cuantas francés, cuantos hombres hablan francés y cuantos ingles. Inicio 1 = Ingles, 2 = Francés, Mingles = 0, Mfrances, Hingles = 0, Hfrances = 0 Z = 1 Mientras Z < 20 Lea Sex, Idioma Si Sex = Femenino Si idioma = 1 Mingles = Mingles + 1 Sino Si idioma = 2 Mfrances = Mfrances + 1 Fin Si Fin Si Sino Si idioma = 1 Hingles = Hingles + 1 Sino Si idioma = 2 Hfrances = Hfrances + 1 Fin Si Fin Si Fin Si Z = Z + 1

Page 40: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Fin Mientras Imprima Mingles, Mfrances, Hingles, Hfrances Fin Ejemplo 5: Se tiene un grupo de N personas, para las cuales se ha elaborado una tarjeta de registro indicando el sexo y los puntos obtenidos en un examen, se desea conocer con base en el puntaje, cual sexo tuvo mejor desempeño. Inicio Puntmasc = 0, Puntfem = 0 Lea N K = 1 Mientras K < N Lea Sex, Puntos Si Sex = Masculino Puntmasc = Puntmasc + Puntos Sino Puntfem = Puntfem + Puntos Fin Si K = K + 1 Fin Mientras Si Puntmasc <> Puntfem Si Puntmasc > Puntfem Imprima “Hombres mejor desempeño” Sino Imprima “Mujeres mejor desempeño” Fin Si Sino Imprima “Empate” Fin Si Fin Ejemplo 6: De 30 números hallar cuantos son pares, cuantos son impares, cuantos son negativos, cuantos son positivos. Inicio Par = 0, Imp = 0, Neg = 0, Pos = 0 M = 1 Mientras M < 30 Lea Num Si (-1) ** Num = 1 Par = Par + 1 Sino Imp = Imp + 1 Fin Si Si Num > 0 Pos = Pos +1 Sino

Page 41: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Si Num < 0 Neg = Neg + 1 Fin Si Fin Si M = M + 1 Fin Mientras Imprima Par, Imp, Pos, Neg Fin Ejercicios Ejercicio 1: Hacer un programa que lea un conjunto de números, e imprima su raíz cúbica, y cuarta. Ejercicio 2: Supongamos que se tiene un conjunto de calificaciones. Escriba un programa para calcular la calificación media (promedio). El numero 007 será la variable centinela y se usará para verificar el final de los datos. Además obtenga la calificación mas baja. Ejercicio 3: Desarrolle un programa para leer N registros, cada uno de los cuales contiene el código, valor crédito (Materia) y número de créditos de cada uno de los estudiantes de la universidad cooperativa de Colombia. Calcule el valor de matricula pagado por cada uno de los estudiantes, teniendo en cuenta que a cada estudiante se le hace un recargo de 75000 en la matricula. Ejercicio 4: En una elección en piedra dura se presentaron dos candidatos: pedro y Pablo; por cada votante se elabora un registro así: cedula y voto; Si votó por pedro 1, si votó por pablo 2, y si votó en blanco 3; elabore un programa que muestre el resultado de las votaciones, indicando cuantos votos hubo en total y cuantos votos alcanzó cada candidato. Ejercicio 5: Programa que imprime el promedio de las edades de 20 personas, pero solo las mayores de 12 y menores de 19. Ejercicio 6: Programa que elabora nomina de 20 empleados, donde a cada uno de ellos le pregunta su nombre y horas trabajadas. Si trabajó horas trabajadas. Si trabajó horas extras (Horas trabajadas > 48) estas se le pagan con un incremento del 35 % sobre el valor de la hora normal, si tiene deducciones estas se le quitan al salario base. Ejercicio 7: Programa que lee un nombre y lo busca entre otros 20 nombres; si lo encuentra debe terminar la búsqueda. Ejercicio 8: Programa que simula las viejas cajas registradoras (Sin lector de código de barras) que lee el precio del articulo y lo multiplica por la cantidad. Un cajero registra los artículos que lleva una persona. El proceso se suspende cuando se le ingresa cero en artículos. Imprimir la cantidad de artículos y el total a pagar.

Page 42: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

1. Inicio Rcub = 0, Rcuart = 0 Lea N F = 1 Mientras F < N Lea num Rcub = num ** 1/3 Rcuart = num ** 1/4 F = F + 1 Fin mientras Fin 2. Inicio Sum = 0, C = 0, Notbaja = 5 Lea Cod Mientras Cod <> 007 Lea Not C = C + 1 Sum = Sum + Not Si Not < Notbaja Notbaja = Not Fin Si Lea Cod Fin Mientras Prom = Sum / C Fin 3. Inicio V_matricula = 0 V = 1 Lea N Mientras V < N Lea Cod, V_credito, N_credito V_matricula = (V_credito * N_creditos) + 75000 V = V + 1 Imprima V_matricula, Cod Fin Mientras Fin

Page 43: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

4. Inicio 1 = Pedro, 2 = Pablo, 3 = Blanco, Suma = 0 Tpedro = 0, Tpablo = 0,Tblanco = 0 lea Ced Mientras Ced <> A Lea Voto Si voto = 1 Tpedro = Tpedro + 1 Suma = suma + 1 Sino Si voto = 2 Tpablo = Tpablo + 1 Suma = Suma + 1 Sino Si Voto = 3 Tblanco = Tblanco + 1 Suma = Suma + 1 Fin Si Fin Si Fin Si Lea Ced Fin Mientras Imprima Tpedro, Tpablo, Tblanco, Suma Fin 5.Inicio Suma = 0, E = 1 Mientras E < 20 Lea Edad Si (Edad > 12) ^ (Edad < 19) Suma = suma + Edad Fin Si E = E + 1 Fin Mientras Prom = Suma / 20 Imprima Prom Fin 6. Inicio H_extras = 0, V_extras = 0, Recargo = 0, Sal_neto = 0 Lea Valor_Hora T = 1 Mientras T < 20 Lea Nom, NHT, Ded

Page 44: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Si NHT > 48 Entonces H_extras = NHT – 48 V_extras = Valor_Hora * H_extras Recargo = V_extras * 0.35 Sal_neto = ((NHT * Valor_Hora) + Recargo) - Ded Sino Sal_neto = (NHT * Valor_Hora ) - Ded Fin Si Imprima Nom, Sal_neto T = T + 1 Fin Mientras Fin 7. Inicio Lea Nombusc P = 1 Mientras P < 20 Lea Nomb Si Nombusc P = P + 1 Imprima “Nombre encontrado” Fin Si P = P + 1 Fin Mientras Fin 8. Inicio Total = 0 Lea cantidad Mientras Cantidad <> 0 Lea precio Total = cantidad * precio Imprima Total Lea cantidad Fin Mientras Fin VECTORES También se les denomina arreglos unidimensionales, se utiliza para almacenar datos de un mismo tipo. Nombre vector [Posición] Contenido Ejemplo: Num [ 4 ] = 10 Num [ 6 ] = 15

Page 45: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Ejemplo 1: Llenar un vector con cinco apellidos y luego imprimirlos. Inicio Para A = 1, 5, 1 Lea Apellido Ape[ A ] = Apellido Fin Para Para B = 1, 5, 1 Imprima Ape[ A ] Fin Para Fin En este ejercicio vemos que se utiliza el ciclo para, ya que este se incrementa solo, aunque se puede aplicar otros ciclos y métodos, entonces dependiendo de lo que vale “A” en esa posición va ingresar el apellido, en el vector Ape, luego que termine ese ciclo hay que empezar otro para imprimir. Ejemplo 2: Llenar 2 vectores cada uno de cinco números, multiplicarlos y llevarlos aun tercer vector, e imprima el vector resultante. Inicio Para Z = 1, 5, 1 Lea N1, N2 V1[Z] = N1 V2[Z] = N2 Fin Para Para Y = 1, 5, 1 V3[Y] = V1[Y] * V2[Y] Fin Para Para R = 1, 5, 1 Imprima V3[R] Fin Para Fin En este algoritmo es visible la operación entre varios vectores, y la utilidad de estos. Ejemplo 3: Llenar un vector con las edades de N personas e imprima el promedio de esta. Inicio Lea N Suma = 0 Para j = 1, N, 1 Lea Edad Ed[J] = Edad

Page 46: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Fin Para Para J = 1, N, 1 Suma = Suma + Ed[J] Fin Para Prom = Suma / N Imprima Prom Fin Ejercicios:

1. Se tienen los siguientes vectores Nombre, Dirección, Teléfono, Y Edad, realizar un algoritmo que permita llenar dicha información y calcule la suma del vector edad.

2. Se tiene Nombre, Cantidad y valor de N ventas, llevar esta información a un vector y crear otro con el resultado de la venta.

3. Se tiene N números: Crear un vector con los números positivos, negativos y otros con los ceros.

4. Se tiene un vector de números, determinar cual es el mayor de todos ellos. 5. Se tiene tres vectores, Nombres, cheques y valor, imprimir el nombre de la

persona con el cheque de mas valor. 6. Se tiene un grupo de N alumnos de los cuales se desea almacenar su información

(Código, Nombre, N1, N2, N3) en vectores diferentes: Calcular la nota definitiva y llevarla a un nuevo vector y mostrar el nombre del alumno con nota definitiva mas alta.

7. Se tiene un vector de N números; Calcular el promedio de los números pares e impares, así como cuantos hay de cada uno.

8. Un empresa tiene 10 almacenes y se necesita crear un algoritmo para que lea las ventas mensuales de los 10 almacenes. Calcule el promedio de venta y almacene en un vector de resultado los almacenes cuyas ventas son mayores a $1000000.

9. Se tiene un grupo de N personas de los cuales se tiene almacenada en vectores la siguiente información: Sexo, estado civil y los puntos obtenidos en un examen. Se desea conocer con base en los promedios de los puntos obtenidos, cual sexo tuvo mejor desempeño, cual es el mejor promedio entre los casados y solteros.

1. Inicio Sumaed = 0 Lea N Para A = 1, N, 1 Lea Nom, Dir, Tel, Edad Vnom [A] = Nom Vdir [A] = Dir Vtel [A] = Tel Ved [A] = Edad Sumaed = Sumaed + Ved [A] Fin Para Para B = 1, N, 1 Imprima Vnom [B] Imprima Vdir [B]

Page 47: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Imprima Vtel [B] Imprima Ved [B] Fin Para Imprima Sumaed Fin 2. Inicio Lea n Para V = 1, n, 1 Lea Venta, Cantidad, Nombre Vnom [V] = Nombre Vcant [V] = Cantidad Vent [V] = Venta Tot [V] = Vcant [V] * Vent [V] Fin Para Para T = 1, n, 1 Imprima Vnom [V] Imprima Vcant [V] Imprima Vent [V] Imprima Tot [V] Fin Para Fin 3. Inicio Ceros = 0, Pos = 0, Neg = 0 Lea N Para K = 1, N, 1 Lea Num Si Num = 0 Entonces Cero [K] = Num Ceros = Ceros + 1 Sino Si Num < 0 Negat [K] = Num Neg = Neg + 1 Si Num > 0 Posit [K] = Num Pos = Pos + 1 Fin Si Fin Si Fin Si Fin Para Imprima Pos, Ceros, Neg Fin

Page 48: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

4. Inicio Lea N, Num May = Num Para L = 1, N, 1 Lea Num Vec [L] = Num Fin Para Para Y = 1, N, 1 Si Vec [L] > May May = Vec [L] Fin Si Fin Para Imprima May Fin 5. Inicio Lea N May = 0, Nom2 = 0, Cheque2 = 0 Para M = 1, N, 1 Lea Nom, Cheque, Valor Vnom (M) = Nom Vcheque (M) = Cheque Valor2 (M) = Valor Fin Para Para O = 1, N, 1 Si Valor2 (O) > May May = Valor2 (O) Nom2 = Vnom(O) Cheque2 = Vcheque (O) Fin Si Fin Para Imprima Nom2, May, Cheque2 Fin 6. Inicio Nom = 0 Lea N Para Z = 1, N, 1 Lea Cod, Nomb, N1, N2, N3 Vcod (Z) = Cod Vnom (Z) = Nomb VN1 (Z) = N1 VN2 (Z) = N2 VN3 (Z) = N3

Page 49: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Fin Para Para D = 1, N, 1 Def (D) = [VN1 (D) + VN2 (D) + VN3 (D) ] / 3 Fin Para May = 0 Para E = 1, N, 1 Si Def (E) > May May = Def (E) Nom = Vnom (E) Fin Si Fin Para Imprima May, Nom Fin 7. Inicio Suma2 = 0, Cpar = 0, Cimpar = 0, Suma Lea N Para P = 1, N, 1 Lea Num Vnum (P) Num Fin Para A= 1, B = 1 Para Q = 1, N Si (-1) ** Vnum (Q) = 1 Vpar (A) = Vnum (Q) Cpar = Cpar + 1 Suma = Suma + Vpar (A) A = A + 1 Sino Vimpar (B) = Vnum (Q) Cimpar = Vimpar + 1 Suma2 = Suma2 + Vimpar (B) B = B + 1 Fin Si Fin Para Prompar = Suma / Cpar Promimpar = Suma2 / Cimpar Imprima Prompar, Promimp, Cpar, Cimpar Fin 8.Inicio Para P = 1, 10, 1 Lea Ventmes, Nomalmacen Vnom (P) = Nomalmacen Vent (P) = Ventmes Fin Para A = 1 Para B = 1, 10, 1 Si Vent (B) > 1000000

Page 50: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Vnom2 (A) = Vnom (B) Vent2 (A) = Vent (B) A = A + 1 Fin Si Fin Para 9. Inicio Sumam = 0, SumaF = 0, Sumac = 0, Sumas = 0, M = 0, C = 0, F = 0, S = 0 Lea N Para X = 1, N, 1 Lea Sex, Estadoc, Puntos Vsex (X) = Sex Vestadoc (X) = Estadoc Vpuntos (X) = Puntos Fin Para Para X = 1, N, 1 Si Vsex = Masculino M = M + 1 Sumam = Sumam + Vpuntos (X) Sino F = F + 1 SumaF = SumaF + Vpuntos (X) Fin Si Si Vestadoc (X) = Casado C = C + 1 Sumac = Sumac + Vpuntos (X) Sino Si Vestadoc (X) = Soltero Sumas = Sumas + Vpuntos (X) S = S + 1 Fin Si Fin Si Fin Para Promm = Sumam / M Promf = Sumaf / F Promc = Sumac / C Proms = Sumas / S Fin

Matrices

También se les denomina arreglos bidimensionales, es decir dos dimensiones, desde otro punto de vista podría decirse que son un conjunto de vectores. Ejemplo1: Llenar una matriz de 3X3 con diferentes números e imprimirlos. Inicio Para J = 1, 3

Page 51: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Para k = 1, 3 Lea Num Mat (J, K) = Num Fin Para Fin Para Para J = 1, 3, 1 Para K = 1, 3, 1 Imprima Mat (J, K) Fin Para Fin Para Fin Ejemplo2 : Llenar una matriz de N X N e imprima cuantos son negativos, y cuantos positivos. Inicio Lea N Para A = 1, N, 1 Para B = 1, N, 1 Lea Num Mat (A, B) = Num Fin Para Fin Para Pos = 0, Neg = 0 Para A = 1, N, 1 Para B = 1, N, 1 Si Mat (A, B) > 0 Pos = Pos + 1 Sino Si Mat (A, B) < 0 Neg = Neg + 1 Fin Si Fin Si Fin Para Fin Para Imprima Pos, Neg Fin Ejemplo3: Llenar una matriz de N X M y llenarlo con las notas de los estudiantes de lógica , e imprima cuantos ganaron, cuantos perdieron, nota mas alta, nota mas baja, y promedio del grupo. Inicio Lea N, M Para X = 1, N, 1 Para Y = 1, M, 1 Lea Not Mat (X, Y) = Nota

Page 52: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Fin Para Fin Para G = 0, P = 0, Nmay = 0 Nmen = 5, Sum = 0 Para T = 1, N, 1 Para U = 1, M, 1 Sum = Num + Not (T, U) Si Mat (T, U) > 3 G = G +1 Sino P = P +1 Fin Si Si Mat (T, U) > Nmay Nmay = Mat (T, U) Fin Si Si Mat (T, U) < Nmen Nmen = Mat (T, U) Fin Si Fin Para Fin Para Prom = Sum / (N*M) Imprima Prom Fin Ejercicios:

1. Llenado de una matriz por filas 1. Llenado de una matriz por columnas 3. Llevar un dato a una posición de una matriz

4. Llenar datos en una columna 5. Llenar la diagonal secundaria de una matriz 6. Llenar la diagonal principal de una matriz 7. Buscar un elemento en una matriz, y decir si lo encontró 8. Buscar un elemento en una matriz y decir cuantas veces está 9. Buscar un dato en una matriz con barrido interrumpido (Si lo encontró sálgase) 10. Buscar el menor valor de una matriz de 5 X 5

1. Inicio Lea N, M Para T = 1, N, 1 Para U = 1, M, 1 Lea Num Mat (T, U) = Num Fin Para Fin Para Fin

Page 53: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

2. Inicio Lea N, M Para X = 1, N, 1 Para Y = 1, N, 1 Mat (Y, X) Fin Para Fin Para Fin 3. Inicio Lea Dato, Fila, Columna, N Mat (Fila, Columna) = Dato Para A = 1, N, 1 Para B = 1, N, 1 Imprima Mat (A, B) Fin Para Fin Para Fin 4. Inicio Lea Dato, Columna Para A = 1, 4, Para K = 1, 2, 1 Si K = Columna Mat (A, K) = Dato Sino Mat (A, K) = 0 Fin Si Fin Para Fin Para Fin 5. Inicio Lea N B = N Para A = 1, N, 1 Lea Dato Mat (A, B) = Dato B = B – 1 Fin Para Fin 6. Inicio Lea N Para A = 1, N, 1 Para B = 1, N, 1 Lea Dato Si A = B Mat (A, B) = Dato Fin Si Fin Para

Page 54: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

Fin Para Fin 7. Inicio Q = 0 Lea N Para K = 1, N, 1 Para J = 1, N, 1 Lea Dato Mat (K, J) = Dato Fin Para Fin Para Lea Datobusc Para K = 1, N, 1 Para J = 1, N, 1 Si Mat (K, J) = Datobusc Q = 1 Fin Si Fin Para Fin Para Si Q = 1 Imprima “Lo encontró” Sino Imprima “No lo encontró” Fin Si Fin 8. Inicio Lea N C = 0 Para P = 1, N, 1 Para Q = 1, N, 1 Lea Dato Mat (P, Q) = Dato Fin Para Fin Para Lea Datobusc Para L = 1, N, 1 Para Y = 1, N,1 Si Mat (L, Y) = Datobusc C = C + 1 Fin Si Fin Para Fin Para Si C = 0 Imprima “No se encontró el dato” Sino Imprima C Fin Si Fin

Page 55: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

9. Inicio Lea N Para K = 1, N, 1 Para Q = 1, N, 1 Lea Dato Mat (K, Q) = Dato Fin Para Fin Para Lea Datobusc Para K = 1, N, 1 Para Q = 1, N, 1 Si Mat (K, Q) = Datobusc Imprima “Lo encontró” K = N + 1 Q = N + 1 Fin Si Fin Para Fin Para Fin 10. Inicio Lea num Men = num Para H = 1, 5, 1 Para I = 1, 5, 1 Lea num Si num < Men Men = Num Fin Si Fin Para Fin Para Fin .

Page 56: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos

RECURSOS DE APOYO

Web: www.lafacu.com www.lawebdelprogramador.com www.aulafacil.com Libros: Fundamentos de programación, Jaime Rodríguez, Ed. Mac Graw Hill. Curso de Diagramación, Marta Cadavid, Universidad Cooperativa de Colombia. Diagramación Estructurada y libre, Guillermo Correa, Universidad EAFIT.

Descripción de actividades y tiempo estimado del alumno

En cada uno de los módulos se repiten tres actividades

1. Ejemplos con respuestas y explicaciones detalladas 2. Pruebas de escritorios animadas 3. Respuestas de ejercicios expuestos

Tiempo estimado:

Introducción : Aproximadamente 5 Horas Algoritmos: Aproximadamente 8 Horas

Condicionales: Aproximadamente 10 Horas Ciclo Para: Aproximadamente 7 Horas Ciclo Mientras: Aproximadamente 12 Horas Vectores: Aproximadamente 5 Horas Matrices: Aproximadamente 5 Horas

CRONOGRAMA DE TRABAJO

Introducción: 7 Horas de trabajo Algoritmos: 10 Horas de trabajo Condicionales: 12 Horas de trabajo Ciclo para: 9Horas y media Ciclo mientras: 14 Horas Vectores: 8 Horas Matrices: 8 Horas y media La guía de el profesor se encuentra en el contenido, lo mismo que la del alumno.

Page 57: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos
Page 58: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos
Page 59: Curso de lógica de programación 1 - UTEQcitic2016.uteq.edu.mx/cursos/mp/logica1.pdf · Pasos para un algoritmo 1. Leer y entender el enunciado (Analizarlo ) 2. Determinar los datos