INTRODUCCIÓN A LA PROGRAMACIÓN
Tec. sistemasAprendices Misión Bogotá
PROG APLICACIÓN
HWEl Sistema Informático y el Software
Alto Nivel
Bajo nivel
US
UA
RIO
S
• Administrar• ?
Director de sistemas o Informática
Elemento Humano (Human WARE) Personal Informático
Auxiliares de Sistemas
Software
Lenguaje
Elementos del lenguaje
es el conjunto de programas y procedimientos necesarios para hacer posible la realización de una tarea específica, en contraposición a los componentes físicos del sistema (hardware)
designa todas las comunicaciones animales, basadas en la interpretación, incluyendo el lenguaje humano
son los siguientes: ◦ identificadores: los nombres que se dan a las
variables ◦ Tipos de datos ◦ Palabras reservadas: las palabras que utiliza el
propio lenguaje ◦ Sentencias ◦ Bloques de código ◦ Comentarios ◦ Expresiones ◦ Operadores
1.1 Introducción
Código Fuente
Lenguaje de programación
Aplicación
es un conjunto de líneas que conforman un bloque de texto, escrito según las reglas sintácticas de algún lenguaje de programación destinado a ser legible por humanos.
es una técnica estándar de comunicación que permite expresar las instrucciones que han de ser ejecutadas en una computadora. Consiste en un conjunto de reglas sintácticas y semánticas que definen un lenguaje informático.
es el término que se utiliza para designar un programa que se ejecuta en la computadora.
1.1 Introducción
Programa: es la unión de una secuencia de instrucciones que una computadora puede interpretar y ejecutar y una (o varias) estructuras de datos que almacena la información independiente de las instrucciones que dicha secuencia de instrucciones maneja.
Programación : Es la proyección, planificación o ejecución de 1 tarea o proceso. Para otros autores, es describir lo que debe hacer la computadora para resolver 1 problema concreto utilizando 1 determinado lenguaje de programación
Programación vs Programa
Código fuente
Software de traducción: Con el que los programadores pueden crear otro software. Un compilador y un intérprete traducen un programa fuente a un programa objeto.
Software de uso general: Ofrece la estructura para un gran número de aplicaciones empresariales, científicas y personales. La mayoría del software de este tipo se vende como paquete, es decir, con software y documentación orientada al usuario. La creación de la aplicación depende del usuario, del uso que le dé.
Tipos de Software
Software de aplicación: Sirve como herramienta para elevar la productividad de los usuarios en la resolución de problemas. Está diseñado y escrito para realizar tareas específicas personales, empresariales o científicas. El software de este tipo procesa datos y genera información. Las aplicaciones se clasifican en: Procesador de Palabras, Planillas de Cálculo, Bases de Datos, Gráficos, Presentaciones, Comunicaciones, Buscador, Email, Administración de Proyectos.
Software del sistema: Coordina las operaciones de hardware y lleva a cabo las tareas ocultas que el usuario rara vez observa. Controla o respalda a los otros tipos de software. Dentro de este tipo de soft se encuentran
Tipos de Software
Software multiuso: Los paquetes de software integrado cuentan con varias aplicaciones diseñadas para trabajar en conjunto; estos paquetes suelen incluir como mínimo, 5 tipos de aplicaciones: procesador de textos, base de datos, planilla de cálculo, gráficos y telecomunicaciones.
Software vertical: Aplicaciones diseñadas específicamente para una empresa o industria particular. Son mucho más costosas que las aplicaciones de mercado masivo.
Software a medida: Es el que se programa específicamente para determinados clientes.
Tipos de Software
1.2 Características de un programa
Las características que debe tener un programa son:
◦ Legibilidad◦ Fiabilidad◦ Portabilidad◦ Modificabilidad◦ Eficiencia
1.2 Características de un programa
P.E. Las características que tiene un programa en C son:
◦ Tamaño pequeño. ◦ Uso extensivo de llamadas a funciones. ◦ Comandos breves (poco tecleo). ◦ Lenguaje estructurado. ◦ Programación de bajo nivel (nivel bit) ◦ Implementación de apuntadores - uso extensivo
de apuntadores para la memoria, arreglos, estructuras y funciones
“Escribir un programa es establecer el comportamiento de una máquina mediante una serie de algoritmos que definirán su funcionamiento. En el estado actual de la ciencia este algoritmo se plasma por escrito utilizando un lenguaje artificial comprensible por el humano-programador”.
Regla de oro de la programación: !! Nunca está terminado del todo ¡¡
Adolfo J. Millán
Primera Generación Aplicaciones balísticas del Ejército de EU.
Segunda Generación Sistemas de reservación en líneas aéreas, control de tránsito aéreo, y simulaciones para uso general. Las empresas comenzaron a aplicar las computadoras a tareas de almacenamiento de registros, como manejo de inventaros, nómina y contabilidad.
Tercera Generación Los sistemas de la segunda generación eran bastantes especializados. Se les diseñaba para procesar aplicaciones tanto científicas como no científicas, pero no se procuraba que funcionaran adecuadamente en los dos ambientes.
Cuarta Generación En el otoño de 1978 Personal Software presenta VisiCalc, hoja de cálculo que facilitó el análisis numérico en el escritorio y permitió a cualquier persona escribir lo que equivalía a programas sin tener que aprender un lenguaje de programación complejo. A medida que aparecía una nueva computadora, aparecía un nuevo programa clónico de VisiCalc por ejemplo, SuperCalc para las computadoras CP/M, Lotus 1-2-3 para IBM, y Excel para Macintosh.
Primeras aplicaciones
Aplicaciones Actuales La tendencia actual
en el software de aplicaciones es la integración. Los proveedores de software se ven forzados a ofrecer paquetes completos y bien integrados para sobrevivir.
Lenguajes de programación• Objetivo de un leng. de programación: Trabajar de manera
organizada
• 1a Gen: Computadoras se programaban en código binario. Cada modelo tiene su propio código, por esa razón se llama lenguaje de máquina.
• 2a Gen: Los lenguajes simbólicos, simplifican la escritura de las instrucciones y las hacen más legibles.
• 3a Gen: Los lenguajes de alto nivel sustituyen las instrucciones simbólicas por códigos independientes de la máquina, parecidas al lenguaje humano o al de las Matemáticas.
• 4a Gen: Surge la programación orientada a objetos. Están orientados a resultados e incluyen lenguajes de interrogatorio o "query", con bases de datos. Los programas son mucho más fáciles de escribir.
• 5a Gen: Lenguajes de inteligencia artificial.
Lenguajes de programación
Los lenguajes de programación se dividen en:
• Lenguaje máquina.
• Lenguaje de Bajo Nivel (códigos mnemotécnicos)
• Lenguaje Ensamblador
• Lenguaje de Alto Nivel.
• Utilizan declaraciones en los programas, expresiones como palabras y expresiones algebraicas.
Lenguajes de programación
Clasificación de los Lenguajes de Programación
Lenguajes máquina
Son directamente
inteligibles por la
computadora (0 y 1)
Lenguajes de alto nivel
Sus instrucciones son muy fáciles de
recordar pero necesitan
traducirse a lenguaje máquina por medio de un
compilador o intérprete.
Lenguajes de bajo nivel
Sus instrucciones
son mas sencillas de
recordar, pero necesitan ser traducidas al
lenguaje máquina.Ensamblador C++
VisualBasic
Fortran
Pascal
Ejemplo de instrucciones de suma y resta
Lenguaje de alto nivel
Lenguaje de bajo nivel
(Ensamblador)
Lenguaje máquina
+ ADD 100101
_ SUB 010011
• Recolección de información
• Análisis
• Diseño
• Desarrollo
• Pruebas
• Implementación
• Capacitación
El proceso de la programación
• Programación Lineal o secuencial
• Programación Estructurada
• Programación Modular
• Programación Orientada a Objetos
El proceso de la programación
• Ensamblador.• Preprocesador.• Traductor.
• Interprete. Compilador.
Traducción, Interpretación y Compilación
Son programas que traducen los programas fuente (escritos en lenguaje de alto nivel) a lenguaje máquina
Traductores de lenguaje
PROGRAMAFUENTE TRADUCTOR
LENGUAJEMAQUINA
Compiladores. Traduce los programas fuente (escritos en lenguaje de alto nivel) a lenguaje máquina. Ej. C y FORTRAN
Intérpretes. Es un traductor que toma un programa fuente, lo traduce y a continuación lo ejecuta. Ej. BASIC, Smalltalk
Los traductores se dividen en:
Paradigma orientado a objetos vs Paradigma imperativo/estructurado• P.O.O
• Un método de implementación en el que los programas son organizados como colecciones cooperativas de objetos, cada uno de los cuales representa una instancia de alguna clase, y cuyas clases son miembros de jerarquías de clases unidas a través de una relación de herencia.
• P.E.
• Este tipo de programación se basa en la modularidad de los programas. Esto quiere decir que los programas se dividen en módulos más pequeños, y cada uno realiza una tarea específica. Así, la complejidad de un problema determinado también se ve reducida al dividir las tareas, que, en su conjunto, permiten la resolución de éste.
Investigar los siguientes términos.◦ Objeto◦ Instancia◦ Evento◦ Propiedad/Atributo◦ Abstracción◦ Jerarquía◦ Algoritmo◦ Diagrama de flujo
Tarea
La principal razón para que las personas aprendan
lenguajes de programación es utilizar la
computadora como una herramienta para la
resolución de problemas.
Introducción a la programación
1. Definición del problema2. Diseño del algoritmo para resolverlo3. Transformación del algoritmo en un programa4. Ejecución y validación del programa
Pasos para resolver un problema:
ProblemaDiseño del algoritmo
Programa de
computadora
Ejecución y
validación
Solu
ción
Deductivo
•Particular•General
Inductivo
•General•Particular
Métodos de Solución de problemas
Un algoritmo es la secuencia ordenada de pasos que conducen a la solución de un problema dado, y puede ser expresado en lenguaje natural, por ejemplo el castellano
¿Que es un algoritmo?
Preciso. Indicar el orden de realización de cada paso
Definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez.
Finito. Debe terminar el algún momento
Características de un algoritmo
Ejemplo de algoritmo
InicioTomar la teteraLlenarla de aguaEncender el fuegoMientras no hierva el agua
Esperar
Introducir una bolsa de té en la teteraVaciar el té en la taza
fin
Algoritmo para hacer una taza de té
Las instrucciones o serie de pasos que sigues para grabar un número telefónico en tu celular.
Las instrucciones que te dan para resolver un examen.
Los pasos que sigues para prender el carbón para una carne asada
El procedimiento que sigues para inscribirte EL procedimiento para obtener tu pasaporte La receta que sigues para preparar un pastel Los pasos para invitar a alguien al cine
Otros ejemplos de algoritmos
¿Preguntas, dudas y comentarios?