Introducción a la Programación M.C. Juan Carlos Olivares Rojas.

Slides:



Advertisements
Presentaciones similares
¿Qué es Sofware? Son el conjunto de instrucciones que dirigen las actividades del Hardware Consiste en programas, módulos de soporte y archivos de datos,
Advertisements

Nuestro reto es educar al pensamiento, para que razone de acuerdo a ciertas reglas; con ello podremos ser más eficientes al momento en que ordenamos.
¿Cómo hacer para que una máquina comprenda el LN?
MÉTODOS Y ELEMENTOS DE PROGRAMACIÓN
DESARROLLO DE PROGRAMAS
Lenguajes de programación
Resolución de Problemas Algoritmos y Programación
INSTITUTO TECNOLOGICO DE MINATITLAN
Lenguajes de programación
Introducción a la Programación
GENERACIONES DE LENGUAJES DE PROGRAMACIÓN
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Programación 1 Introducción
Programas Son una serie o secuencia de instrucciones entendibles por los ordenadores que permiten la realización de las acciones o tareas para las que.
Lenguajes de programación
TÍTULO DE LA PRESENTACIÓN
METODOLOGIA DE LA PROGRAMACION
Introducción al Software
ALGORITMOS, LENGUAJES Y TECNICAS DE PROGRAMACION
TRADUCTOR DE UN PROGRAMA
Proceso de información en la computadora
Fundamentos de programación
Ingeniería de Software
Tema 1 Entorno de la programación. Conceptos elementales Algoritmo  Secuencia ordenada de pasos exentos de ambigüedad que conduce a la resolución de.
SOFTWARE DE PROGRAMACIÓN
LENGUAJE DE PROGRAMACIÓN
Tae Programación WEB Ventajas de los ordenadores ( compus pa los cuates ) Que es la Programación? Que es un lenguaje de programación? Algoritmo Que es.
 Un programa informático es un conjunto de instrucciones que una vez ejecutadas realizarán una o varias tareas en una computadora. Sin programas, estas.
Diseño de algoritmos La computadora puede realizar procesos y darnos resultados, sin que tengamos la noción exacta de las operaciones que realiza. Con.
U1. Introducción a la programación
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
FUNDAMENTOS DE PROGRAMACION
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
Metodología para la construcción de programas
Introducción a la tecnología Realizado por: Miguel Ángel Arias.
Prof. Gabriel Matonte Programación I Prof. Gabriel Matonte
 Un LENGUAJE DE PROGRAMACION es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas al cabo por maquinas como las computadoras.
Tema 6. Introducción a la programación
¿Qué son Los Lenguajes de Programación?
Introducción a los programas
Facultad de Ingeniería
Lenguajes de Programación
1 3 : METODOLOGÍA DE LA. PROGRAMACIÓN. 2 Metodología de la programación Definiciones Lenguajes de programación Traductores Ciclo de vida de los programas.
PROGRAMAS INFORMATICOS
JULIAN DARIO RAMIREZ CORRECHA PROSOF12. °QUE ES UN ALGORITMO °CLASES DE ALGORITMOS °QUE ES UN LENGUAJE DE PROGRAMACION °QUE ES UN LENGUAJE DE PROGRAMACION.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) TRADUCTORES Y ANALIZADOR LEXICOGRÁFICO.
Metodología de la programación
TEMA1:Introducción 1 1. Programación 2. Lenguajes de Programación 3. Ordenador.
TELEMATICA 1 Tecnologías de la información y de las telecomunicaciones SOFTWARE 2010.
Prof. Flor Narciso Departamento de Computación
Software El software permite comunicar al computador los problemas y hace posible que nos comunique las soluciones Los programas son el software del computador.
LENGUAJES DE PROGRAMACIÓN 8.1 BREVE HISTORIA. Traducción-Ejecución Bajo nivel o 1º Nivel Se dice que el código binario es de "bajo nivel" o "primer nivel"
Lenguajes de Programación
Elaboración de algoritmos usando lógica de programación
Lenguaje programación
III. DESARROLLO DE SISTEMAS.. Podemos definir el desarrollo de sistemas informáticos como el proceso mediante el cual el conocimiento humano y el uso.
Software.
Unidad TemáticaI. Conceptos Básicos Horas Prácticas10 Horas Teóricas8 Horas Totales18 Objetivo El alumno determinará las entradas, procesos y salidas.
Compilador Es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa.
Curso: Programación I Grado: 4to. Bachillerato Prof. Gerardo Barrientos.
Programación Java y Desarrollo de Aplicaciones Modulo 1 Arquitectura de ordenadores Tema 3 Programas.
Unidad 1 Introduccion a los programas Concepto de Programa El término programa (del latín programma, que a su vez proviene de un vocablo griego) tiene.
FUNDAMENTOS DE PROGRAMACIÓN
TEMA 4: MÉTODOS Y ELEMENTOS DE PROGRAMACIÓN
 Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.
PARCIAL 1 Introducción a los programas. Concepto de Programa  El término programa (d el latín programma, que a su vez proviene de un vocablo griego)
PARCIAL 1 Introducción a los programas. Concepto de Programa  El término programa (d el latín programma, que a su vez proviene de un vocablo griego)
Fundamentos de Programación Unidad I Conceptos Básicos.
Tema 8: Programación estructurada Introducción La importancia del conocimiento de programación es mucho mayor de lo que se piensa. Aprender a programar.
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 3 – Diseño de Programas.
Transcripción de la presentación:

Introducción a la Programación M.C. Juan Carlos Olivares Rojas

Agenda 1.1 Definición de programa y programación. 1.2 Características de un programa. 1.3 Modelos de programación. Clasificación de lenguajes de programación. 1.4 Elementos de un programa. 1.5 Programación estructurada.

1.1 Introducción 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.

Programación vs Programa 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

Código fuente

Tipos de Software 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, , 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.

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

Primeras aplicaciones 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 para IBM, y Excel para Macintosh.

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 organizadaObjetivo 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.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.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.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.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.5a Gen: Lenguajes de inteligencia artificial.

Lenguajes de programación

Los lenguajes de programación se dividen en: Lenguaje máquina.Lenguaje máquina. Lenguaje de Bajo Nivel (códigos mnemotécnicos)Lenguaje de Bajo Nivel (códigos mnemotécnicos) Lenguaje EnsambladorLenguaje Ensamblador Lenguaje de Alto Nivel.Lenguaje de Alto Nivel. Utilizan declaraciones en los programas, expresiones como palabras y expresiones algebraicas.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 máquina Son directamente inteligibles por la computadora (0 y 1) Lenguajes de alto nivel 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 de bajo nivel Sus instrucciones son mas sencillas de recordar, pero necesitan ser traducidas al lenguaje máquina. EnsambladorC++ VisualBasic Fortran Pascal

Ejemplo de instrucciones de suma y resta Lenguaje de alto nivel Lenguaje de bajo nivel (Ensamblador) Lenguaje máquina +ADD _SUB010011

Recolección de informaciónRecolección de información AnálisisAnálisis DiseñoDiseño DesarrolloDesarrollo PruebasPruebas ImplementaciónImplementación CapacitaciónCapacitación El proceso de la programación

Programación Lineal o secuencialProgramación Lineal o secuencial Programación EstructuradaProgramación Estructurada Programación ModularProgramación Modular Programación Orientada a ObjetosProgramación Orientada a Objetos El proceso de la programación

Ensamblador.Ensamblador. Preprocesador.Preprocesador. Traductor.Traductor. Interprete. Compilador.Interprete. Compilador. Traducción, Interpretación y Compilación

Traductores de lenguaje Son programas que traducen los programas fuente (escritos en lenguaje de alto nivel) a lenguaje máquina PROGRAMAFUENTETRADUCTORLENGUAJEMAQUINA

Los traductores se dividen en: 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

Paradigma orientado a objetos vs Paradigma imperativo/estructurado P.O.OP.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.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.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.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.

También debemos destacar que la depuración de código orientado a objeto es algo más compleja que la depuración de código estructurado. Esto no quiere decir que nuestro código vaya a ser peor o tener más errores, pero sí es cierto que en el caso de producirse un error deberemos recorrer todo el árbol de herencia para encontrarlo, algo que en programación estructurada no tenemos que hacer.También debemos destacar que la depuración de código orientado a objeto es algo más compleja que la depuración de código estructurado. Esto no quiere decir que nuestro código vaya a ser peor o tener más errores, pero sí es cierto que en el caso de producirse un error deberemos recorrer todo el árbol de herencia para encontrarlo, algo que en programación estructurada no tenemos que hacer. Paradigma orientado a objetos vs Paradigma imperativo/estructurado

Tarea Investigar los siguientes términos. –Clase –Objeto –Instancia –Evento –Propiedad/Atributo –Herencia –Encapsulamiento –Polimorfismo –Abstracción –Modularidad –Jerarquía –Algoritmo –Diagrama de flujo

Introducción a la programación 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.

Pasos para resolver un problema: 1.Definición del problema 2.Diseño del algoritmo para resolverlo 3.Transformación del algoritmo en un programa 4.Ejecución y validación del programa Problema Diseño del algoritmoProgramadecomputadoraEjecuciónyvalidación

¿Que es un algoritmo? 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

Características de 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

Ejemplo de algoritmo

Algoritmo para hacer una taza de té Inicio Tomar la tetera Llenarla de agua Encender el fuego Mientras no hierva el agua Esperar Introducir una bolsa de té en la tetera Vaciar el té en la taza fin

Otros ejemplos de algoritmos 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

¿Preguntas, dudas y comentarios?