Este documento presenta una introducción a los conceptos básicos de programación como software, lenguajes de programación y sistemas operativos. Explica las fases de resolución de problemas que incluyen análisis, diseño, codificación, pruebas y mantenimiento. También define algoritmos como métodos precisos y finitos para resolver problemas y discute herramientas como diagramas de flujo y pseudocódigo para diseñar y representar algoritmos.
1. Fundamentos de
Programación
M.Sc. Franco Guamán B.
Universidad Técnica Particular de Loja
Departamento de Ciencias de la Computación y
Electrónica
INTRODUCCIÓN A LA
PROGRAMACIÓN
2. Contenidos
1. Introducción a la programación
a. Conceptos básicos de programación
b. Introducción a la Metodología de la
Programación
c. El algoritmo
Conceptos y características de algoritmos (2.5)
Escritura de algoritmos (2.6)
Representación gráfica de algoritmos(2.7)
Fundamentos de Programación - Franco Guamán 2
3. Conceptos básicos
El Software (los programas)(1.8)
• Conjunto de instrucciones detalladas que controlan y coordinan los
componentes hardware de una computadora y controlan las
operaciones de un sistema informático.
o Software de Sistema. Gestiona recursos de la computadora.
o Software de Aplicaciones. Instruyen para la realización de tareas
específicas.
• El Sistema Operativo. Controla y gestiona los recursos de la
computadora (asignación de memoria, manipulación y control de
dispositivos, etc.) (1.8.3)
o Multiprogramación/Multitarea
o Tiempo compartido
o Multiproceso
Fundamentos de Programación - Franco Guamán 3
4. Fundamentos de Programación - Franco Guamán 4
Conceptos básicos (cont)
Lenguajes de programación (1.9)
• El procesador debe ser capaz de interpretar el significado del
algoritmo.
o Comprender las instrucciones de cada paso
o Realizar las operaciones correspondientes
Ampliar con info de pág. 36 texto base
5. Fundamentos de Programación - Franco Guamán 5
Metodología
Fases en la resolución de problemas (2.1)
• Análisis. El problema se analiza teniendo en cuenta las
especificaciones.
• Diseño. Se diseña una solución que conduzca a un algoritmo.
• Codificación. Se escribe el algoritmo en lenguaje de alto nivel.
• Compilación y ejecución, verificación y depuración. Se ejecuta el
programa y se eliminan posibles errores.
• Mantenimiento. Se actualiza en casos de ser necesario.
• Documentación. Se documenta las diferentes fases, se realizan
manuales y normas para el mantenimiento.
Un Algoritmo es un método para resolver un problema mediante una serie
de pasos precisos, definidos y finitos.
6. Fundamentos de Programación - Franco Guamán 6
Metodología (cont)
Análisis del problema
• Debe contemplar lo que debe hacer el programa y el resultado o
solución deseada.
o ¿Qué entradas?
o ¿Salida deseada?
o ¿Método que la produce?
o Requisitos adicionales
Resolución de
un problema
Análisis del
problema
Diseño del
algoritmo
Resolución
del problema
Análisis del
problema
Definición
del problema
Datos de
entrada
Datos de
salida (resul.)
7. Fundamentos de Programación - Franco Guamán 7
Metodología (cont)
Diseño del algoritmo
• Divide y vencerás (Diseño descendente, top-down o modular).
• Debe constar de un programa principal y subprogramas de nivel
más bajo.
o Programar un módulo
o Comprobar el módulo
o Depurar (si es necesario)
o Combinar el módulo
El diseño del Algoritmo es independiente del lenguaje de
programación en el que se vaya a codificar posteriormente.
8. Fundamentos de Programación - Franco Guamán 8
Metodología (cont)
Herramientas de programación: DIAGRAMAS DE
FLUJO
9. Fundamentos de Programación - Franco Guamán 9
Metodología (cont)
Herramientas de programación: PSEUDOCÓDIGO
• Es una herramienta de programación para expresar instrucciones en
lenguaje natural, para facilitar la lectura de programas.
10. Fundamentos de Programación - Franco Guamán 10
El Algoritmo
Conceptos y características
• Es un método para resolver un problema
• Independientes del lenguaje y de la plataforma sobre la que se
codificará y ejecutará.
• Características:
o Preciso
o Definido
o Finito
Problema
Diseño del
algoritmo
Programa de
computadora
11. Fundamentos de Programación - Franco Guamán 11
El Algoritmo (cont)
Diseño del algoritmo
• La información proporcionada es la entrada y la producida por el
algoritmo es la salida.
• Los problemas complejos son más fáciles si son subdivididos en
subproblemas.
• Ventajas del diseño descendente:
o Los módulos son más fáciles de comprender.
o Los módulos son más fáciles de modificar y depurar.
o Fáciles de representar.
Diseño de un
algoritmo
Diseño
descendente
Refinamiento por
casos
Herramientas de
programación
Disgramas de flujo
Pseudocódigo
12. Fundamentos de Programación - Franco Guamán 12
El Algoritmo (cont)
Escritura de algoritmos
• Debe ser una descripción paso a paso con lenguaje natural.
• Debe tener alguna secuencia definida de pasos hasta obtener un
resultado coherente.
• Solo puede ejecutarse una operación a la vez.
• De ser necesario, debe ser dividido en módulos que describan o
detallen acciones básicas.
• Es muy importante utilizar la indentación (sangrado o justificación)
durante la escritura de algoritmos.
• Las palabras reservadas deben ser marcadas con negrita para
diferenciarlas.
13. Fundamentos de Programación - Franco Guamán 13
El Algoritmo (cont)
Representación gráfica de algoritmos
• Método que permita independizar el algoritmo del lenguaje de
programación elegido.
o Diagramas de flujo
o Diagrama N-S (Nassi-Schneiderman)
o Lenguaje de especificación de algoritmos: pseudocódigo
o Lenguaje español, ingles…
o Fórmulas.