Este documento presenta conceptos básicos de lógica de programación. Explica que un algoritmo es una lista de instrucciones para resolver un problema, y que un programa de computadora implementa un algoritmo. Describe formas de describir algoritmos como pseudocódigo, diagramas de flujo y diagramas de Nassi-Schneidermann. Además, detalla las etapas para construir un algoritmo, incluyendo definir el problema, las entradas, salidas, pasos y comprobar la solución.
Ponencia en I SEMINARIO SOBRE LA APLICABILIDAD DE LA INTELIGENCIA ARTIFICIAL EN LA EDUCACIÓN SUPERIOR UNIVERSITARIA. 3 de junio de 2024. Facultad de Estudios Sociales y Trabajo, Universidad de Málaga.
La Unidad Eudista de Espiritualidad se complace en poner a su disposición el siguiente Triduo Eudista, que tiene como propósito ofrecer tres breves meditaciones sobre Jesucristo Sumo y Eterno Sacerdote, el Sagrado Corazón de Jesús y el Inmaculado Corazón de María. En cada día encuentran una oración inicial, una meditación y una oración final.
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
2 lop–cv-20017-3-conceptos básicos y metodología para la solución de problemas
1. LÓGICA DE PROGRAMACIÓN
José David Uc Salas
jose.uc@uppuebla.edu.mx
Universidad Politécnica de Puebla
Conceptos básicos y metodología para la
solución de problemas
Septiembre-2017
Grupo EA
2. Objetivo de la sesión
11/09/2017
Lógica de Programación - Conceptos
básicos
2
Diseñar algoritmos para representar la solución de problemas.
Conocer las diferentes etapas de la resolución de problemas en
programación. Definir las etapas de Diseño, Análisis y
Verificación de algoritmos y conocer su importancia. Presentar
las técnicas principales empleadas en cada una de las etapas de
Diseño, Análisis y Verificación.
3. Algoritmos
• ¿Que es un algoritmo?
– “Una lista de instrucciones donde se especifica una
sucesión de operaciones necesarias para resolver
cualquier problema de un tipo dado”.
8. Algoritmos
• Entrada
– ¿Qué se necesita para realizar los pasos?
• Salida
– ¿Que se obtiene al final del algoritmo?
• Tipos de datos
– Números: enteros, reales, complejos
– Texto: letras, palabras, frases
– Otros
9. Algoritmos
• Sirven para resolver un tipo de problema especifico.
• Son secuencias de pasos concretos.
• Requiere la definición de la entrada y la salida.
• Adecuados para ser ejecutados por un computador
10. Algoritmos
• ¿Qué tiene que ver con la programación?
– La programación consiste en crear programas de
computador que resuelvan problemas específicos.
– Un programa de computador es la implementación de un
algoritmo.
11. Algoritmos
• ¿Qué es un programa de computador?
– Es una secuencia de pasos a ejecutar
– Los pasos están descritos en un lenguaje especial.
– Este lenguaje se puede traducir al lenguaje del
computador.
– Por lo general es un archivo de texto.
– El texto escrito en dicho lenguaje se denomina el código
del programa.
12. Descripción de un algoritmo
• Es necesario contar con formas de expresar algoritmos
– Diseño del algoritmo antes de codificar
– Diseño del algoritmo de manera independiente del lenguaje de
programación
• Diferentes alternativas
– Pseudo - código
– Diagramas de flujo
– Diagramas de Nassi-Schneidermann
13. Descripción de un algoritmo
• Pseudo – código
– El algoritmo se expresa en
lenguaje natural
– Expresa de manera genérica
los pasos del algoritmo
– No provee detalles de la
implementación particular
del código final
14. Descripción de un algoritmo
• Diagramas de flujo
– Presentan el algoritmo de
manera gráfica.
– De gran utilidad para seguir la
“ruta” de un algoritmo.
– Aplicables a muchas otras
disciplinas.
15. Descripción de un algoritmo
• Diagrama de Nassi-
Schneidermann
– También se denominan diagramas
de caja.
– Menos usado que el diagrama de
flujo
– Mas ordenado
– Ocupa mucho espacio para
representar algoritmos complejos.
16. Construcción de un algoritmo
1. Definir el problema a resolver
2. Identificar las entradas del algoritmo
3. Identificar la salida del algoritmo
4. Definir los pasos a seguir para convertir las entradas
en la salida
5. Seguir los pasos y comprobar que el algoritmo sea
correcto analizando la salida.
6. Revisar los pasos y hacer las correcciones.
7. Resolver el problema.
17. Construcción de un algoritmo
• Construcción de un programa
1. Definir el problema a resolver
2. Definir el algoritmo que lo resuelve
3. Escribir el programa
• Escribir cada uno de los pasos del algoritmo en el lenguaje de
programación
4. Ejecutar el programa en el computador
5. Verificar que las salidas sean correctas
6. Hacer correcciones al programa
7. Resolver el problema
18. Construcción de un algoritmo
• Ejemplo:
– Objetivo: Calcular el precio de una manzana
– Entradas
• Precio (en pesos) del kilo de manzanas [K]
• Peso (en gramos) promedio de una manzana[P]
– Salida
• Precio (en pesos) de una manzana [M]
19. Construcción de un algoritmo
Inicio
Ingresar valor de K y P
Calcular G = K/1000
Calcular M = G x P
Devolver el valor de M
Fin.
22. Construcción de un algoritmo
• Operaciones básicas
– Entrada de datos
– Salida de datos
– Utilización de variables
– Utilización de constantes
– Aplicación de operadores
– Asignación de valores
• Combinación de operaciones básicas
– Secuencial
– Selectiva
– Repetitiva
23. Entrada de datos
• Los algoritmos son para solucionar tipos de
problemas
• Es imprescindible poder entregar entradas distintas
en cada ejecución
• La entrada de datos se realiza mediante algún
dispositivo
24. Entrada de datos
• Dispositivos de entrada
– Teclado
– Mouse
– Botones
– Censores de tacto
– Cámaras digitales
– Scanners
– Archivos
26. Entrada de datos
• Cada dispositivo tiene distintas características.
• Por lo general, sirven para cosas distintas
• Los sistemas definen un dispositivo de entrada por
defecto
– Este dispositivo se denomina la entrada estándar.
– En un computador suele ser el teclado.
27. Salida de datos
• De nada sirve implementar un algoritmo si no
podemos saber su resultado.
• Al finalizar el algoritmo (o durante), es
imprescindible obtener la información resultante de
su ejecución.
• La salida de datos se realiza mediante dispositivos.
28. Salida de datos
• Dispositivos de salida
– Pantalla
– Impresora
– Parlantes
– Tableros luminosos
– Motores
– Tarjeta de red
– Archivos
30. Salida de datos
• Al igual que con la entrada, cada dispositivo tiene
finalidades distintas.
• Los sistemas definen un dispositivo de salida por
defecto
– Este dispositivo se denomina la salida estándar.
– En un computador suele ser la pantalla.
31. Utilización de variables
• Durante la ejecución del algoritmo, es importante
recordar los resultados parciales de cada paso.
• Estos resultados se etiquetan con un nombre.
• Al invocar con posterioridad ese nombre,
recuperamos el resultados parcial.
32. Utilización de variables
G=K/1000
Esta variable se denomina G y se utiliza
para recordar el valor de un gramo de
manzana.
K es un dato de entrada, y también
Se considera una variable
33. Utilización de variables
• La principal característica de una variable es que su
valor puede cambiar en el tiempo.
• Usualmente se compara con una caja donde se
puede almacenar una sola “cosa”.
• Por lo general, las variables se definen con un tipo de
dato.
• El tipo de dato restringe que tipo de “cosas” se
pueden guardar en las “cajas”.
34. Utilización de constantes
• Además de las variables, un algoritmo requiere de
constantes.
• A diferencia de las variables, su valor no puede
cambiar en el tiempo.
• Las constantes también pueden recibir nombres para
mayor claridad.
– Ej.: PI = 3.1415
36. Aplicación de operadores
• Para obtener resultados, generalmente es necesario
“transformar” las entradas en la salida.
• Para esto se aplican operadores de distinta índole
– Aritméticos ( + , - , * , / )
– Lógicos (igual que, mayor que, menor que, y, o, no)
– Etc.
• Los operadores requieren de operandos y entregan
un resultado.
• Por lo general, los operadores son unarios o binarios.
38. Asignación de valores
• El resultado de un operador se puede almacenar en
una variable.
• Para esto se utiliza un tipo especial de operador.
• Este es el operador de asignación.
• Solo se pueden asignar valores a variables, no a
constantes
40. Combinación de operaciones básicas
• Secuencial
– Un conjunto de operaciones básicas pueden ser ejecutadas
en forma secuencial.
– Una operación no inicia hasta que la anterior termina
41. Combinación de operaciones básicas
G=K/1000
M=G * P
Ingresar K y P
Devolver M
Ingresar K=200 y P=250
G tiene el valor 0,2
M tiene el valor 50
G=K/1000
M=G * P
Ingresar K y P
Devolver M
Diagrama de flujo
Diagrama de Nassi-Schneidermann