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

Post on 03-Jan-2016

46 views 1 download

description

Lógica de programación. 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 - PowerPoint PPT Presentation

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

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 OropezaFis. Juan Ramón Flores Villa

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

Lógica de programación

Contenido

1. Datos2. Tipos de datos3. Arreglo de datos4. Variables5. Constantes6. Identificadores7. Operadores – Aritméticos– Relacionales– Lógicos

8. Jerarquía de operadores

9. Linealización de expresiones10. Algoritmos– Pseudocódigo– Diagramas de Flujo– Datos de Entrada y de Salida– Datos Intermedios

11. Condicionales– Simples– Dobles– Anidadas

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.

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.

Ejercicio 1

Datos

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

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?

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

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)

Tipos de datos numéricos

Numéricos

EnterosPositivos

Negativos

RealesRacionales

Irracionales

Sin signo negativo ni punto decimal

Con signo negativo y sin punto decimal

Con punto decimal

Parte decimal infinita

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’

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.

TIPOS DE

DATOS

Ejercicio 1

Dato Tipo de datoJuan 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

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

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 marEdad de una persona

Número Irracional √2

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.

Arreglos

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

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.

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.

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.

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

Ejercicio 4

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.

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

Ejercicio 6

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

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.

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.

Ejercicio 7Identificadores 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

Ejercicio 8

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.

Operadores aritméticos

• Los operadores aritméticos son:

Operador Operación+ Suma- Resta* Multiplicación/ División% Módulo

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.

Ejercicio 9

• Encuentre el resultado de las siguientes expresiones

Expresión Resultado21 % 635 + 563 % 7106 / 2215 % 8

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.

Jerarquía de operadores

Operador Operación( ) Parentesis*, / , % Multiplicación, División, Módulo+ , - Suma, Resta

Ejercicio 10

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

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

Operadores relacionales

Operadores relacionales

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.

Tablas de verdad – AND

Tablas de verdad - OR

Tablas de verdad – NOT

Operadores lógicos – Jerarquía

JerarquíaNOTANDOR

Ejercicio 11

CONSIDERANDO LOS VALORES DE A = VERDADERO Y B = FALSO

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.

Jerarquía de operadores

TIPO EXPRESION

PARENTESIS ( )NEGACION NOTMULTIPLICACION,DIVISION Y MODULO *, /, %

SUMA, RESTA +, -MENOR, MENOR O IGUAL, MAYOR, MAYOR O IGUAL <, <=, >, >=IGUAL A, DIFERENTE DE ==, !=Y ANDO OR

Ejercicio 12

( )

NOT

*, /, %

+, -

<, <=, >, >=

==, !=

AND

OR

Ejercicio 13

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

Ejercicio 13

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

Ejercicio 14

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

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.

Algoritmo

• Para construir algoritmos es necesario identificar:– Lo que requieres para la solución– Que operaciones se deben realizar

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

Algoritmos

• Para construir un algoritmo, es importante detectar todos los datos involucrados, tratando de clasificarlos de acuerdo a su tipo, además de su categoría en variables o constantes, otra cuestión importante que se debe atender es ver si el dato, contiene algún valor o va a ser calculado según progrese el algoritmo.

• Formular las expresiones para calcular los resultados.• Finalmente escriba el algoritmo sin omitir ningún paso.

Algoritmo - Ejemplo

• Problemática: Calcular el área de un terreno que mide 9 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 pueden cambiar, 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

Algoritmo - Ejemplo

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

Iniciofrente = 9fondo = 20area = frente * fondoEscribir (area)

Fin

Ejercicio 16

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

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.

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.

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 IDENTIFICADORESDistancia Recorrida (m) d

EntradaVelocidad Constante (m/s) vTiempo (s) t

Datos E/S - Ejemplo

• Inicio– Leer (v)– Leer (t)– d = v * t– Escribir (d)

• Fin

Diagramas de flujo

Ejemplo – Diagramas de Flujo

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.

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.

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

Ejemplo – Datos Intermedios

• Inicio– Leer (rcorrectas)– Leer (rincorrectas)– Leer (rblanco)– prcorrectas = rcorrectas * 4– princorrectas = rincorrectas * (-1)– pfinal = prcorrectas + princorrectas – Escribir(pfinal)

• Fin

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.

Condicionales

Condicionales Simples

• Una acción muy frecuente y útil en la construcción de algoritmos es la toma de decisiones que se lleva a cabo a través de estructuras condicionales, en los puntos donde aparecen estas decisiones, el algoritmo tiene la posibilidad de funcionar, es decir puede optarse por realizar ciertas instrucciones del algoritmo o por no hacerlas.

• Las condiciones se pueden incluir en el algoritmo de la misma manera en que las utilizamos en nuestro actuar cotidiano, por ejemplo: – 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.

Condicionales Simples

• La estructura de la condicional tiene la forma:

Si (expresión lógica) Entoncesinstrucciones

Fin Si

Condicional Simple - Ejemplo

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

InicioEscribir (“Proporcione su edad”)Leer (edad)Si ( edad > 18 ) Entonces

Escribir (“Licencia autorizada”)Fin si

Fin

Condicional Simple - Ejemplo

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.

Condicionales dobles

• La estructura de la condicional doble tiene la forma:

Si (expresión lógica) Entoncesinstrucciones

Si noinstrucciones

Fin Si

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:

InicioLeer (num1)Leer (num2)Si ( num1 > num2) Entonces

Escribir ( num1 )Si no

Escribir (num2)Fin si

Fin

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

Si noSi (expresión lógica) Entonces

instruccionesSi no

instruccionesFin Si

Fin Si

Ejercicio 20

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

si

si

no

no