conceptos básicos y metodología de la programación
TRANSCRIPT
![Page 1: Conceptos básicos y metodología de la programación](https://reader036.vdocuments.pub/reader036/viewer/2022062708/558c7a37d8b42ada248b4663/html5/thumbnails/1.jpg)
Conceptos Básicos y metodología de la Programación
![Page 2: Conceptos básicos y metodología de la programación](https://reader036.vdocuments.pub/reader036/viewer/2022062708/558c7a37d8b42ada248b4663/html5/thumbnails/2.jpg)
Computadora• Máquina capaz de
aceptar datos de entrada, procesarlos y entregar resultados de salida de información.
• Una computadora es una máquina de procesamiento de información.
• Los ordenadores sirven para la gestión de datos, almacenan grandes cantidades de datos e información y permite recuperarlos y enviarlos a gran velocidad.
![Page 3: Conceptos básicos y metodología de la programación](https://reader036.vdocuments.pub/reader036/viewer/2022062708/558c7a37d8b42ada248b4663/html5/thumbnails/3.jpg)
Software• Conjunto de programas que le indican a la
computadora qué hacer y cómo operar para generar los resultados esperados.
![Page 4: Conceptos básicos y metodología de la programación](https://reader036.vdocuments.pub/reader036/viewer/2022062708/558c7a37d8b42ada248b4663/html5/thumbnails/4.jpg)
Dato e Información• Un dato es aquella representación de una entidad
y que es susceptible de tratamiento ya sea de un programa o proceso informático.
• La información es un mensaje válido para un receptor o resultado del procedimiento de datos.
• En el momento en que un dato se transmite y se le añade un contexto, se convierte en información.
![Page 5: Conceptos básicos y metodología de la programación](https://reader036.vdocuments.pub/reader036/viewer/2022062708/558c7a37d8b42ada248b4663/html5/thumbnails/5.jpg)
Tipos de Datos• NÚMEROS:• ENTEROS: Número entero desde un valor negativo alto hasta
un valor positivo alto. Este puede ser short o long dependiendo del tamaño del número.
• FLOAT: Números con pocos decimales.
• Double: Números con muchos decimales.
• LÓGICO: Verdadero y falso.
• CARÁCTER: Almacenan información alfa-numérica.
![Page 6: Conceptos básicos y metodología de la programación](https://reader036.vdocuments.pub/reader036/viewer/2022062708/558c7a37d8b42ada248b4663/html5/thumbnails/6.jpg)
¿Qué es un programa?• La unión de una
secuencia de instrucciones que una computadora puede interpretar y ejecutar y un conjunto de estructuras de datos que almacenan la información sobre la que la operan las instrucciones.
![Page 7: Conceptos básicos y metodología de la programación](https://reader036.vdocuments.pub/reader036/viewer/2022062708/558c7a37d8b42ada248b4663/html5/thumbnails/7.jpg)
Para programar se requiere de:• Fundamentos generales de
programación.• Lógica para entender,
conceptualizar y solucionar el problema.
• Conocimiento de cualquier lenguaje de programación.
![Page 8: Conceptos básicos y metodología de la programación](https://reader036.vdocuments.pub/reader036/viewer/2022062708/558c7a37d8b42ada248b4663/html5/thumbnails/8.jpg)
Lenguaje de programación• Es una técnica de
comunicación estilizada que se utiliza para controlar el comportamiento de una maquina (usualmente una computadora).
• Permite al programador especificar de manera precisa sobre que datos debe operar una computadora.
![Page 9: Conceptos básicos y metodología de la programación](https://reader036.vdocuments.pub/reader036/viewer/2022062708/558c7a37d8b42ada248b4663/html5/thumbnails/9.jpg)
Los principales lenguajes utilizados son:• Lenguaje Máquina
• Lenguaje de bajo nivel o ensamblador
• Lenguajes de alto nivel
![Page 10: Conceptos básicos y metodología de la programación](https://reader036.vdocuments.pub/reader036/viewer/2022062708/558c7a37d8b42ada248b4663/html5/thumbnails/10.jpg)
Lenguaje Máquina• Es un lenguaje que puede ser interpretado
directamente por los circuitos internos de la máquina.
• Está basado en instrucciones compuestas por sentencias de ceros y unos.
![Page 11: Conceptos básicos y metodología de la programación](https://reader036.vdocuments.pub/reader036/viewer/2022062708/558c7a37d8b42ada248b4663/html5/thumbnails/11.jpg)
• Ventajas:• 1)No requiere
traducción, la máquina lo interpreta.
• 2)Opera directamente con la máquina.
• 3)Puede ser eficiente con el manejo de los recursos.
• Desventajas:• 1)Difícil de
aprender, implementar y mantener.
• 2)Es único y particular para cada procesador
![Page 12: Conceptos básicos y metodología de la programación](https://reader036.vdocuments.pub/reader036/viewer/2022062708/558c7a37d8b42ada248b4663/html5/thumbnails/12.jpg)
Lenguaje de Bajo Nivel o Ensamblador• Es un lenguaje fuente para codificar sentencias
simbólicas.• Un ensamblador convierte cada instrucción en
instrucciones de lenguaje de máquina.
![Page 13: Conceptos básicos y metodología de la programación](https://reader036.vdocuments.pub/reader036/viewer/2022062708/558c7a37d8b42ada248b4663/html5/thumbnails/13.jpg)
• Ventajas:• 1)No es tan
complicado como el lenguaje máquina.
• 2)Eficiente en el manejo de recursos.
• Desventajas:• 1)Cada procesador
tiene su propio juego de instrucciones en ensamblador.
• 2)Dependencia total por la máquina lo que impide la transportabilidad de los programas.
• 3)Debe ser traducido-ensamblado.
![Page 14: Conceptos básicos y metodología de la programación](https://reader036.vdocuments.pub/reader036/viewer/2022062708/558c7a37d8b42ada248b4663/html5/thumbnails/14.jpg)
Lenguaje de Alto Nivel• Es un lenguaje orientado al problema o
procedimiento.• Son los más cercanos al lenguaje humano.• Ejemplos: COBOL,PL/I, FORTRAN, orientado a
objetos.
![Page 15: Conceptos básicos y metodología de la programación](https://reader036.vdocuments.pub/reader036/viewer/2022062708/558c7a37d8b42ada248b4663/html5/thumbnails/15.jpg)
• Ventajas:• 1)Son
independientes del procesador.
• 2)Son más fáciles de aprender, implementar y mantener.
• 3)Tiene un carácter genérico.
• Ventajas:• 1)Menos
eficiente en el manejo de recursos.
• 2)Requiere un proceso de traducción.
![Page 16: Conceptos básicos y metodología de la programación](https://reader036.vdocuments.pub/reader036/viewer/2022062708/558c7a37d8b42ada248b4663/html5/thumbnails/16.jpg)
Metodología de la Programación• Análisis del Problema• Diseño de los algoritmos• Codificación del programa• Compilación• Verificación/Depuración• Documentación
![Page 17: Conceptos básicos y metodología de la programación](https://reader036.vdocuments.pub/reader036/viewer/2022062708/558c7a37d8b42ada248b4663/html5/thumbnails/17.jpg)
Análisis del Problema
![Page 18: Conceptos básicos y metodología de la programación](https://reader036.vdocuments.pub/reader036/viewer/2022062708/558c7a37d8b42ada248b4663/html5/thumbnails/18.jpg)
Diseño de los Algoritmo• Conjunto preescrito de operaciones (reglas o
instrucciones) bien• definidas para resolver un problema en un número
finito de pasos• Un algoritmo: Finito (Resultado en el tiempo), Definido
(No puede ser ambiguo), Preciso (ejecución paso a paso).
• El diseño del algoritmo es bastante independiente del lenguaje de programación (sí depende del enfoque)
• Definir paso a paso con detalle• Diseño descendente o modular:División del problema en subproblemas
![Page 19: Conceptos básicos y metodología de la programación](https://reader036.vdocuments.pub/reader036/viewer/2022062708/558c7a37d8b42ada248b4663/html5/thumbnails/19.jpg)
![Page 20: Conceptos básicos y metodología de la programación](https://reader036.vdocuments.pub/reader036/viewer/2022062708/558c7a37d8b42ada248b4663/html5/thumbnails/20.jpg)
Diagrama de Flujos
![Page 21: Conceptos básicos y metodología de la programación](https://reader036.vdocuments.pub/reader036/viewer/2022062708/558c7a37d8b42ada248b4663/html5/thumbnails/21.jpg)
Simbología del Diagrama de Flujo
![Page 22: Conceptos básicos y metodología de la programación](https://reader036.vdocuments.pub/reader036/viewer/2022062708/558c7a37d8b42ada248b4663/html5/thumbnails/22.jpg)
![Page 23: Conceptos básicos y metodología de la programación](https://reader036.vdocuments.pub/reader036/viewer/2022062708/558c7a37d8b42ada248b4663/html5/thumbnails/23.jpg)
Pseudocódigo• Se trata de un lenguaje imitación del de un
ordenador.• No está estandarizado.• Cada programador tiene el propio.• Mezcla de lenguaje natural, símbolos, términos y
características de varios lenguajes de programación.
![Page 24: Conceptos básicos y metodología de la programación](https://reader036.vdocuments.pub/reader036/viewer/2022062708/558c7a37d8b42ada248b4663/html5/thumbnails/24.jpg)
![Page 25: Conceptos básicos y metodología de la programación](https://reader036.vdocuments.pub/reader036/viewer/2022062708/558c7a37d8b42ada248b4663/html5/thumbnails/25.jpg)
Codificación del Programa
Escribir el algoritmo en un lenguaje de programación.• Permite ser leído y ejecutado por el ordenador.Tipos de lenguajes:• De bajo nivel (dependen de la máquina sobre la
que se ejecuta):Lenguaje Máquina (escritura en binario)• Ensambladores: (escritura simbólica)
![Page 26: Conceptos básicos y metodología de la programación](https://reader036.vdocuments.pub/reader036/viewer/2022062708/558c7a37d8b42ada248b4663/html5/thumbnails/26.jpg)
De alto nivel (no dependen de la máquina):• Imperativos:
• Estructurados:• FORTRAN• C• Pascal
• Orientado a Objetos:
• Java• C++• Ada 95
![Page 27: Conceptos básicos y metodología de la programación](https://reader036.vdocuments.pub/reader036/viewer/2022062708/558c7a37d8b42ada248b4663/html5/thumbnails/27.jpg)
Declarativos:• LISP/PROLOG
• La salida de la fase de codificación son los programas fuente (que todavía no se pueden ejecutar directamente sobre el ordenador).
• Un programa se compone de un conjunto de instrucciones que indican las operaciones elementales a ejecutar y la manera en que se encadenan.
![Page 28: Conceptos básicos y metodología de la programación](https://reader036.vdocuments.pub/reader036/viewer/2022062708/558c7a37d8b42ada248b4663/html5/thumbnails/28.jpg)
Compilación• Salvo que el programa se escriba directamente en
lenguaje máquina (muy improbable) siempre debe existir un traductor.
• La fase de compilación y enlace permite leer el programa escrito en lenguaje de alto nivel y traducirlo a lenguaje maquina.
![Page 29: Conceptos básicos y metodología de la programación](https://reader036.vdocuments.pub/reader036/viewer/2022062708/558c7a37d8b42ada248b4663/html5/thumbnails/29.jpg)
![Page 30: Conceptos básicos y metodología de la programación](https://reader036.vdocuments.pub/reader036/viewer/2022062708/558c7a37d8b42ada248b4663/html5/thumbnails/30.jpg)
Fases de un Compilador
![Page 31: Conceptos básicos y metodología de la programación](https://reader036.vdocuments.pub/reader036/viewer/2022062708/558c7a37d8b42ada248b4663/html5/thumbnails/31.jpg)
![Page 32: Conceptos básicos y metodología de la programación](https://reader036.vdocuments.pub/reader036/viewer/2022062708/558c7a37d8b42ada248b4663/html5/thumbnails/32.jpg)
Verificación/Depuración• Errores en tiempo de ejecución- División por cero, apertura de ficheros inexistentes,...• Errores lógicos (los más difíciles de detectar)- Resultados incorrectos• Optimización del algoritmo.
![Page 33: Conceptos básicos y metodología de la programación](https://reader036.vdocuments.pub/reader036/viewer/2022062708/558c7a37d8b42ada248b4663/html5/thumbnails/33.jpg)
Documentación• Se genera a lo largo de todas la fases.• Debe permitir acceder al programa a una persona
distinta al programador.• Interna:- Código de programa fuente- Comentarios• Externa:- Especificación de requisitos- Listado de programa fuente- Explicación de los algoritmos (CLARO y CONCISO)- Diagramas de flujo o pseudocódigo.- Especificación de datos, formatos de pantalla,...