La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

FASES EN EL DESARROLLO DE UN PROGRAMA

Presentaciones similares


Presentación del tema: "FASES EN EL DESARROLLO DE UN PROGRAMA"— Transcripción de la presentación:

1 FASES EN EL DESARROLLO DE UN PROGRAMA
Ing. José Antonio Poma G.

2 Fases: Resolución de un Problema
El proceso de resolucion de un problema con una computadora conduce a la escritura (codificacion) de un programa y a su ejecucion. Análisis del Problema. Diseño de Algoritmo. Transformación del Algoritmo en programa. Codificación. Compilación, enlace y ejecución. Verificación. Depuración. Documentación.

3 Análisis del Problema Que entrada se requiere?
En esta fase se debe contemplar exactamente lo que debe hacer el programa y el resultado o solucion deseado. Presisando especificaciones detalladas de entrada y salida respondiendo a las siguientes Preguntas. Que entrada se requiere? Cuál es la salida deseada? Que metodo produce la salida deseada?

4 Diseño de un Algoritmo DIAGRAMA DE FLUJO.
Es una re presentacion grafica de un algoritmo utilizando simbolos normalizados por el ANSI (American National Standards Institute). PSEUDOCODIGO Es una Herramienta de programacion en la que instrucciones se escriben en palabras similares al ingles o espanol, que facilitan tanto la escritura como la codificacion de programas. CARTA N-S (Nassi - Schneider) Es una Herramienta de programacion que permite la representacion grafica de un algoritmo. Este es el prototipo de los programas estructurados (Programacion anti-goto).

5 ALGORITMO: Definición
Es un conjunto de pasos lógicos ordenados, secuencialmente y finita, escritos de tal forma que permiten visualizar la solución de un problema determinado en un momento específico.

6 ALGORITMO: Caracteríticas
LEGIBLE CONCRETO Debe realizar las funciones u operaciones para las que fue creado. Debe estar bien estructurado para su fácil entendimiento. Debe tener terminar en algún momento Debe realizar las operaciones con un mínimo de utilización de recursos. Debe indicar un orden de realización de cada paso. Debe generar el mismo resultado siempre que se siga. Debe estar libre de errores. (Validado) EFICIENTE FINITO Debe ser... DEFINIDO NO AMBIGUO PRECISO

7 ALGORITMO: Nombre El nombre en latín de algoritmo proviene de la traducción que realizó Fibonacci, de la obra del matemático árabe Al'Khwarizmi llamada , Algoritmi de Numero Indorum.

8 ALGORITMO: Estructura Estructuras de Control
Conforma el grupo de instrucciones que realizan las operaciones con los datos. Corresponden a los datos requeridos para realizar el algoritmo (datos de entrada) y los datos que son generados (datos de salida) Determinan la organización de las instrucciones que deben ser realizadas. Datos Procesos Estructuras de Control

9 de variables y constantes
ALGORITMO: Elementos Definición de variables y constantes Las instrucciones que se van a realizar deben estar bien estructuradas y tener un orden lógico, con el fin de evitar inconsistencias en el resultado. Es necesario identificar que datos se necesitan ingresar, cuales sirven de forma auxiliar y cuales se van a generar. Proceso Estructuras de control Entrada Salida Cuerpo del algoritmo

10 ALGORITMO: Quienes pueden hacer un Algoritmo Como se hace?
Toda persona, implícitamente y diariamente diseña y realiza algoritmos, para dar solución a situaciones cotidianas de forma natural. Sin embargo el programador, diseña el algoritmo conciente de que al realizar cada paso obtendrá la solución de un problema específico.

11 ALGORITMO: Como se hace? El no programador haría lo siguiente:
Buscar la página de cines en el diario local y mirar si ve la película anunciada. Si la ve anunciada mira en qué cine la hacen y se va a verla. Si no la ve anunciada, espera a los estrenos de la semana que viene. Supongamos que deseamos ir al cine a ver la tercera película de La Guerra delas Galaxias, ¿cómo procedemos?

12 ALGORITMO: Como se hace?
El programador sin embargo, lo haría de este otro modo: Buscar la página de cines en el diario local, con fecha de hoy 1 2 Revisar la cartelera de arriba abajo y de izquierda a derecha, buscando entre los títulos existentes. 3 Si se encuentra el título La Guerra de las Galaxias, no seguir buscando. Apuntar el nombre del cine, su dirección y los horarios Si no se encuentra el título en la cartelera, esperar una semana y volver a empezar el proceso a partir del punto 1 de esta lista. 4

13 ALGORITMO: Ejemplo Encender un automóvil 1. Poner la llave.
2. Asegurarse que el cambio esté en neutro. 3. Pisar el el acelerador. 4. Girar la llave hasta la posición “arranque”. 5. Si el motor arranca antes de 6 seg, dejar la llave en la posición “encendido”. 6. Si el motor no arranca antes de 6 seg, volver al paso 3 (como máximo 5 veces). 7. Si el auto no arranca, llamar a la grúa.

14 ALGORITMO: Requisitos
Debe Definirse del problema Seguir los pasos del algoritmo debe llevarnos a la resolución del problema. Siempre que sea posible seguiremos personalmente los pasos de nuestro algoritmo para comprobar que son efectivamente correctos y conducen efectivamente a la solución esperada. Por ejemplo: Si se requiere hallar la velocidad de un automóvil, es necesario, definir si la distancia debe ser en metros, kilómetros, etc y el tiempo estará dado en segundos u horas, ya que la velocidad puede representarse en Km/h ó mts/seg. Los algoritmos se crean para resolver problemas. Es importante que junto al algoritmo, describamos claramente el problema que éste nos permite resolver. No debemos omitir el contexto de nuestros algoritmos. Es necesario establecer lo que se necesita y dónde se debe comenzar. Debe estar dentro de contexto Debe resolver el problema Debe evitar la ambigüedad

15 ALGORITMO: Técnicas de Diseño
Top Down Está técnica permite dividir el problema en pequeñas partes, a las cuales se les da solución por separado, luego se integran las soluciones para resolver el problema principal. Es una técnica de diseño descendente donde se realiza un refinamiento sucesivo, que permite darle una organización a las instrucciones, en forma de módulos o bloques. Divide y vencerás

16 ALGORITMO: Técnicas de Presentación
Es una técnica que permite representar gráficamente las operaciones y estructuras que se van a realizar, mediante una simbología estándar, con un único punto de inicio y uno de finalización. Diagrama de Flujo Pseudocódigo Inicio Instrucción 1 Instrucción 2 Si condición entonces Instrucción 3 . Instrucción n Fin Está técnica permite representar el algoritmo mediante un lenguaje más estructurado, facilitando su posterior codificación.

17 PSEUDOCÓDIGO: Cómo se Hace?
Cada instrucción que se va a realizar debe comenzar por un verbo, ejemplo: Muestre, Haga, Lea, etc. 1 2 Se debe mantener una identación o sangría sobre el margen izquierdo para identificar fácilmente el comienzo y final de las estructuras 3 La representación de las estructuras son similares u homónimas de los lenguajes de programación, ejemplo: inicio, fin, mientras que, repita_hasta, si_entonces_sino, etc.

18 PSEUDOCÓDIGO: Cómo se Hace?
Inicio : Denota el punto de inicio del algoritmo. Leer : Denota la acción de introducir datos o variables desde un dispositivo estándar de entrada. Imprimir : Representa la acción de enviar datos desde variables a un dispositivo estándar de salida. Calcular : Denota la realización de cualquier operación aritmética que genere valores para ser almacenados en una variable. Fin: Denota el punto de finalización del algoritmo.

19 Diagrama de Flujo: Simbología
Proceso Lectura Captura Inicio Fin Permite indicar la Entrada de datos desde un dispositivo estándar Permite indicar la realización de un proceso matemático, o una operación de asignación Se utiliza para indicar el punto de inicio y finalización del diagrama

20 Diagrama de Flujo: Simbología
Decisión Conectores Flujo Impresión Permiten enlazar los símbolos de un sentido único pueden ser horizontales o verticales. Estas no pueden entrecruzarse y cada una de ellas debe tener un único símbolo de partida y un único símbolo de destino. Permiten dar continuidad al diagrama si la página o área de trabajo esta llena, el círculo se utiliza como un conector dentro de la misma página, el otro símbolo se define como un conector a otra página. Permite establecer una condición relacional ó lógica que puede tomar un valor de verdadero o falso, de este símbolo se deducen 2 flujos alternativos de ejecución. Indica la realización de operaciones de salida a un dispositivo estándar (el monitor o impresor.)

21 Estructuras de Decisión (Condición)
Diagrama de Flujo: Simbología Estructuras de Decisión (Condición) Decisión Anidada Decisión Múltiple Decisión Compuesta Decisión Simple Caso condición Val1: Instrucciones Val2: Val3: Otros: Fin Caso Si condición entonces Instrucciones si no Si condición entonces Instrucciones si no Si condición entonces Instrucciones Condición Si No Condición Si No Val3 Val1 Val2 Otro Condición Si No Condición Si No

22 Diagrama de Flujo: Simbología
Estructuras de Ciclo Ciclo Para Ciclo Mientras Ciclo Hasta . Para v=valini, v=valfinal, inc Instrucciones Fin Para v: variable valini: valor inicial valfinal: valor final inc: incremento . Repita Instrucciones Hasta que condición . Mientras que condición Instrucciones Fin Mientras Condición Si No Instrucciones Instrucciones v=valini,v=valfinal, incremento Condición Si No Instrucciones

23 ALGORITMO: Fases del Diseño
Definición del problema Análisis del problema Algoritmo Selección de la mejor alternativa Diagramación Prueba de escritorio

24 ALGORITMO: Definición del Problema
Está dada por el enunciado del problema, el cuál debe ser claro y completo Es importante que conozcamos exactamente que se desea. Mientras qué esto no se comprenda, no tiene caso pasar a la siguiente etapa.

25 ALGORITMO: Análisis del Problema
Proceso Los datos de entrada que nos suministran Recursos Fórmulas Área de Trabajo Los datos de salida o resultados que se esperan Entendido el problema para resolverlo es preciso analizar

26 ALGORITMO: Selección de Alternativa
Solución ..1 Solución ..2 Solución ..3 Solución ..5 Se debe tener en cuenta el principio de que las cosas siempre se podrán hacer de una mejor forma. Lo importante es determinar cuál es la mejor alternativa Analizado el problema Posiblemente tengamos varias formas de resolverlo La que produce los resultados Esperados en el menor tiempo y al menor costo

27 ALGORITMO: Diagramacion
Dibujar gráficamente la lógica de la alternativa seleccionada Una vez que sabemos cómo resolver el problema Plasmar la solucion mediante el Pseudocódigo

28 ALGORITMO: Prueba de Escritorio
Esta prueba consiste en: Dar diferentes datos de entrada al programa seguir la secuencia indicada hasta obtener los resultados Al realizar lo anterior se puede comprobar si el algoritmo es correcto o si hay necesidad de hacer ajustes (volver al paso anterior) Se utiliza para corroborar que el algoritmo plasmado en cualquier herramienta presenta la solución al problema inicial Es Recomendable Dar diferentes datos de entrada y considerar todos los posibles casos, aún los de excepción o no esperados, para asegurar que el programa no produzca errores en ejecución cuando se presenten estos casos.

29 ALGORITMO: Conceptos Variable Constante Dato Tipo de Dato
Corresponde a un espacio de memoria que almacena un dato que dentro del programa en ejecución mantiene siempre su contenido (valor). Corresponde a un espacio de memoria que almacena un dato que dentro del programa en ejecución cambia o varía su contenido (valor).. Corresponde al tipo de valor que puede almacenarse en un espacio de memoria definido y a la cantidad de espacio que requiere para almacenar un valor. Minima parte de la información. Se refiere a los elementos que se utilizan en los algoritmos para realizar alguna operación sobre estos.

30 ALGORITMO: Tipos de Datos
Boleano cadena Real Tipos de Datos Lógicos Entero Caracter Numéricos Carácter

31 ALGORITMO: Operadores
+ - Aritméticos > < = / ^ % >= <= Relacionales != <> Lógicos No Y && O ||

32 Ejemplo: Calcular el Área de un triangulo dado sus tres lados
Para esto usaremos las variables a,b,c que representarán la medida de la longitud de cada lados del triángulo. La variable A para el area y P para su semiperimetro 𝐴= √𝑝(𝑝−𝑎)(𝑝−𝑏)(𝑝−𝑐)

33 Pseudocodigos leer a leer b leer c Si el triangulo existe calcular p
calcular A sino mostrar el mensaje “El triangulo no existe” Fin de Si

34 Diagrama de Flujo I𝒏𝒊𝒄𝒊𝒐 𝒍𝒆𝒆𝒓 𝒂, 𝒃 𝒚 𝒄 𝑬𝒙𝒊𝒔𝒕𝒆 𝒆𝒍 𝒕𝒓𝒊á𝒏𝒈𝒖𝒍𝒐? 𝒔𝒊 𝒏𝒐
𝑝= 𝑎+𝑏+𝑐 2 𝑬𝒔𝒄𝒓𝒊𝒃𝒊𝒓: "𝑵𝒐 𝒕𝒓𝒊á𝒏𝒈𝒖𝒍𝒐" 𝐴= √𝑝(𝑝−𝑎)(𝑝−𝑏)(𝑝−𝑐) 𝑬𝒔𝒄𝒓𝒊𝒃𝒊𝒓 𝑨 𝑭𝒊𝒏

35 Escritura de un Programa en C++
Codigo Fuente Compilador Codigo Objeto Objeto Archivos Enlazador Bibliotecas Otros Programa Ejecutable

36 Elementos del lenguaje
Un programa en C++ es una secuencia de caracteres que se agrupan en componentes léxicos (elementos del lenguaje) que comprenden el vocabulario básico del lenguaje. A estos componentes léxicos se les denomina “tokens” los identificadores. Las palabras reservadas. (p.claves) Las constantes Las constantes de cadena Los operadores y Los signos de puntuación.

37 Identificadores Son secuencias de caracteres: letras, digitos y subrayados (_). Que sirven para dar nombres a las variables, constantes, tipos, funciones, clases,y etiquetas de un programa. Un identificador es una secuencia arbitraria de letras y dígitos. nombres direccion Telefono El primer caracter del identificador debe ser una letra o subrayado. el_unico _fiee2012 El caracter subrayado (_) se trata como una letra.

38 Identificadores Los identificadores que comienzan con dos subrayados estan reservadas para el uso interno del compilador C++. __MSDOS__ __BORLANDC__ Las letras mayúsculas y minúsculas se tratan como caracteres diferentes. uni UNI unac2012 Un identificador definido por el usuario no puede tener el mismo nombre de una palabra reservada.

39 Palabras Reservadas Son identificadores predefinidos que tienen un significado especial para el compilador C++. asn continue float new signed try auto default for operator sizeof typedef break delete friend private static union case do goto protected struct unsigned catch double if public switch virtual char else include register template void class enum int return this volatile const extern long short throw while

40 Constantes Una constante es un valor que no cambia en un programa durante su ejecucion, este es fijado por el compilador. Constante literal Constantes definidas Constantes enumeradas Constantes declaradas.

41 Constantes literales Se clasifican el 4 grupos: Constantes enteras.
123// formato decimal 0264//formato octal 0xBE3F//formato hexadecimal 1132U// constante entera unsigned int (U) 1302//constante entera de tipo long (L) Constantes reales 1.24E6 notación cientifica del numero 1.24 x 𝟏𝟎 𝟔 Constantes de un solo caracter ‘M’ ‘E’ ‘\n’ ‘\r’ Constantes de caracteres (cadena). “FIEE 2012” tiene 9 caracteres. “unac 2012” Constante literal Constantes definidas Constantes enumeradas Constantes declaradas.

42 Constantes Definidas (simbólicas)
Son identificadores asociados a una cadena o valor mediante directivas del procesador #define. A estos identificadores se les denomina macros. La forma general de la directiva es: #define CIERTO 1 #define FALSO 0 #define pi El compilador C++ sustituye los valores 1, 0 y cuando encuentre las macros CIERTO, FALSO y pi respectivamente cout<< “El valor de pi es” <<pi; Mostrara en la pantalla El valor de pi es #define nombre_macro valor

43 Constantes Enumeradas
Son un conjunto de constantes enteras enumeradas en orden ascendente (0,1,…) asociadas cada una a un identificador en el orden que son puestas, con la finalidad de crear listas de elemtos afines. El siguiente fragmento de codigo define una enumeracion llamada dias y declara ultimodia del tipo dias. enum nombre_enumeracion{lista_de_enumeracion} lista_de_variables enum dias{lunes,martes,miercoles,jueves,viernes,sabado,domingo}; //definicion del tipo enumerado dias dias ultimodia; //declaracion de la variable ultimodia del tipo dias ultimodia = domingo; //ultimodia toma el valor entero 6

44 Constantes Declaradas Const volatile tipo nombre=valor
Tipo const Permiten especificar valores que no pueden ser cambiados durante la ejecucion del programa. Tipo volatile Permiten especificar un valor que puede cambiar por medios no explicitamente especificados por el programa, es decir por ninguna sentencia. Su uso se da cuando alguna optimizacion puede cambiar el orden de evaluacion de una expresion durante el proceso de compilacion. const tipo nombre=valor const int Semana=7; const char curso[]=“Lenguaje de Programación C++” const float e= ; Const volatile tipo nombre=valor

45 Ejemplo #include <iostream> int main(){ using namespace std;
cout<< "Hola Uni..." cout<< endl; cout<< "Bienvenidos"<< endl; system ("pause") return 0; }


Descargar ppt "FASES EN EL DESARROLLO DE UN PROGRAMA"

Presentaciones similares


Anuncios Google