Lógica de Programación

83
La siguientes diapositivas fueron extraídas del material Didáctico: Paquete Didáctico de Lógica de Programación Elaboró: Cuerpo Académico TIC Educativa Autores: M. en C. Nélida Alicia Casas Reyes Mtra. Norma Angélica Roldán Oropeza Fis. Juan Ramón Flores Villa Diseño gráfico: Mtra. Areli Torres González Mtra. Veronica Lizardi Rojo Lógica de programación

description

Lógica de Programación Datos Tipos de datos Arreglo de datos Variables Constantes Identificadores Operadores Aritméticos Relacionales Lógicos Jerarquía de operadores Linealización de expresiones Algoritmos Pseudocódigo Diagramas de Flujo Datos de Entrada y de Salida Datos Intermedios Condicionales Simples Dobles Anidadas

Transcript of Lógica de Programación

Page 1: Lógica de Programación

La siguientes diapositivas fueron extraídas del material Didáctico:

Paquete Didáctico de Lógica de ProgramaciónElaboró: Cuerpo Académico TIC Educativa

Autores:M. en C. Nélida Alicia Casas Reyes

Mtra. Norma Angélica Roldán OropezaFis. Juan Ramón Flores Villa

Diseño gráfico:Mtra. Areli Torres GonzálezMtra. Veronica Lizardi Rojo

Lógica de programación

Page 2: Lógica de Programación

Contenido

1. Datos

2. Tipos de datos

3. Arreglo de datos

4. Variables

5. Constantes

6. Identificadores

7. Operadores

– Aritméticos

– Relacionales

– Lógicos

8. Jerarquía de operadores

9. Linealización de expresiones

10. Algoritmos

– Pseudocódigo

– Diagramas de Flujo

– Datos de Entrada y de Salida

– Datos Intermedios

11. Condicionales

– Simples

– Dobles

– Anidadas

Page 3: Lógica de Programación

Datos

• Los datos son todos aquellos elementos de información presentes en cualquier situación a resolver.

• Sin la existencia de ellos, ni siquiera podría plantearse un problema, o bien, el mismo no tendría una solución.

• Se considera información útil sólo a los datos necesarios para resolver un problema.

Page 4: Lógica de Programación

Ejercicio 1

• Juan Pérez, casado, vive en la calle 3 Norte #3245, tiene que pagar sus cuentas mensuales de Colegiatura, Renta y Teléfono (su teléfono es el 2345567). El monto de cada recibo es de $1,200.00, $2,500.00 y $548.00 respectivamente, él percibe un sueldo quincenal de $5,300.00 y en este momento dispone de $4,000.00 para hacer sus pagos.

Page 5: Lógica de Programación

Ejercicio 1

Datos

Page 6: Lógica de Programación

Ejercicio 1

Datos

Juan Pérez

Calle 3 Norte #3245

teléfono 2345567

Colegiatura $1,200.00

Renta $2,500.00

Teléfono $548.00

Sueldo Quincenal $5,300.00

Dinero disponible $4,000.00

Page 7: Lógica de Programación

Ejercicio 1

• Juan Pérez, casado, vive en la calle 3 Norte #3245, tiene que pagar sus cuentas mensuales de Colegiatura, Renta y Teléfono (su teléfono es el 2345567). El monto de cada recibo es de $1,200.00, $2,500.00 y $548.00 respectivamente, él percibe un sueldo quincenal de $5,300.00 y en este momento dispone de $4,000.00 para hacer sus pagos.

• ¿Cuánto dinero tendrá después de hacer sus pagos para gastarlos en familia?

Page 8: Lógica de Programación

Ejercicio 1

Datos

¿El dato es relevante pararesolver el problema?

SI NO

Juan Pérez

Calle 3 Norte #3245

teléfono 2345567

Colegiatura $1,200.00

Renta $2,500.00

Teléfono $548.00

Sueldo Quincenal $5,300.00

Dinero disponible $4,000.00

Page 9: Lógica de Programación

Tipos de datos

• Clasificar la información

– Se hace de acuerdo al tipo de datos que se maneja, (de ello dependerán las operaciones que sobre tales datos podamos realizar).

– Por ejemplo, no podemos considerar que el nombre de una persona sea un número o que el número de páginas que tiene un libro sea una fracción.

– Una vez que logremos identificar los datos necesarios dentro de un problema, vamos a asignarles un tipo.

• Los tipos que debemos considerar para nuestros datos son:

– Numéricos (valores medibles o cantidades)

– Alfanuméricos (símbolos o letras)

– Lógicos (FALSO y VERDADERO)

Page 10: Lógica de Programación

Tipos de datos numéricos

Numéricos

Enteros

Positivos

Negativos

Reales

Racionales

Irracionales

Sin signo negativo ni punto decimal

Con signo negativo y sin punto decimal

Con punto decimal

Parte decimal infinita

Page 11: Lógica de Programación

Tipos de datos alfanuméricos

Alfanuméricos

Cadenas

Caracteres

Secuencia de letras/ números/ símbolos“Calle 3 Norte #3245”

Letra / numero / símbolo‘c’

Page 12: Lógica de Programación

Tipos de datos lógicos

• El tipo de dato lógico o booleano es en computación aquel que puede representar valores de lógica binaria, representan falso o verdadero.

Page 13: Lógica de Programación

TIPOS DE

DATOS

Page 14: Lógica de Programación

Ejercicio 1

Dato Tipo de dato

Juan Pérez

Calle 3 Norte #3245

teléfono 2345567

Colegiatura $1,200.00

Renta $2,500.00

Teléfono $548.00

Sueldo Quincenal $5,300.00

Dinero disponible $4,000.00

Page 15: Lógica de Programación

Representación en la computadora

Tipo de dato Dato Representación en la computadora

Cadena de caracteres Rodrigo González “Rodrigo González”

carácter @ ‘@’

Número entero 245 245

Número real 45.0987 45.0987

Lógico (booleano) Si (verdadero) true

Lógico (booleano) No (falso) false

Page 16: Lógica de Programación

Ejercicio 2

Descripción Dato Tipo de Dato Representación en la computadora

La temperatura de un día en el polo norte.

Carácter usado para terminar un párrafo y comenzar otro.

carácter

A cuántos metros se encuentra Puebla sobre el nivel del mar

Edad de una persona

Número Irracional √2

Page 17: Lógica de Programación

Arreglos de datos

• Uno de los recursos utilizados en la programación de computadoras, son los arreglos que son conjuntos de datos del mismo tipo.

• Los arreglos tienen una dimensión que se refiere al número de datos que contienen.

Page 18: Lógica de Programación

Arreglos

Arreglo Conjunto de elementos de un mismo tipo. Este arreglo es de dimensión 5.

Page 19: Lógica de Programación

Ejercicio 3

Analiza los siguientes conjuntos de datos e indica cualesson arreglos y cuales no lo son. Aquellos que consideres que son arreglos, indicaqué dimensión tienen.

Page 20: Lógica de Programación

Variables

• Una variable es un elemento que permite el almacenamiento de un dato.

• Las variables pueden tomar distintos valores, cambian su valor cuantas veces sea necesario.

• En el ámbito de la programación, las variables se crean en la memoria de la computadora.

Page 21: Lógica de Programación

Variables

• Atributos:– identificador ó nombre de la variable.

– valor que en se encuentra almacenado en ella

– tipo, o rango de valores que puede almacenar.

• Por ejemplo, para guardar la edad de una persona, puede proponerse una variable cuyo identificador sea edad, el tipo de la variable será entero, esto significa que a la variable sólo le podremos asignar valores numéricos enteros, y además el valor 18, será válido para ser guardado en ella.

Page 22: Lógica de Programación

Ejercicio 4

• Extraiga los datos de la situación que se describe a continuación y proponga una variable para cada uno de ellos, registre los datos en la tabla, de forma similar al ejemplo:

• “En la empresa ACME, han implementado una política para mejorar la puntualidad de sus empleados, mediante un dispositivo lector de huella digital que es utilizado para registrar la hora de entrada y de salida de cada uno de ellos. El dispositivo asocia la huella con el nombre, la fecha, la hora y el número de empleado que lo utiliza, cuando un empleado checa 11 minutos o más después de su hora de entrada se le reporta un retardo. El 23 de julio, Gerardo Robles con número de empleado 3245 registró su entrada a las 6:59 y lo volvió a hacer a las 16:08 antes de salir (El horario de este empleado es de 7:00 a 16:00 hrs.)

Page 23: Lógica de Programación

Ejercicio 4

Page 24: Lógica de Programación

Constantes

• Una constante es un dato de cualquier tipo: numérico, alfanumérico o lógico que a diferencia de una variable, su valor no cambia.

• Por ejemplo: pi = 3.1416, es un dato útil en el cálculo del área de un círculo, que, independientemente del valor de un radio, mantiene siempre el mismo valor.

• Las constantes al igual que las variables tienen identificador ó nombre, valor y tipo.

Page 25: Lógica de Programación

Ejercicio 5

• Calcular el salario total quincenal de una persona sabiendo que su sueldo base es de $5,300.00, más despensa de $ 750.00 y $ 350.00 de compensación. Existe la posibilidad de trabajar horas extras, en este caso, el monto de cada hora extra es de $98.00.

• Los descuentos que se le realizan son impuestos 10% y servicio médico 15%.

Page 26: Lógica de Programación

Ejercicio 6

• De los siguientes datos, indique con una C a las constantes y con una V a las variables y argumente su respuesta.

Page 27: Lógica de Programación

Identificadores

• Nombres simbólicos que se asigna el programador a variables y constante

• Deben obedecer ciertas reglas

• Es conveniente utilizar nombres apropiados, es decir, que exista relación entre el dato y su nombre.

Page 28: Lógica de Programación

Identificadores - Reglas

• Empezar con una letra o el símbolo de guión bajo ( _ ).

• No deben incluir operadores (+ - * / % & = ).

• No deben incluir signos de puntuación ni comillas o apóstrofes ( . , ; : ¿ ¡ “ ‘ ).

• Pueden contener números combinados con otros caracteres (no exclusivamente números).

• No deben llevar espacios en blanco.

Page 29: Lógica de Programación

Ejercicio 7

Identificadores Correcto (SI/NO) Argumento

123dato No El primer carácter es un número

_nombre

lugar_de_nacimiento

fecha actual

calificación final

xyz

resultado2

valor+impuesto

nombre.completo

estado_civil?

Nivel_de_estudios:

hombre/mujer

Page 30: Lógica de Programación

Ejercicio 8

Page 31: Lógica de Programación

Operadores aritméticos

• Una operación es una función que se aplica a uno o más valores, obteniendo algún resultado.

• Los símbolos que representan una operación, se denominan operadores.

• Los operadores aritméticos, son todos aquellos que se aplican a datos de tipo numérico obteniendo después de su aplicación resultados numéricos.

Page 32: Lógica de Programación

Operadores aritméticos

• Los operadores aritméticos son:

Operador Operación

+ Suma

- Resta

* Multiplicación

/ División

% Módulo

Page 33: Lógica de Programación

Operador modulo

• El operador módulo da como resultado el residuo de una división.

• Por ejemplo 20 % 7 da como resultado 6 que es el residuo de la división de 20 entre 7.

Page 34: Lógica de Programación

Ejercicio 9

• Encuentre el resultado de las siguientes expresiones

Expresión Resultado

21 % 6

35 + 5

63 % 7

106 / 2

215 % 8

Page 35: Lógica de Programación

Expresiones aritméticas

• Una expresión se construye mediante la aplicación de operaciones sobre datos (variables o constantes).

• Al momento de resolver una expresión aritmética, es importante saber en qué orden se realizan las operaciones que se involucran en la misma.

• Así por ejemplo, las expresiones:

• (3+4)/2

• 3+4/2

– no son equivalentes, es decir, al evaluarse no dan el mismo resultado.

Page 36: Lógica de Programación

Jerarquía de operadores

Operador Operación

( ) Parentesis

*, / , % Multiplicación, División, Módulo

+ , - Suma, Resta

Page 37: Lógica de Programación

Ejercicio 10

2 * 25 + 3 * 10 + 2 * 5 = ?

Page 38: Lógica de Programación

Operadores relacionales

• Son aquellos que comparan dos valores del mismo tipo y tienen la característica de que al ser aplicados, el resultado que devuelven es de tipo booleano (falso o verdadero).

Page 39: Lógica de Programación

Operadores relacionales

Page 40: Lógica de Programación

Operadores relacionales

Page 41: Lógica de Programación

Operadores lógicos

• Devuelven valores booleanos.

• Operadores lógicos son:

– AND

– OR

– NOT

• Para poder construir expresiones lógicas es necesario conocer las tablas de verdad.

Page 42: Lógica de Programación

Tablas de verdad – AND

Page 43: Lógica de Programación

Tablas de verdad - OR

Page 44: Lógica de Programación

Tablas de verdad – NOT

Page 45: Lógica de Programación

Operadores lógicos – Jerarquía

Jerarquía

NOT

AND

OR

Page 46: Lógica de Programación

Ejercicio 11

CONSIDERANDO LOS VALORES DE A = VERDADERO Y B = FALSO

Page 47: Lógica de Programación

Jerarquía de operadores en expresiones mixtas

• Los operadores aritméticos se aplican sobre datos numéricos y devuelven valores numéricos.

• Los operadores relacionales se aplican sobre datos numéricos, cadenas, caracteres, y devuelven valores booleanos (FALSO y VARDADERO).

• Las operaciones lógicas sólo se pueden aplicar a datos booleanos, devolviendo resultados booleanos.

Page 48: Lógica de Programación

Jerarquía de operadores

TIPO EXPRESION

PARENTESIS ( )NEGACION NOT

MULTIPLICACION,DIVISION Y MODULO *, /, %

SUMA, RESTA +, -

MENOR, MENOR O IGUAL, MAYOR, MAYOR O IGUAL <, <=, >, >=

IGUAL A, DIFERENTE DE ==, !=

Y AND

O OR

Page 49: Lógica de Programación

Ejercicio 12

( )

NOT

*, /, %

+, -

<, <=, >, >=

==, !=

AND

OR

Page 50: Lógica de Programación

Ejercicio 13

Dado que a=10, b=15, y c=10.

Page 51: Lógica de Programación

Ejercicio 13

Page 52: Lógica de Programación

Linealización de expresiones

Se refiere a escribir las expresiones algébricas en una sola línea sin que el resultado se vea afectado.

= ( 2 + 3 - 4*(a-5) ) / ( b – 7 / (a +3 ))

Page 53: Lógica de Programación

Ejercicio 14

Page 54: Lógica de Programación

Algoritmo

• Un algoritmo es un procedimiento a seguir para resolver algún problema

• Las acciones se realizan por una serie finita de pasos para así llegar a la solución del problema

• Se expresan de dos formas como pseudocódigo y en diagramas de flujo

Page 55: Lógica de Programación

Algoritmo

• Por ejemplo, considere el algoritmo que se elaboraría para el problema o situación de levantarse todas las mañanas para ir al trabajo:

1. Salir de la cama2. Quitarse la pijama3. Ducharse4. Vestirse5. Desayunar6. Arrancar el automóvil para ir al trabajo o tomar

transporte.

Page 56: Lógica de Programación

Algoritmo

• Para construir algoritmos es necesario identificar:

– Lo que requieres para la solución

– Que operaciones se deben realizar

Page 57: Lógica de Programación

Ejercicio 15

• Realizar un algoritmo para cada una de las situaciones planteadas:

– Realizar un viaje en avión

– Ir de la casa a la escuela

– Realizar una llamada telefónica desde un teléfono público

– Buscar el significado de una palabra en el diccionario de español

– Ir al cine a ver una película

Page 58: Lógica de Programación

Algoritmos

• Para construir un algoritmo, es importante detectar todoslos datos involucrados, tratando de clasificarlos deacuerdo a su tipo, además de su categoría en variables oconstantes, otra cuestión importante que se debeatender es ver si el dato, contiene algún valor o va a sercalculado según progrese el algoritmo.

• Formular las expresiones para calcular los resultados.

• Finalmente escriba el algoritmo sin omitir ningún paso.

Page 59: Lógica de Programación

Algoritmo - Ejemplo

• Problemática: Calcular el área de un terreno que mide9 metros de frente por 20 de fondo.

• Detectar datos:– frente, fondo y área, los tres datos son de tipo numérico,

ninguno es constante puesto que las dimensiones puedencambiar, se cuenta con los valores del frente y el fondo y elárea será calculada en las etapa final del algoritmo.

– De aquí, proponemos 3 variables: frente, fondo y area.

• Formular las expresiones:– area = frente * fondo

Page 60: Lógica de Programación

Algoritmo - Ejemplo

• Finalmente, el algoritmo descriptivo con la solución del problema quedaría:

Inicio

frente = 9

fondo = 20

area = frente * fondo

Escribir (area)

Fin

Page 61: Lógica de Programación

Ejercicio 16

• Realice un algoritmo para calcular la edad en meses de una persona que nació en enero del año 2000

Page 62: Lógica de Programación

Ejercicio 17

• Realice un algoritmo para calcular el sueldo de una persona que trabajó 45 horas en una semana, sabiendo que el pago por hora normal es de 50.00, las horas extras se pagan 15% más que las normales y que se consideran horas extras a aquellas que rebasan una jornada de 40 horas a la semana.

Page 63: Lógica de Programación

Datos de entradas y de salidas

• Al elaborar algoritmos es importante identificar los datos que se presentan y son necesarios para poder resolver el problema planteado.

• Estos datos se conocen como de entrada y son aquellos que la computadora va a procesar.

• Los datos de salida son datos derivados, es decir, obtenidos a partir de los datos de entrada.

• A los datos de entrada se les considera la materia prima de los datos de salida.

Page 64: Lógica de Programación

Datos E/S - Ejemplo

• Se desea calcular la distancia recorrida (m) por un móvil que tiene velocidad constante (m/s) durante un tiempo T (segundos), considerar que es un Movimiento Rectilíneo Uniforme.

• A continuación se presenta una solución a través de un algoritmo descriptivo.

Salida IDENTIFICADORES

Distancia Recorrida (m) d

Entrada

Velocidad Constante (m/s) v

Tiempo (s) t

Page 65: Lógica de Programación

Datos E/S - Ejemplo

• Inicio

– Leer (v)

– Leer (t)

– d = v * t

– Escribir (d)

• Fin

Page 66: Lógica de Programación

Diagramas de flujo

Page 67: Lógica de Programación

Ejemplo – Diagramas de Flujo

Page 68: Lógica de Programación

Ejercicio 18

• Para los siguientes problemas, identifica los datos de entrada y salida, asignándoles un identificador válido y plantea un algoritmo descriptivo para solucionarlos:

1) Se necesita obtener el promedio de un estudiante a partir de sus tres notas parciales.

2) Realice un algoritmo que permita calcular los minutos transcurridos entre dos horas que serán proporcionadas en hora y minutos.

3) Realice un algoritmo que solicite dos datos numéricos y con ellos efectúe las operaciones aritméticas básicas de suma, multiplicación, resta y división, mostrando el resultado de cada una de ellas.

Page 69: Lógica de Programación

Datos Intermedios

• Existen datos que solo se utilizan para almacenar algún valor temporalmente y se les conoce como datos intermedios. Por ejemplo:

• Elabore un algoritmo que solicite el número de respuestas correctas, incorrectas y en blanco, correspondientes a postulantes, y muestre su puntaje final considerando, que por cada respuesta correcta tendrá 4 puntos, respuestas incorrectas tendrá -1 y respuestas en blanco tendrá 0.

Page 70: Lógica de Programación

Ejemplo – Datos Intermedios

Salida Identificador

Puntaje Final pfinal

Entrada

Número de Respuestas Correctas rcorrectas

Número de Respuestas Incorrectas rincorrectas

Número de Respuestas en Blanco rblanco

Intermedio

Puntaje de Respuestas Correctas prcorrectas

Puntaje de Respuestas Incorrectas princorrectas

Page 71: Lógica de Programación

Ejemplo – Datos Intermedios

• Inicio– Leer (rcorrectas)

– Leer (rincorrectas)

– Leer (rblanco)

– prcorrectas = rcorrectas * 4

– princorrectas = rincorrectas * (-1)

– pfinal = prcorrectas + princorrectas

– Escribir(pfinal)

• Fin

Page 72: Lógica de Programación

Ejercicio 19

• Elabore un algoritmo que permita ingresar el número de partidos ganados, perdidos y empatados, por castores UTP en el torneo de apertura, se debe de mostrar su puntaje total, teniendo en cuenta que por cada partido ganado obtendrá 3 puntos, empatado 1 punto y perdido 0 puntos.

Page 73: Lógica de Programación

Condicionales

Page 74: Lógica de Programación

Condicionales Simples

• Una acción muy frecuente y útil en la construcción dealgoritmos es la toma de decisiones que se lleva a cabo através de estructuras condicionales, en los puntos dondeaparecen estas decisiones, el algoritmo tiene la posibilidad defuncionar, es decir puede optarse por realizar ciertasinstrucciones del algoritmo o por no hacerlas.

• Las condiciones se pueden incluir en el algoritmo de la mismamanera en que las utilizamos en nuestro actuar cotidiano, porejemplo:

– Voy a salir, si está nublado, llevo un paraguas .

– Si paso el examen de admisión, estudio en la UTP.

– Si tengo dinero, me compro una computadora”, etc.

Page 75: Lógica de Programación

Condicionales Simples

• La estructura de la condicional tiene la forma:

Si (expresión lógica) Entonces

instrucciones

Fin Si

Page 76: Lógica de Programación

Condicional Simple - Ejemplo

• Determinar con base a la edad de una persona si puede obtener una licencia para conducir.

Inicio

Escribir (“Proporcione su edad”)

Leer (edad)

Si ( edad > 18 ) Entonces

Escribir (“Licencia autorizada”)

Fin si

Fin

Page 77: Lógica de Programación

Condicional Simple - Ejemplo

Page 78: Lógica de Programación

Condicionales dobles

• Hay situaciones en la que no solo existe una opción de decisión, sino que se nos presentan dos opciones o alternativas posibles, dependiendo si se cumple la condición planteada en un problema. Ejemplos:

– Una persona planea ir a un balneario si el día esta soleado, de lo contrario, visitará un museo.

– Si paso el examen de admisión estudio en la UTP, si no trabajare.

Page 79: Lógica de Programación

Condicionales dobles

• La estructura de la condicional doble tiene la forma:

Si (expresión lógica) Entonces

instrucciones

Si no

instrucciones

Fin Si

Page 80: Lógica de Programación

Ejemplo – Condicionales dobles

• Se desea mostrar el número mayor al comparar 2 números diferentes. El problema anterior lo podemos expresar con el siguiente algoritmo:

Inicio

Leer (num1)

Leer (num2)

Si ( num1 > num2) Entonces

Escribir ( num1 )

Si no

Escribir (num2)

Fin si

Fin

Page 81: Lógica de Programación

Condicionales Anidadas

• En algunas ocasiones se tienen más de dos condiciones por evaluar, entonces después de emplear un condicional SI, se hace necesario aplicar otros condicionales SI dentro del condicional.

Si (expresión lógica) Entonces

instrucciones

Si no

Si (expresión lógica) Entonces

instrucciones

Si no

instrucciones

Fin Si

Fin Si

Page 82: Lógica de Programación

Ejercicio 20

• Mostrar el mayor de 3 números ingresados por el usuario.

Page 83: Lógica de Programación

si

si

no

no