Programación 1 (01y 05) Prof. Flor Narciso

Slides:



Advertisements
Presentaciones similares
Resolución de Problemas Algoritmos y Programación
Advertisements

Secuencia finita, ordenada y lógica de instrucciones (ó pasos), los cuales permiten realizar una ó varias tareas.
Unidad 1 DISEÑO DE ALGORITMOS ING. Nelwi Baez. MSC
Unidad 1 Conceptos básicos de computación
DESARROLLO DE PROGRAMAS
Resolución de Problemas Algoritmos y Programación
Ing. Esp. Ricardo Cujar. El computador: es una máquina que permite hacer tareas aritmético y lógicas de una manera fácil, consta de software y hardware.
INFORMÁTICA II.
Introducción a la Programación
Técnico en programación de Software
Ciclo de desarrollo del software
INFORMACIÓN AUTOMÁTICA Ciencia que estudia el tratamiento
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE INGENIERIA DIVISIÓN DE INGENIERÍA ELÉCTRICA COMPUTACIÓN PARA INGENIEROS NOTA IMPORTANTE: Para complementar.
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.
Metodología para la Construcción de Programas
Desarrollo Orientado a Objetos con UML
Introducción a la Computación
IINTRODUCCION A LA CIENCIA DE LA COMPUTACION Y A LA PROGRAMACION
Tema 6. Conceptos básicos de programación
Programación 1 (01) Prof. Domingo Hernández Departamento de Computación Grupo de Ingeniería de Datos y Conocimiento (GIDyC) Escuela de Ingeniería.
Conceptos Fundamentales
INTRODUCCIÓN A LA COMPUTACIÓN 12va Semana – 19va Sesión Miércoles 18 de Mayo del 2005 Juan José Montero Román
Fundamentos de Programación
Proceso de información en la computadora
FORMULACIÓN DE ALGORITMOS
ALGORITMOS.
Diseño de diagramación Diagrama: es una representación gráfica del flujo información de y el proceso de ejecución del programa. Plateo del problema en.
Fundamentos de programación
LENGUAJES DE PROGRAMACIÓN
Programación I Universidad Nacional de Luján
Ingenieria de software
LENGUAJE DE PROGRAMACIÓN
Tema 6. Conceptos básicos de programación (Repaso) Prof. María Alejandra Quintero Informática Año 2013.
Fundamentos de programación Organización de una computadora.
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
Introducción a la Ingeniería de Sistemas
Metodología para solución de problemas
Unidad 1. PROGRAMACION ALGORITMICA
FUNDAMENTOS DE PROGRAMACION
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
Metodología para la construcción de programas
ALGORITMOS La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió.
Ing. Rodolfo Junior Miranda Saldaña CIP: Chimbote- 2013
Unidad 1 Introducción a los Programas Concepto de Programa El término programa (del latín programma, que a su vez proviene de un vocablo griego) tiene.
ESCUELA NORMAL “PROF. DARÍO RODRÍGUEZ CRUZ” Licenciatura en educación preescolar Alumnas: *Mayra * Monserrat * Idalia *Cinthia Curso: las TIC en la educación.
Prof. Flor Narciso Departamento de Computación
ALGORITMO QUE ES ??.
Elaboración de algoritmos usando lógica de programación
Software.
Actividades en el Proceso de desarrollo de Software
TEMA: DISEÑO DE LA SOLUCION INTREGRANTES DE EQUIPO: ERIKA CRUZ MARTINEZ RODOLFO LOPEZ ANOTA LUIS ARMANDO LIÑA QUECHA JOSE FRANCISCO MEZO VARELA LUIS ENRIQUE.
Desarrollo de lógica algorítmica.
Simón Esneider Herrera Álvarez Media Técnica Casd 10-2
Algoritmos Programación
* Cuando nos permite desarrollar un programa que necesitamos para tomar un conjunto de buenas prácticas para hacer eso. Esto se debe a que podemos ahorrar.
Ciclo de desarrollo del software
TIPOS DE SOFTWARE Cintia Verónica Díaz Díaz 1° “A” TIC’s.
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.
PRINCIPIOS DE PROGRAMACION
FUNDAMENTOS DE PROGRAMACIÓN
TEMA 4: MÉTODOS Y ELEMENTOS DE PROGRAMACIÓN
PROGRAMACIÓN Grupo de Modelamiento de Sistemas
6.6 Administración de defectos
Especificación del Problema Partimos del hecho de un programador no puede resolver un problema que no entiende. Por esta razón, la primera etapa en todo.
David A Salamanca Díaz. DEFINICIÓN  Se define como una serie de pasos organizados que describen el proceso que se debe seguir, para dar solución a un.
Fundamentos de Programación Unidad I Conceptos Básicos.
Bachillerato Ingeniería en Informática Fundamentos de Computación.
CICLO DE VIDA DE UN SOFTWARE. Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados, que forman parte de.
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:

Programación 1 (01y 05) Prof. Flor Narciso (fnarciso@ula Programación 1 (01y 05) Prof. Flor Narciso (fnarciso@ula.ve) Domingo Hernández Departamento de Computación Grupo de Ingeniería de Datos y Conocimiento (GIDyC) Escuela de Ingeniería de Sistemas Facultad de Ingeniería

Programación 1 - Semestre B-2010 PARA MAÑANA: Resumen Curricular ¿Sabe usted hacer un CV? Completar la encuesta de reclutamiento de personal (la que les voy a repartir al final de esta clase) Carta de Intención: No piense en qué puede aprender o qué le puede aportar la profesora a usted en este curso. Trate mas bien de pensar en: ¿Qué puede aportar USTED a la compañía para la que trabajará? Entregar en la Secretaría del Departamento de Computación de EISULA (Srta. Rosmary) Prof. Flor Narciso – Domingo Hernàndez Programación 1 - Semestre B-2010

Unidad III: Metodología de desarrollo de programas Objetivo: Resolver problemas mediante el uso de una computadora Actualmente se cuenta con distintas metodologías para el desarrollo de aplicaciones de software: Espiral, Watch, RUP, EUP, Incremental, Cascada, Cascada V, etc. Prof. Flor Narciso – Domingo Hernàndez Programación 1 Semestre A-2009 4

Metodología de desarrollo de programas Pasos de la metodología a utilizar en el curso Análisis del problema Diseño del algoritmo Codificación “Corrida en frío” del programa (manual) Depuración del programa Ejecución del programa (computadora) Comprobación del programa Puesta en operación del programa Mantenimiento del programa Prof. Flor Narciso – Domingo Hernàndez Programación 1 Semestre A-2009 5

Metodología de desarrollo de programas: Análisis Análisis del problema (Análisis E-P-S) Identificar y comprender el problema Describir los datos de entrada (E): Información necesaria para la solución del problema ¿ Qué datos son de entrada  ¿ Cuántos datos se introducirán  ¿ Cuáles datos de entrada son válidos  ¿ Cuál es el tipo de los datos  Prof. Flor Narciso – Domingo Hernàndez Programación 1 Semestre A-2009 6

Metodología de desarrollo de programas: Análisis Ejemplo Se patea una pelota con una fuerza de 1,2 N y adquiere una aceleraciónde 3,0 m/s2, ¿cuál es la masa de la pelota? Datos de entrada Fuerza (F  R) = 1,2 N Aceleración (a  R) = 3,0 m/s2 1 N = 1 Kg . 1 m/s2 Prof. Flor Narciso – Domingo Hernàndez Programación 1 Semestre A-2009 7

Metodología de desarrollo de programas: Análisis Análisis del problema (Análisis E-P-S) Describir el proceso que permite resolver el problema (P): Operaciones o cálculos necesarios para encontrar la solución del problema ¿ Qué tipo de ecuaciones  ¿ Cuántas ecuaciones  ¿ Cuáles ecuaciones  Prof. Flor Narciso – Domingo Hernàndez Programación 1 Semestre A-2009 8

Metodología de desarrollo de programas: Análisis Ejemplo Se patea una pelota con una fuerza de 1,2 N y adquiere una aceleraciónde 3,0 m/s2, ¿cuál es la masa de la pelota? Proceso Datos de entrada Fuerza (F  R) = 1,2 N Aceleración (a R) = 3 m/s2 1 N = 1 Kg . 1 m/s2 F = m . a m = F/a Prof. Flor Narciso – Domingo Hernàndez Programación 1 Semestre A-2009 9

Metodología de desarrollo de programas: Análisis Análisis del problema (Análisis E-P-S) Describir los resultados esperados (S): Resultados finales de los cálculos ¿ Cuáles son los datos de salida  ¿ Cuántos datos de salida se producirán  ¿ Qué precisión tendrán los resultados  ¿ Se debe imprimir un encabezado  Prof. Flor Narciso Programación 1 Semestre A-2009 10

Metodología de desarrollo de programas: Análisis Ejemplo Se patea una pelota con una fuerza de 1,2 N y adquiere una aceleraciónde 3 m/s2, ¿cuál es la masa de la pelota? Datos de entrada Proceso Salidas Fuerza (F  R) = 1,2 N Aceleración (a R) = 3 m/s2 1 N = 1 Kg . 1 m/s2 F = m . a m = F/a masa (m R) Prof. Flor Narciso Programación 1 Semestre A-2009 11

Metodología de desarrollo de programas: Análisis ¿ Qué le hacemos a los datos ? ¿ En qué orden (cuándo se lo hacemos) ? ¿ Cuántas veces ? F = m . a m = F/a masa (m R) Programa Datos (Entrada) Información (Salida) ¿ Qué datos tenemos ? ¿ Cómo les llamamos ? ¿ Cómo son (tipo y/o estructura) ? ¿ Qué se puede hacer con ellos ? Fuerza (F  R) = 1,2 N Aceleración (a R) = 3 m/s2 1 N = 1 Kg . 1 m/s2 Prof. Flor Narciso Programación 1 Semestre A-2009 12

Metodología de Desarrollo de Programas: Análisis Análisis del problema (Análisis E-P-S) Entradas: Fuerza (F  R) Aceleración (a R) Prof. Flor Narciso Programación 1 Semestre A-2009 13

Metodología de desarrollo de programas: Análisis Análisis del problema (Análisis E-P-S) Proceso: Calcular la masa de la pelota (Qué??) (Cómo????) Prof. Flor Narciso Programación 1 Semestre A-2009 14

Metodología de desarrollo de programas: Análisis Análisis del problema (Análisis E-P-S) Salidas: Masa de la pelota (m R) Prof. Flor Narciso – Domingo Hernàndez Programación 1 Semestre A-2009 15

Metodología de desarrollo de programas: Diseño Diseño del algoritmo: Descripción de una secuencia finita y ordenada de pasos – sin ambigüedades – que conducen a la solución de un problema dado Herramientas de diseño Diagramas de flujos (programaciónestructurada) Círculos y canales de mensaje (programación orientada porobjetos) Pseudo código (algoritmo) Trazas personales Fórmulas matemáticas Todo aquello que le ayude a representar la solución del problema Prof. Flor Narciso – Domingo Hernàndez Programación 1 Semestre A-2009 16

Metodología de desarrollo de programas: Diseño Ejemplo: Notación formal Algoritmo calcularMasa 0. Inicio 1. Leer (F) 2. Leer(a) 3.m= F/a 4. Escribir (m) 5. Fin Entradas Proceso Salida Prof. Flor Narciso – Domingo Hernàndez Programación 1 Semestre A-2009 17

Metodología de desarrollo de programas: Diseño Un algoritmo debe ser precisoe indicar el orden de realización de cada paso Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento; o sea, debe tener un número finito de pasos Prof. Flor Narciso – Domingo Hernàndez Programación 1 Semestre A-2009 18

Metodología de desarrollo de programas: Codificación Codificación: Traducción del algoritmo a un programa escrito en un lenguaje de programación adecuado (código fuente) Los diferentes pasos de un algoritmo se expresan en los programas como sentencias o proposiciones Para escribir el programa en la computadora se utiliza un software llamado editor de texto Lenguaje de programación C Prof. Flor Narciso – Domingo Hernàndez Programación 1 Semestre A-2009 19

Metodología de desarrollo de programas: Codificación Ejemplo 0. Inicio 1. Leer (F) 2. Leer (a) 3. m = F/a 4. Escribir (m) 5. Fin #include<stdio.h> intmain() { float F, a, m; scanf(“%f”, &F); scanf(“%f”, &a); m = F/a; printf(“m = %f\n”, m); return 0; } Prof. Flor Narciso – Domingo Hernàndez Programación 1 Semestre A-2009 20

Metodología de desarrollo de programas: Codificación #include<stdio.h> intmain() { float F, a, m; Entradas Fuerza (F  R) Aceleración (a  R) Salida masa (m  R) Prof. Flor Narciso – Domingo Hernàndez Programación 1 Semestre A-2009 21

Metodología de desarrollo de programas: Codificación #include<stdio.h> intmain() { float F, a, m; scanf("%f", &F); scanf("%f", &a); F = 1.2 a = 3.0 Prof. Flor Narciso – Domingo Hernàndez Programación 1 Semestre A-2009 22

Metodología de desarrollo de programas: Codificación #include<stdio.h> intmain() { float F, a, m; scanf("%f", &F); scanf("%f", &a); m = F/a; m = 1.2/3.0 = 0.4 Prof. Flor Narciso – Domingo Hernàndez Programación 1 Semestre A-2009 23

Metodología de desarrollo de programas: Codificación #include<stdio.h> intmain() { float F, a, m; scanf("%f", &F); scanf("%f", &a); m = F/a; printf("\nm = %f\n\n", m); return 0; } m = 0.4 Prof. Flor Narciso – Domingo Hernàndez Programación 1 Semestre A-2009 24

Metodología de desarrollo de programas: Corrida en frío Corrida en frío del programa:Prueba manual de la correctitud del programa El programador escoge un conjunto de datos de entrada, ejecutando manualmente cada sentencia del programa fuente y verificando que los resultados obtenidos son los esperados de acuerdo al conjunto de datos de entrada El programador debe realizar este proceso utilizando conjuntos de datos que permitan ejecutar todos los “caminos” posibles del programa Prof. Flor Narciso – Domingo Hernàndez Programación 1 Semestre A-2009 25

Metodología de desarrollo de programas: Corrida en frío Ejemplo F a m 1.2 3.0 0.4 2.0 4.0 0.5 1.5 0.75 0.0 infinito Prof. Flor Narciso – Domingo Hernàndez Programación 1 Semestre A-2009 26

Metodología de desarrollo de programas: Depuración Depuración del programa: Identificación y eliminación de errores una vez que el programa ha sido compilado Errores de sintaxis: Violan las reglas del lenguaje de programación. Un buen compilador localizará e identificará la mayoría de estos automáticamente Errores lógicos: Equivocaciones que causan que el programa se ejecute de forma inesperada o incorrecta Prof. Flor Narciso – Domingo Hernàndez Programación 1 Semestre A-2009 27

Metodología de desarrollo de programas: Ejecución Ejecución del programa: Ejecución del código ejecutable (código en lenguaje de máquina) del programa bajo el control del CPU Una vez editado, el programa fuente es traducidopor el compiladora un programa escrito en lenguaje de máquina (código objeto), siempre y cuando el programa no tenga errores de sintaxis (errores gramaticales) Ejemplo: Error de sintaxis if (a <b // Falta un paréntesis que cierra Prof. Flor Narciso – Domingo Hernàndez Programación 1 Semestre A-2009 28

Metodología de desarrollo de programas: Ejecución Si el programa fuente tiene errores de sintaxis no se genera código objeto Los errores deben ser corregidos usando el editor y luego el programa fuente se debe volver a compilar Cuando el programa está sintácticamente correcto, el código objeto es encadenado con las funciones de librería (otros programas) requeridas usando un software llamado encadenador Prof. Flor Narciso – Domingo Hernàndez Programación 1 Semestre A-2009 29

Metodología de desarrollo de programas: Ejecución El código objeto compilado y encadenado es cargado en la memoria principal para su ejecución por un software llamado cargador El código objeto compilado, enlazado y cargado (código ejecutable) es ejecutadohaciendo uso de los datos de entrada Prof. Flor Narciso – Domingo Hernàndez Programación 1 Semestre A-2009 30

Metodología de desarrollo de programas: Comprobación Comprobación del programa: Verificación de que los resultados obtenidos después de la ejecución del programa corresponden con los resultados esperados Prof. Flor Narciso – Domingo Hernàndez Programación 1 Semestre A-2009 31

Metodología de desarrollo de programas: Comprobación Comprobar que el programa realiza las tareas para las cuales ha sido diseñado y produce el resultado correcto y esperado Si el programa tiene errores de lógica (errores en el método de solución por lo que las salidas obtenidas no corresponden con las salidas esperadas), éstos deben ser corregidos en el programa fuente usando el editor, el cual se debe volver a compilar Ejemplo b = 0; c = 5/b; // División entre cero Prof. Flor Narciso – Domingo Hernàndez Programación 1 Semestre A-2009 32

Metodología de desarrollo de programas: Ejecución Funciones de librería Programa fuente Programa fuente Editor Compilador Encadenador Código objeto Código objeto SI Errores de sintaxis NO Cargador Corregir errores en el programa fuente Código ejecutable Resultados SI Errores de lógica Ejecución NO Solución del problema Prof. Flor Narciso – Domingo Hernàndez 33

Mantenimiento del programa: Metodología de desarrollo de programas: Puesta en operación y mantenimiento Puesta en operación: Instalación del hardware y software, capacitación, etc.. Mantenimiento del programa: Comienza tan pronto como el producto es puesto en operación Permite corregir defectos menores, añadir una mayor funcionalidad, ya sea en respuesta a las demandas del mercado o a las peticiones del usuario Prof. Flor Narciso – Domingo Hernàndez Programación 1 Semestre A-2009 34