PROYECTO METODOLOGIA DENYS.pptx

50
UNIVERDIDA D U.A.L DENIS GUT IERREZ BERNAL METODOLOGIA DE LA PROGRAMACION

Transcript of PROYECTO METODOLOGIA DENYS.pptx

Page 1: PROYECTO  METODOLOGIA DENYS.pptx

UNIVERDIDAD

UAL

DENIS GUTIERREZ BERNAL

METODOLOGIA DE LA

PROGRAMACION

TEMARIO

AL FINALIZAR EL CURSO SE SABRA EMPLEAR LA PROGRAMACION A LAS COMPUTADORAS

1- INTRODUCCION A LA PROGRAMACIOgraveN DE LAS COMPUTADORAS 11 Ciclo de vida de una aplicacioacuten informaacutetica 111 Fases del ciclo de vida

12 Errores 121 Errores de compilacioacuten

122 Errores de ejecucioacuten

123 Errores de loacutegica

13 Calidad de los programas 131 Legibilidad 132 Fiabilidad 133 Portabilidad

133 Portabilidad 134 Eficacia

14 Metodologiacutea de la programacioacuten

141 Programacioacuten modular142 Programacioacuten estructurada 143 Programacioacuten orientada a objetiva

15 Documentacioacuten de programas 151 Documentacioacuten interna 152 Documentacioacuten externa

16 Objetivos de un programa 17 Identificadores

18 Tipos de datos 181 Datos elementales 1811 Numeacutericos 1812 Caraacutecter 1813 Boleados

182 Estructurados 1821 Matrices o arreglos 1822 Listas 1823 Arboles 19 Constantes 110 Variables 111 Expresiones 1111 Tipos de expresiones 1112 Operadores 1113 Tabla de verdad de los operadores loacutegicos 1114 Orden de evaluacioacuten de los operadores

2 ALGORITMOS 21 Definicioacuten 22 Caracteriacutesticas 2311 Reglas 2312 Ventajas e inconvenientes 2313 Ordinogramas 2314 Diagramas estructurales 2315 Diagramas de NS (NassiShneiderman)

232 Textual (pseudocoacutedigo) 2321 Reglas generales 23322 Ventajas e inconvenientes 2323 Palabras convencionales reservadas o clave

3 METODOLOGIgraveA DE LA PROGRAMACIOgraveN 31 Estructura general de un programa A) Partes principales de un programa a) Salidas de resultados requeridos b) Proceso de datos para obtener los resultados c) Entrada de datos y procesar d) Control de errores B) Clasificacioacuten de las instrucciones a) De declaracioacuten b) Primitivas c) De control d) Compuestas e) Comentarios f) Especiales C) Variables auxiliares de un programa a) Contadores b) acumuladores

c) Interruptores o conmutadores d) Temporales e) De paso de valores D) Subprogramas a) Subrutinasprocedimientos b) Funciones 32 Procedimientos y requerimientos generales para el desarrollo de un programa A) Faces de proceso a) Resultados y formato solicitado B) Anaacutelisis del problema a) Datos requeridos asiacute como formatos y medios de acceso de datos C) Desarrollo de la solucioacuten a) Desarrollo de algoritmos b) Pruebas de escritorio c) Codificacioacuten y documentacioacuten interna d) Compilacioacuten e) Pruebas en el compilador D) Documentacioacuten externa 33 Programacioacuten modular A) El concepto del modulo

B) Requisitos de la programacioacuten modular C) Clasificacioacuten de los moacutedulos D) Teacutecnicas de programacioacuten modular a) Disentildeos descendente (top Down) b) Ensamble ascendente (bottom up) c) Refinamiento de pasos sucesivos (step wise refinement) E) Criterios de modularizaciograven 34 Programacioacuten estructurada A) Conceptos baacutesicos B) Estructuras baacutesicas de control C) Recursos abstractos D) Meacutetodos de programacioacuten estructurada Descripcioacuten geneacuterica a) Bertini b) Tabourier c) Chapiacuten (NassiShneiderman) E) Meacutetodo de Jackson a) Introduccioacuten b) Fundamentos baacutesicos entidades c) Fases de meacutetodo d) Errores e invalidez e) Collating f) Back tracking

g) Colisioacuten de estructuras h) Inversioacuten de programas F) Meacutetodo de Warnier a) Introduccioacuten b) Estructuras baacutesicas c) Fases del meacutetodo d) Estudio de datos de salida e) Estudio de datos de entrada f) Cuadro de descomposicioacuten de secuencia g) Cuadro de secuencias de Warnier h) Lista de introduccioacuten y asignacioacuten de las mismas DIFERENCIAS

Es un paradigma de la programacioacuten que proporciona lineamientos para desarrollar un proyecto de sistema de informacioacuten

iquest Q u eacute e s e l C i c l o d e V i d a d e l o s S i s t e m a s d e I n f o r m a c i oacute n

INTRODUCCION A LA PROGRAMACION DE LAS COMPUTADORAS

FASE 1

FASE 2

FASE 3

FASE N

FASE N + 1

Desarro

llo e im

plementacioacuten

Las fases se deben realizar en forma secuencial Sin embargo el analista puede volver a alguno de los pasos anteriores

Cada posible conjunto de fases actividades meacutetodos herramientas mejores praacutecticas forman una metodologiacutea diferente

Fases variacutean de autor en autor y seguacuten las organizaciones que los usen

Las etapas del proceso para el desarrollo de sistemas estaacuten formados por fases

ERRORESERRORES DE COMPILACION Los errores en tiempo de compilacioacuten o sintaacutecticos corresponden al incumplimiento de las reglas sintaacutecticas del lenguaje Estos errores son los maacutes faacuteciles de corregir ya que son detectados por el compilador el cual daraacute informacioacuten sobe el lugar donde estaacute y la naturaleza de cada uno de ellos mediante un mensaje de erro ERRORES DE EJECUCIOgraveN son errores que aparecen mientras se ejecuta su programa Estos errores aparecen normalmente cuando su programa intenta una operacioacuten que es imposible que se lleve a cabo Se detectan porque se produce una parada anormal del programa durante su ejecucioacuten y se dice entonces que el programa se ha caiacutedo o que ha sido abortado por el sistema ERRORES DE LOGICOS Corresponden a la obtencioacuten por el programa de resultados que no son correctos y la uacutenica manera de detectarlos es realizando un numero suficiente de ejecuciones de prueba con una gama lo maacutes amplia posible de juegos de datos de prueba comparando los datos producidos por el programa con los obtenidos a mano para esos mismos datos

CALIDAD DE LOS PROGRAMAS

LEGIBILIDAD La le

gibilidad

es el conjunto de

caracteriacutestic

as tipograacutefic

as y

linguumliacutestic

as del texto escrito

que permite

n leerlo

y

comprenderlo con fa

cilidad

FIABILIDAD El

programa debe ser

claro y sencillo de tal

forma que facilite su

lectura y compresioacuten

PORTABILIDAD Ha de

ser capaz de

recuperarse frente a

errores o usos

inadecuados

Modificabilidad El programa ha de facilitar su mantenimiento es decir las modificaciones y actualizaciones necesarias para adaptarlo a 1 nueva situacioacuten

EFICIENCIA Se deben

aprovechar al maacuteximo los

recursos del ordenador

minimizando la memoria

utilizada y el tiempo de

proceso o ejecucioacuten

siempre que no sea a costa

de las anteriores

caracteriacutesticas

METODOLOGIacuteA DE LA PROGRAMACIOacuteN

Conjunto o sistema de meacutetodos principios y reglas que permiten enfrentar de manera sistemaacutetica el desarrollo de un programa que resuelve un problema algoriacutetmico

PROGRAMACION MODULARConsiste en dividir los problemas maacutes pequentildeos en subproblemas con el fin de resolver una tarea sencilla y que no se vuelva tediosa A estos subproblemas en programacioacuten se denominan subprogramas de ahiacute programacioacuten modular

PROGRAMACIOacuteN ESTRUCTURADA Se refiere al control de ejecucioacutensiendo eacuteste una de las cuestiones maacutes importantes que hay que tener en cuenta al construir un programa en un lenguaje de alto nivel La regla general es que las instrucciones se ejecuten sucesivamente una tras otra pero diversas partes del programa se ejecutan o no dependiendo de que se cumpla alguna condicioacuten

DOCUMENTACIOacuteN DE PROGRAMAS

Documentar es una tarea tan necesaria e importante como escribir el coacutedigo el coacutedigo indica como funciona el programa y la documentacioacuten indica porqueacute lo hace

DOCUMENTACIOacuteN EXTERNA es aquella que se encuentra independiente del programa fuente Se encuentra en un Manual impreso y describe con profundidad sus caracteriacutestica teacutecnicas y funcionamientoDOCUMENTACION INTERNA Documento que le indica al usuario (operador) conocer utilizar y operar correctamente el sistema

OBJETOS DE UN PROGRAMA

Los datos son los objetos sobre los que un ordenador opera Se pueden clasificar en los siguientes tipos1- SIMPLES numeacutericos enteros loacutegicos reales2- ESTRUCTURADOS tablas registros conjuntos ficheros grafos3- DEFINIDOS POR EL USUARIO alfabeacuteticos (AB a b) diacutegitos (09) especiales ($lt)

IDENTIFICADORESSon los nombres que se dan a los programas variables constantes subprogramas y otros objetos o entidades de diacutegitos Deben escribirse de acuerdo a unas reglas que cada lenguaje establece

TIPOS DE DATOSUn tipo de dato es un atributo de una parte de los datos que indica al programador algo sobre la clase de datos sobre los que se va a procesar Un tipo de dato define un conjunto de valores y las operaciones sobre estos valores

TIPOS ELEMENTALES NUMERICOS

Los tipos simples son numeacutericos (enteros reales) Loacutegicos (booleanos) Caraacutecter (caracteres cadenas de caracteres)El tipo de dato numeacuterico es el conjunto de los valores numeacutericos

Se pueden representar de dos formasEnteros (nuacutemeros completos que no tienen componentes fraccionarios)Ejemplos 16 3868 -1256 0Reales (consta de una parte entera y una parte decimal)Ejemplos -1230 01 49827 -0002

TIPOS DE DATOS DE CARAgraveCTER

Caraacutecter (conjunto finito y ordenado de caracteres que la computadora reconoce)La mayoriacutea reconoce los siguientes tipos de caracteres Caracteres Alfabeacuteticos A B C hellip Z a b c hellip zCaracteres Numeacutericos 0 1 2 hellip 9Caracteres Especiales + - ^ lt gt $ hellipEjemplos lsquoarsquo lsquoArsquo lsquo0rsquo lsquo_rsquo

TIPOS DE DATOS BOLEANOS

El tipo de dato loacutegico o booleano es en computacioacuten aquel que puede representar valores de loacutegica binaria esto es 2 valores valores que normalmente representan falso o verdadero Se utiliza normalmente en la programacioacuten estadiacutestica electroacutenica matemaacuteticas (Aacutelgebra booleana) etcPara generar un dato o valor loacutegico a partir de otros tipos de datos tiacutepicamente se emplean los operadores relacionales (u operadores de relacioacuten) por ejemplo 0 es igual a falso y 1 es igual a verdadero(3gt2)= 1 = verdadero(7gt9)= 0 = falso

Un ejemplo de este tipo de expresiones seriacuteanverdadero AND falso --gt falsofalso OR verdadero --gt verdaderoNOT verdadero --gt falso

TIPOS DE DATOS ESTRUCTURADOS

Son agrupaciones de otros tipos de datosLos tipos de datos estructurados maacutes comunes son vectores y matrices (array) cadenas de caracteres (string) registros y uniones

TIPOS DE DATOS ESTRUCTURADOS MATRICES O ARREGLOS

Un arreglo(matriz o vector) es un conjunto finito y ordenado de elementos homogeacuteneos La propiedad homogeacuteneo quiere decir que los elementos son del mismo tipo de datosLa propiedad ordenado significa que el elemento primero segundo hellip eneacutesimo de un arreglo puede ser identificado

TIPOS DE DATOS LISTASUna lista enlazada es una de las estructuras de datos fundamentales y puede ser usada para implementar otras estructuras de datosConsiste en una secuencia de nodos en los que se guardan campos de datos arbitrarios y una o dos referencias enlaces o punteros al nodo anterior o posterior

Una lista enlazada es un tipo de dato auto referenciado porque contienen un puntero o enlace (en ingleacutes link del mismo significado) a otro dato del mismo tipo Existen diferentes tipos de listas enlazadas Lista Enlazadas Simples Listas Doblemente Enlazadas Listas Enlazadas Circulares y Listas Enlazadas Doblemente Circulares

TIPOS DE DATOS ARBOLES

Es una estructura no lineal y dinaacutemica de datos Dinaacutemica puede cambiar durante la ejecucioacuten de un programaNo lineal a cada elemento del aacuterbol pueden seguirle varios elementos que estaacuten formados por un conjunto de nodos y un conjunto de aristas que conectan pares de nodos

TIPOS DE DATOS CONSTANTESUna constante es un dato cuyo valor no puede cambiar durante la ejecucioacuten del programaRecibe un valor en el momento de la compilacioacuten y este permanece inalterado durante todo el programa Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

TIPOS DE DATOS VARIABLESUna variable es un nombre asociado a un elemento de datos que estaacute situado en posiciones contiguas de la memoria principal y su valor puede cambiar durante la ejecucioacuten de un programa En la declaracioacuten de una variable se debe indicar el tipo al que pertenece Asiacute tendremos variables enteras reales booleanas etc Por otro lado distinguimos tres partes fundamentales en la vida de una variable Declaracioacuten Iniciacioacuten Utilizacioacuten

TIPOS DE EXPRECIONES

Una expresioacuten es una combinacioacuten de variables operadores y llamadas de meacutetodos construida de acuerdo a la sintaxis del lenguaje que devuelve un valor El tipo de dato del valor regresado por una expresioacuten depende de los elementos usados en la expresioacuten

OPERADORESLos operadores son siacutembolos especiales que por lo comuacuten se utilizan en expresiones

La tabla siguiente muestra los distintos tipos de operadores

Operador Significado Ejemplo

Operadores aritmeacuteticos

+ Suma a + b

- Resta a - b

Multiplicacioacuten a b

TABLA DE VERDAD DE LOS OPERADORES

LOgraveGICOSSon aquellas que evaluacutean maacutes de una condicioacuten en una sola expresioacuten para esto hacen uso de los operadores loacutegicos

ORDEN DE EVALUCION DE LOS OPERADORES

Cuando en una expresioacuten aparece maacutes de un operador es necesario definir un orden de evaluacioacuten para los operadores Este orden viene dado por las siguientes reglas

1- Todas las sub expresiones entre pareacutentesis se evaluacutean primero En los pareacutentesis anidados se evaluacutea primero el maacutes interior2- En una misma expresioacuten los operadores se evaluacutean seguacuten su orden de prioridad (los operadores en la misma liacutenea de la siguiente tabla tienen el mismo nivel de procedencia)

ALGORITMOS

Se define como el conjunto ordenado de pasos a seguir para resolver un problema concreto sin ambiguumledad alguna en un tiempo finito

CARACTERISTICAS

SER FINITO Tiene que acabar siempre tras un nuacutemero finito de pasosREPETITIVO Debe repetirse todas las veces que sea necesario dando siempre ideacutenticos resultados para las mismas condicionesVALIDO que haga lo que se pretende que haga y devuelva los resultados esperadosDEFINIBLE Cada paso debe quedar definido de un modo preciso y sin ambiguumledadesPRECISION Debe ser concreto utilizando solo el numero de pasos para llegar a una solucioacuten claraRECIBE DATOS DE ENTRADA Es normal que reciba datos desde el exterior que luego utiliza y trataPROPORCIONA RESULTADOS DE SALIDA Produce uno o varios resultados en su ejecucioacuten que enviacutea al exterior como valor de salidaSER EFECTIVO Que resuelva el problema de forma raacutepida y eficiente

GRAacuteFICA (DIAGRAMAS DE FLUJO)

Son esquemas para representar y expresar algoritmos Estos diagramas utilizan siacutembolos con significados definidos que representan los pasos del algoritmo y representan el flujo de ejecucioacuten mediante flechas que conectan los puntos de inicio y de fin de proceso

ESTRUCTURA SECUENCIALINICIO

OPERACIOacuteN DE ENTRADASALIDA

FINEST

RUCTURA

CONDICIONAL

DIRECCION

REGLAS GENERALESEstablecer el alcance del proceso de esta manera quedaraacute fijado el comienzo y el final del diagramaIdentificar y listar las principales actividadessubprocesos que estaacuten incluidos en el proceso y su orden cronoloacutegicoIdentificar y listar los puntos de decisioacutenConstruir el diagrama respetando la secuencia cronoloacutegica y asignando los correspondientes siacutembolosAsignar un tiacutetulo al diagrama y verificar que esteacute completo y describa con exactitud el proceso elegido

VENTAJASFavorecen la comprensioacuten del proceso al mostrarlo como un dibujo

Permiten identificar los problemas y las oportunidades de mejora del procesoMuestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan facilitando el anaacutelisis de las mismasSon una excelente herramienta para capacitar a los nuevos empleados y tambieacuten a los que desarrollan la tarea cuando se realizan mejoras en el procesoCon fines de anaacutelisis de algoritmo de programacioacuten puede ser ejecutado en un ordenador y con un IDE como Free DFD

DIAGRAMAS CHAPIN O DIAGRAMAS NASSI-SCHNEIDERMAN (N-S)

Es una descripcioacuten de algoritmos basados en la utilizacioacuten de siacutembolos graacuteficos estos se constituyen utilizan como siacutembolo baacutesico el rectaacutengulo dentro del cual aparecen sentencias en lenguaje algoriacutetmico que ayuda a describir las acciones que se realizan

TEXTUAL (SEUDOCOacuteDIGO)

Es un conjunto pequentildeo y completo de sentencias mediante las cuales podemos expresar todas las acciones a llevar a cabo para realizar una tarea mediante un ordenador sus elementos son palabras y secuencias

Ejemplo VARIABLES Precio precio final entero Porcentaje descuento real INICIO escribe(`precio `) lee(precio) escribe(`Porcentaje `) lee(porcentaje) FIN

REGLAS GENERALES

Comienza con la palabra ldquoiniciordquo y termina con la palabra ldquofinrdquo Cada instruccioacuten se debe escribir en una liacutenea Para su descripcioacuten se utilizan palabras reservadas que tienen un significado especiacutefico (ldquoIniciordquo ldquoFinrdquo ldquoSirdquo ldquoEntoncesrdquo ldquoSi nordquo ldquoFin sirdquo ldquoMientrasrdquo ldquoFin Mientrasrdquo ldquoSeguirrdquo ldquoFin Seguirrdquo)Debe escribirse indentado (tabulando) para mostrar claramente las dependencias de unas instrucciones del programa con respecto a otrasCada una de las estructuras que definen un programa tendraacute un punto de comienzo y uno de fin especificados por las palabras reservadas que definen la estructura

VENTAJAS

Se leen de arriba abajoPermite el uso de teacutecnicas decentesFavorece la participacioacuten del programa en moacutedulos pequentildeosResaltan mas las partes generales No permite la violacioacuten de las condiciones estructuradasEl aacutembito de cada bloque o estructura esta perfectamente definido

INCONVENIENTES

No se reconstruyen faacutecilmente si cambia la loacutegica del programaNo permite representar la conexioacuten de varios moacutedulos entre si

METODOLOGIgraveA DE LA PROGRAMACIOgraveN

Se entiende como metodologiacutea de la programacioacuten al conjunto de normas meacutetodos y anotaciones que nos indican la forma de programar

ESTRUCTURA GENERAL DE UN PROGRAMA

Todo programa contiene dos bloques bien diferenciados para la descripcioacuten de los datos

PARTES PRINCIPALES DE UN PROGRAMA

BLOQUES DE DECLARACIONES En el se especifican todos los objetos que utiliza el programa (constantes variables tablas de registro archivos etc) indicando siempre sus caracteriacutesticas

BLOQUE DE INSTRUCCIONES Estaacute constituido por el conjunto de operaciones que se han de realizar para la obtencioacuten de los resultados deseados

SALIDA DE RESULTADOS

Es el conjunto de instrucciones que toman los datos finales (resultados) y los enviacutean a los dispositivos externos (memoria datos central de salida)

PROCESO DE DATOS O ALGORITMODatos de entrada proceso resultados

ENTRADA DE DATOS

La constituye n todas las instrucciones que toman los datos de entrada y los almacenan en la memoria central para que puedan ser

procesadosCLASIFICACION DE LAS INSTRUCCIONES

INTRUCCIONES D DECLARACION Su misioacuten es anunciar la utilizacioacuten de objetos en un programa indicado que identificador tipo y otras caracteriacutesticas corresponden a cada uno de ellosINSTRUCCIONES PRIMITIVAS Son aquellas que ejecutan el proceso de modo inmediato Las instrucciones primitivas pueden ser de entrada de asignacioacuten o de salida se dividen en entradas de asignacioacuten y de salida

INSTRUCCIONES DE CONTROL Son instrucciones que no realizan trabajo efectivo salvo la evaluacioacuten de expresiones generalmente loacutegicas con el objetivo de controlar la ejecucioacuten de otras instrucciones o alterar el orden de ejecucioacuten normal de las instrucciones de un programaINSTRUCCIONES COMPUESTAS Una instruccioacuten compuesta es aquella que representa a un conjunto de instrucciones que estaacuten definidas en otra parte en general son llamadas a sus programas (funciones subrutinas paacuterrafos etc)

COMENTARIOS Son frases que se incluyen de forma moderada en el disentildeo de un algoritmo (en la codificacioacuten suele ser maacutes recomendable su uso) con intencioacuten de aclarar el cometido o funcioacuten de un objeto o conjunto de instrucciones

VARIABLES AUXILIARES DE UN PROGRAMA

Son objetos que utiliza un programa y por la funcioacuten que realizan dentro del mismo toman un nombre especial Contadores acumuladores e interruptores

CONTADORES

Un contador es una variable destinada a almacenar un valor que se iraacute incrementando o decrementando en una cantidad constante Se suelen utilizar mucho en procesos repetitivos para contabilizar el nuacutemero de veces que se repite un conjunto de acciones o eventos es decir en los cuerpos de las instrucciones repetitivas

ACUMULADORESUn acumulador o totalizador es una variable cuya misioacuten es acumular cantidades sucesivas obtenidas al realizar la misma operacioacuten La diferencia de un contador es que el incremento o decremento es variable en lugar de constante como en el caso del contador Para utilizarlos hay que realizar sobre ellos dos operaciones baacutesicas Inicializacioacuten Todo acumulador necesita ser inicializado con el valor neutro de la operacioacuten que va a acumular que en el caso de la suma es 0 y del producto es 1

SUMA 0 PRODUCTO 1

Acumulacioacuten Cuando se hace presente en la memoria el elemento a acumular por la realizacioacuten de una lectura o un calculo se efectuacutea la acumulacioacuten del mismo por medio de la asignacioacuten

SUMA + elementoPRODUCTO elemento

INTERRUPTORES O CONMUTADORES

Un interruptor o conmutador es un campo de memoria (variable) que toman diversos valores a lo largo de la ejecucioacuten del programa Los valores que toma son normalmente 1 o siacute (encendidoabierto) y 0 o no (apagadocerrado) (de ahiacute su nombre de interruptor)a) Recordar en un determinado lugar del programa la ocurrencia o no de un suceso b) Realizar de forma alternativa independiente dos procesos alternativos

SUBPROGRAMA

Un subprograma se utiliza por el programa para un fin especiacutefico El subprograma recibe datos del programa y le devuelve resultados Se dice que el programa llama o invoca al subprograma El subprograma ejecuta una tarea a continuacioacuten retorna o devuelve el control al programa Esta accioacuten puede suceder en diferentes partes del programa Cada vez que el subprograma es llamado el control vuelve al lugar desde donde fue hecha la llamada

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 2: PROYECTO  METODOLOGIA DENYS.pptx

TEMARIO

AL FINALIZAR EL CURSO SE SABRA EMPLEAR LA PROGRAMACION A LAS COMPUTADORAS

1- INTRODUCCION A LA PROGRAMACIOgraveN DE LAS COMPUTADORAS 11 Ciclo de vida de una aplicacioacuten informaacutetica 111 Fases del ciclo de vida

12 Errores 121 Errores de compilacioacuten

122 Errores de ejecucioacuten

123 Errores de loacutegica

13 Calidad de los programas 131 Legibilidad 132 Fiabilidad 133 Portabilidad

133 Portabilidad 134 Eficacia

14 Metodologiacutea de la programacioacuten

141 Programacioacuten modular142 Programacioacuten estructurada 143 Programacioacuten orientada a objetiva

15 Documentacioacuten de programas 151 Documentacioacuten interna 152 Documentacioacuten externa

16 Objetivos de un programa 17 Identificadores

18 Tipos de datos 181 Datos elementales 1811 Numeacutericos 1812 Caraacutecter 1813 Boleados

182 Estructurados 1821 Matrices o arreglos 1822 Listas 1823 Arboles 19 Constantes 110 Variables 111 Expresiones 1111 Tipos de expresiones 1112 Operadores 1113 Tabla de verdad de los operadores loacutegicos 1114 Orden de evaluacioacuten de los operadores

2 ALGORITMOS 21 Definicioacuten 22 Caracteriacutesticas 2311 Reglas 2312 Ventajas e inconvenientes 2313 Ordinogramas 2314 Diagramas estructurales 2315 Diagramas de NS (NassiShneiderman)

232 Textual (pseudocoacutedigo) 2321 Reglas generales 23322 Ventajas e inconvenientes 2323 Palabras convencionales reservadas o clave

3 METODOLOGIgraveA DE LA PROGRAMACIOgraveN 31 Estructura general de un programa A) Partes principales de un programa a) Salidas de resultados requeridos b) Proceso de datos para obtener los resultados c) Entrada de datos y procesar d) Control de errores B) Clasificacioacuten de las instrucciones a) De declaracioacuten b) Primitivas c) De control d) Compuestas e) Comentarios f) Especiales C) Variables auxiliares de un programa a) Contadores b) acumuladores

c) Interruptores o conmutadores d) Temporales e) De paso de valores D) Subprogramas a) Subrutinasprocedimientos b) Funciones 32 Procedimientos y requerimientos generales para el desarrollo de un programa A) Faces de proceso a) Resultados y formato solicitado B) Anaacutelisis del problema a) Datos requeridos asiacute como formatos y medios de acceso de datos C) Desarrollo de la solucioacuten a) Desarrollo de algoritmos b) Pruebas de escritorio c) Codificacioacuten y documentacioacuten interna d) Compilacioacuten e) Pruebas en el compilador D) Documentacioacuten externa 33 Programacioacuten modular A) El concepto del modulo

B) Requisitos de la programacioacuten modular C) Clasificacioacuten de los moacutedulos D) Teacutecnicas de programacioacuten modular a) Disentildeos descendente (top Down) b) Ensamble ascendente (bottom up) c) Refinamiento de pasos sucesivos (step wise refinement) E) Criterios de modularizaciograven 34 Programacioacuten estructurada A) Conceptos baacutesicos B) Estructuras baacutesicas de control C) Recursos abstractos D) Meacutetodos de programacioacuten estructurada Descripcioacuten geneacuterica a) Bertini b) Tabourier c) Chapiacuten (NassiShneiderman) E) Meacutetodo de Jackson a) Introduccioacuten b) Fundamentos baacutesicos entidades c) Fases de meacutetodo d) Errores e invalidez e) Collating f) Back tracking

g) Colisioacuten de estructuras h) Inversioacuten de programas F) Meacutetodo de Warnier a) Introduccioacuten b) Estructuras baacutesicas c) Fases del meacutetodo d) Estudio de datos de salida e) Estudio de datos de entrada f) Cuadro de descomposicioacuten de secuencia g) Cuadro de secuencias de Warnier h) Lista de introduccioacuten y asignacioacuten de las mismas DIFERENCIAS

Es un paradigma de la programacioacuten que proporciona lineamientos para desarrollar un proyecto de sistema de informacioacuten

iquest Q u eacute e s e l C i c l o d e V i d a d e l o s S i s t e m a s d e I n f o r m a c i oacute n

INTRODUCCION A LA PROGRAMACION DE LAS COMPUTADORAS

FASE 1

FASE 2

FASE 3

FASE N

FASE N + 1

Desarro

llo e im

plementacioacuten

Las fases se deben realizar en forma secuencial Sin embargo el analista puede volver a alguno de los pasos anteriores

Cada posible conjunto de fases actividades meacutetodos herramientas mejores praacutecticas forman una metodologiacutea diferente

Fases variacutean de autor en autor y seguacuten las organizaciones que los usen

Las etapas del proceso para el desarrollo de sistemas estaacuten formados por fases

ERRORESERRORES DE COMPILACION Los errores en tiempo de compilacioacuten o sintaacutecticos corresponden al incumplimiento de las reglas sintaacutecticas del lenguaje Estos errores son los maacutes faacuteciles de corregir ya que son detectados por el compilador el cual daraacute informacioacuten sobe el lugar donde estaacute y la naturaleza de cada uno de ellos mediante un mensaje de erro ERRORES DE EJECUCIOgraveN son errores que aparecen mientras se ejecuta su programa Estos errores aparecen normalmente cuando su programa intenta una operacioacuten que es imposible que se lleve a cabo Se detectan porque se produce una parada anormal del programa durante su ejecucioacuten y se dice entonces que el programa se ha caiacutedo o que ha sido abortado por el sistema ERRORES DE LOGICOS Corresponden a la obtencioacuten por el programa de resultados que no son correctos y la uacutenica manera de detectarlos es realizando un numero suficiente de ejecuciones de prueba con una gama lo maacutes amplia posible de juegos de datos de prueba comparando los datos producidos por el programa con los obtenidos a mano para esos mismos datos

CALIDAD DE LOS PROGRAMAS

LEGIBILIDAD La le

gibilidad

es el conjunto de

caracteriacutestic

as tipograacutefic

as y

linguumliacutestic

as del texto escrito

que permite

n leerlo

y

comprenderlo con fa

cilidad

FIABILIDAD El

programa debe ser

claro y sencillo de tal

forma que facilite su

lectura y compresioacuten

PORTABILIDAD Ha de

ser capaz de

recuperarse frente a

errores o usos

inadecuados

Modificabilidad El programa ha de facilitar su mantenimiento es decir las modificaciones y actualizaciones necesarias para adaptarlo a 1 nueva situacioacuten

EFICIENCIA Se deben

aprovechar al maacuteximo los

recursos del ordenador

minimizando la memoria

utilizada y el tiempo de

proceso o ejecucioacuten

siempre que no sea a costa

de las anteriores

caracteriacutesticas

METODOLOGIacuteA DE LA PROGRAMACIOacuteN

Conjunto o sistema de meacutetodos principios y reglas que permiten enfrentar de manera sistemaacutetica el desarrollo de un programa que resuelve un problema algoriacutetmico

PROGRAMACION MODULARConsiste en dividir los problemas maacutes pequentildeos en subproblemas con el fin de resolver una tarea sencilla y que no se vuelva tediosa A estos subproblemas en programacioacuten se denominan subprogramas de ahiacute programacioacuten modular

PROGRAMACIOacuteN ESTRUCTURADA Se refiere al control de ejecucioacutensiendo eacuteste una de las cuestiones maacutes importantes que hay que tener en cuenta al construir un programa en un lenguaje de alto nivel La regla general es que las instrucciones se ejecuten sucesivamente una tras otra pero diversas partes del programa se ejecutan o no dependiendo de que se cumpla alguna condicioacuten

DOCUMENTACIOacuteN DE PROGRAMAS

Documentar es una tarea tan necesaria e importante como escribir el coacutedigo el coacutedigo indica como funciona el programa y la documentacioacuten indica porqueacute lo hace

DOCUMENTACIOacuteN EXTERNA es aquella que se encuentra independiente del programa fuente Se encuentra en un Manual impreso y describe con profundidad sus caracteriacutestica teacutecnicas y funcionamientoDOCUMENTACION INTERNA Documento que le indica al usuario (operador) conocer utilizar y operar correctamente el sistema

OBJETOS DE UN PROGRAMA

Los datos son los objetos sobre los que un ordenador opera Se pueden clasificar en los siguientes tipos1- SIMPLES numeacutericos enteros loacutegicos reales2- ESTRUCTURADOS tablas registros conjuntos ficheros grafos3- DEFINIDOS POR EL USUARIO alfabeacuteticos (AB a b) diacutegitos (09) especiales ($lt)

IDENTIFICADORESSon los nombres que se dan a los programas variables constantes subprogramas y otros objetos o entidades de diacutegitos Deben escribirse de acuerdo a unas reglas que cada lenguaje establece

TIPOS DE DATOSUn tipo de dato es un atributo de una parte de los datos que indica al programador algo sobre la clase de datos sobre los que se va a procesar Un tipo de dato define un conjunto de valores y las operaciones sobre estos valores

TIPOS ELEMENTALES NUMERICOS

Los tipos simples son numeacutericos (enteros reales) Loacutegicos (booleanos) Caraacutecter (caracteres cadenas de caracteres)El tipo de dato numeacuterico es el conjunto de los valores numeacutericos

Se pueden representar de dos formasEnteros (nuacutemeros completos que no tienen componentes fraccionarios)Ejemplos 16 3868 -1256 0Reales (consta de una parte entera y una parte decimal)Ejemplos -1230 01 49827 -0002

TIPOS DE DATOS DE CARAgraveCTER

Caraacutecter (conjunto finito y ordenado de caracteres que la computadora reconoce)La mayoriacutea reconoce los siguientes tipos de caracteres Caracteres Alfabeacuteticos A B C hellip Z a b c hellip zCaracteres Numeacutericos 0 1 2 hellip 9Caracteres Especiales + - ^ lt gt $ hellipEjemplos lsquoarsquo lsquoArsquo lsquo0rsquo lsquo_rsquo

TIPOS DE DATOS BOLEANOS

El tipo de dato loacutegico o booleano es en computacioacuten aquel que puede representar valores de loacutegica binaria esto es 2 valores valores que normalmente representan falso o verdadero Se utiliza normalmente en la programacioacuten estadiacutestica electroacutenica matemaacuteticas (Aacutelgebra booleana) etcPara generar un dato o valor loacutegico a partir de otros tipos de datos tiacutepicamente se emplean los operadores relacionales (u operadores de relacioacuten) por ejemplo 0 es igual a falso y 1 es igual a verdadero(3gt2)= 1 = verdadero(7gt9)= 0 = falso

Un ejemplo de este tipo de expresiones seriacuteanverdadero AND falso --gt falsofalso OR verdadero --gt verdaderoNOT verdadero --gt falso

TIPOS DE DATOS ESTRUCTURADOS

Son agrupaciones de otros tipos de datosLos tipos de datos estructurados maacutes comunes son vectores y matrices (array) cadenas de caracteres (string) registros y uniones

TIPOS DE DATOS ESTRUCTURADOS MATRICES O ARREGLOS

Un arreglo(matriz o vector) es un conjunto finito y ordenado de elementos homogeacuteneos La propiedad homogeacuteneo quiere decir que los elementos son del mismo tipo de datosLa propiedad ordenado significa que el elemento primero segundo hellip eneacutesimo de un arreglo puede ser identificado

TIPOS DE DATOS LISTASUna lista enlazada es una de las estructuras de datos fundamentales y puede ser usada para implementar otras estructuras de datosConsiste en una secuencia de nodos en los que se guardan campos de datos arbitrarios y una o dos referencias enlaces o punteros al nodo anterior o posterior

Una lista enlazada es un tipo de dato auto referenciado porque contienen un puntero o enlace (en ingleacutes link del mismo significado) a otro dato del mismo tipo Existen diferentes tipos de listas enlazadas Lista Enlazadas Simples Listas Doblemente Enlazadas Listas Enlazadas Circulares y Listas Enlazadas Doblemente Circulares

TIPOS DE DATOS ARBOLES

Es una estructura no lineal y dinaacutemica de datos Dinaacutemica puede cambiar durante la ejecucioacuten de un programaNo lineal a cada elemento del aacuterbol pueden seguirle varios elementos que estaacuten formados por un conjunto de nodos y un conjunto de aristas que conectan pares de nodos

TIPOS DE DATOS CONSTANTESUna constante es un dato cuyo valor no puede cambiar durante la ejecucioacuten del programaRecibe un valor en el momento de la compilacioacuten y este permanece inalterado durante todo el programa Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

TIPOS DE DATOS VARIABLESUna variable es un nombre asociado a un elemento de datos que estaacute situado en posiciones contiguas de la memoria principal y su valor puede cambiar durante la ejecucioacuten de un programa En la declaracioacuten de una variable se debe indicar el tipo al que pertenece Asiacute tendremos variables enteras reales booleanas etc Por otro lado distinguimos tres partes fundamentales en la vida de una variable Declaracioacuten Iniciacioacuten Utilizacioacuten

TIPOS DE EXPRECIONES

Una expresioacuten es una combinacioacuten de variables operadores y llamadas de meacutetodos construida de acuerdo a la sintaxis del lenguaje que devuelve un valor El tipo de dato del valor regresado por una expresioacuten depende de los elementos usados en la expresioacuten

OPERADORESLos operadores son siacutembolos especiales que por lo comuacuten se utilizan en expresiones

La tabla siguiente muestra los distintos tipos de operadores

Operador Significado Ejemplo

Operadores aritmeacuteticos

+ Suma a + b

- Resta a - b

Multiplicacioacuten a b

TABLA DE VERDAD DE LOS OPERADORES

LOgraveGICOSSon aquellas que evaluacutean maacutes de una condicioacuten en una sola expresioacuten para esto hacen uso de los operadores loacutegicos

ORDEN DE EVALUCION DE LOS OPERADORES

Cuando en una expresioacuten aparece maacutes de un operador es necesario definir un orden de evaluacioacuten para los operadores Este orden viene dado por las siguientes reglas

1- Todas las sub expresiones entre pareacutentesis se evaluacutean primero En los pareacutentesis anidados se evaluacutea primero el maacutes interior2- En una misma expresioacuten los operadores se evaluacutean seguacuten su orden de prioridad (los operadores en la misma liacutenea de la siguiente tabla tienen el mismo nivel de procedencia)

ALGORITMOS

Se define como el conjunto ordenado de pasos a seguir para resolver un problema concreto sin ambiguumledad alguna en un tiempo finito

CARACTERISTICAS

SER FINITO Tiene que acabar siempre tras un nuacutemero finito de pasosREPETITIVO Debe repetirse todas las veces que sea necesario dando siempre ideacutenticos resultados para las mismas condicionesVALIDO que haga lo que se pretende que haga y devuelva los resultados esperadosDEFINIBLE Cada paso debe quedar definido de un modo preciso y sin ambiguumledadesPRECISION Debe ser concreto utilizando solo el numero de pasos para llegar a una solucioacuten claraRECIBE DATOS DE ENTRADA Es normal que reciba datos desde el exterior que luego utiliza y trataPROPORCIONA RESULTADOS DE SALIDA Produce uno o varios resultados en su ejecucioacuten que enviacutea al exterior como valor de salidaSER EFECTIVO Que resuelva el problema de forma raacutepida y eficiente

GRAacuteFICA (DIAGRAMAS DE FLUJO)

Son esquemas para representar y expresar algoritmos Estos diagramas utilizan siacutembolos con significados definidos que representan los pasos del algoritmo y representan el flujo de ejecucioacuten mediante flechas que conectan los puntos de inicio y de fin de proceso

ESTRUCTURA SECUENCIALINICIO

OPERACIOacuteN DE ENTRADASALIDA

FINEST

RUCTURA

CONDICIONAL

DIRECCION

REGLAS GENERALESEstablecer el alcance del proceso de esta manera quedaraacute fijado el comienzo y el final del diagramaIdentificar y listar las principales actividadessubprocesos que estaacuten incluidos en el proceso y su orden cronoloacutegicoIdentificar y listar los puntos de decisioacutenConstruir el diagrama respetando la secuencia cronoloacutegica y asignando los correspondientes siacutembolosAsignar un tiacutetulo al diagrama y verificar que esteacute completo y describa con exactitud el proceso elegido

VENTAJASFavorecen la comprensioacuten del proceso al mostrarlo como un dibujo

Permiten identificar los problemas y las oportunidades de mejora del procesoMuestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan facilitando el anaacutelisis de las mismasSon una excelente herramienta para capacitar a los nuevos empleados y tambieacuten a los que desarrollan la tarea cuando se realizan mejoras en el procesoCon fines de anaacutelisis de algoritmo de programacioacuten puede ser ejecutado en un ordenador y con un IDE como Free DFD

DIAGRAMAS CHAPIN O DIAGRAMAS NASSI-SCHNEIDERMAN (N-S)

Es una descripcioacuten de algoritmos basados en la utilizacioacuten de siacutembolos graacuteficos estos se constituyen utilizan como siacutembolo baacutesico el rectaacutengulo dentro del cual aparecen sentencias en lenguaje algoriacutetmico que ayuda a describir las acciones que se realizan

TEXTUAL (SEUDOCOacuteDIGO)

Es un conjunto pequentildeo y completo de sentencias mediante las cuales podemos expresar todas las acciones a llevar a cabo para realizar una tarea mediante un ordenador sus elementos son palabras y secuencias

Ejemplo VARIABLES Precio precio final entero Porcentaje descuento real INICIO escribe(`precio `) lee(precio) escribe(`Porcentaje `) lee(porcentaje) FIN

REGLAS GENERALES

Comienza con la palabra ldquoiniciordquo y termina con la palabra ldquofinrdquo Cada instruccioacuten se debe escribir en una liacutenea Para su descripcioacuten se utilizan palabras reservadas que tienen un significado especiacutefico (ldquoIniciordquo ldquoFinrdquo ldquoSirdquo ldquoEntoncesrdquo ldquoSi nordquo ldquoFin sirdquo ldquoMientrasrdquo ldquoFin Mientrasrdquo ldquoSeguirrdquo ldquoFin Seguirrdquo)Debe escribirse indentado (tabulando) para mostrar claramente las dependencias de unas instrucciones del programa con respecto a otrasCada una de las estructuras que definen un programa tendraacute un punto de comienzo y uno de fin especificados por las palabras reservadas que definen la estructura

VENTAJAS

Se leen de arriba abajoPermite el uso de teacutecnicas decentesFavorece la participacioacuten del programa en moacutedulos pequentildeosResaltan mas las partes generales No permite la violacioacuten de las condiciones estructuradasEl aacutembito de cada bloque o estructura esta perfectamente definido

INCONVENIENTES

No se reconstruyen faacutecilmente si cambia la loacutegica del programaNo permite representar la conexioacuten de varios moacutedulos entre si

METODOLOGIgraveA DE LA PROGRAMACIOgraveN

Se entiende como metodologiacutea de la programacioacuten al conjunto de normas meacutetodos y anotaciones que nos indican la forma de programar

ESTRUCTURA GENERAL DE UN PROGRAMA

Todo programa contiene dos bloques bien diferenciados para la descripcioacuten de los datos

PARTES PRINCIPALES DE UN PROGRAMA

BLOQUES DE DECLARACIONES En el se especifican todos los objetos que utiliza el programa (constantes variables tablas de registro archivos etc) indicando siempre sus caracteriacutesticas

BLOQUE DE INSTRUCCIONES Estaacute constituido por el conjunto de operaciones que se han de realizar para la obtencioacuten de los resultados deseados

SALIDA DE RESULTADOS

Es el conjunto de instrucciones que toman los datos finales (resultados) y los enviacutean a los dispositivos externos (memoria datos central de salida)

PROCESO DE DATOS O ALGORITMODatos de entrada proceso resultados

ENTRADA DE DATOS

La constituye n todas las instrucciones que toman los datos de entrada y los almacenan en la memoria central para que puedan ser

procesadosCLASIFICACION DE LAS INSTRUCCIONES

INTRUCCIONES D DECLARACION Su misioacuten es anunciar la utilizacioacuten de objetos en un programa indicado que identificador tipo y otras caracteriacutesticas corresponden a cada uno de ellosINSTRUCCIONES PRIMITIVAS Son aquellas que ejecutan el proceso de modo inmediato Las instrucciones primitivas pueden ser de entrada de asignacioacuten o de salida se dividen en entradas de asignacioacuten y de salida

INSTRUCCIONES DE CONTROL Son instrucciones que no realizan trabajo efectivo salvo la evaluacioacuten de expresiones generalmente loacutegicas con el objetivo de controlar la ejecucioacuten de otras instrucciones o alterar el orden de ejecucioacuten normal de las instrucciones de un programaINSTRUCCIONES COMPUESTAS Una instruccioacuten compuesta es aquella que representa a un conjunto de instrucciones que estaacuten definidas en otra parte en general son llamadas a sus programas (funciones subrutinas paacuterrafos etc)

COMENTARIOS Son frases que se incluyen de forma moderada en el disentildeo de un algoritmo (en la codificacioacuten suele ser maacutes recomendable su uso) con intencioacuten de aclarar el cometido o funcioacuten de un objeto o conjunto de instrucciones

VARIABLES AUXILIARES DE UN PROGRAMA

Son objetos que utiliza un programa y por la funcioacuten que realizan dentro del mismo toman un nombre especial Contadores acumuladores e interruptores

CONTADORES

Un contador es una variable destinada a almacenar un valor que se iraacute incrementando o decrementando en una cantidad constante Se suelen utilizar mucho en procesos repetitivos para contabilizar el nuacutemero de veces que se repite un conjunto de acciones o eventos es decir en los cuerpos de las instrucciones repetitivas

ACUMULADORESUn acumulador o totalizador es una variable cuya misioacuten es acumular cantidades sucesivas obtenidas al realizar la misma operacioacuten La diferencia de un contador es que el incremento o decremento es variable en lugar de constante como en el caso del contador Para utilizarlos hay que realizar sobre ellos dos operaciones baacutesicas Inicializacioacuten Todo acumulador necesita ser inicializado con el valor neutro de la operacioacuten que va a acumular que en el caso de la suma es 0 y del producto es 1

SUMA 0 PRODUCTO 1

Acumulacioacuten Cuando se hace presente en la memoria el elemento a acumular por la realizacioacuten de una lectura o un calculo se efectuacutea la acumulacioacuten del mismo por medio de la asignacioacuten

SUMA + elementoPRODUCTO elemento

INTERRUPTORES O CONMUTADORES

Un interruptor o conmutador es un campo de memoria (variable) que toman diversos valores a lo largo de la ejecucioacuten del programa Los valores que toma son normalmente 1 o siacute (encendidoabierto) y 0 o no (apagadocerrado) (de ahiacute su nombre de interruptor)a) Recordar en un determinado lugar del programa la ocurrencia o no de un suceso b) Realizar de forma alternativa independiente dos procesos alternativos

SUBPROGRAMA

Un subprograma se utiliza por el programa para un fin especiacutefico El subprograma recibe datos del programa y le devuelve resultados Se dice que el programa llama o invoca al subprograma El subprograma ejecuta una tarea a continuacioacuten retorna o devuelve el control al programa Esta accioacuten puede suceder en diferentes partes del programa Cada vez que el subprograma es llamado el control vuelve al lugar desde donde fue hecha la llamada

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 3: PROYECTO  METODOLOGIA DENYS.pptx

133 Portabilidad 134 Eficacia

14 Metodologiacutea de la programacioacuten

141 Programacioacuten modular142 Programacioacuten estructurada 143 Programacioacuten orientada a objetiva

15 Documentacioacuten de programas 151 Documentacioacuten interna 152 Documentacioacuten externa

16 Objetivos de un programa 17 Identificadores

18 Tipos de datos 181 Datos elementales 1811 Numeacutericos 1812 Caraacutecter 1813 Boleados

182 Estructurados 1821 Matrices o arreglos 1822 Listas 1823 Arboles 19 Constantes 110 Variables 111 Expresiones 1111 Tipos de expresiones 1112 Operadores 1113 Tabla de verdad de los operadores loacutegicos 1114 Orden de evaluacioacuten de los operadores

2 ALGORITMOS 21 Definicioacuten 22 Caracteriacutesticas 2311 Reglas 2312 Ventajas e inconvenientes 2313 Ordinogramas 2314 Diagramas estructurales 2315 Diagramas de NS (NassiShneiderman)

232 Textual (pseudocoacutedigo) 2321 Reglas generales 23322 Ventajas e inconvenientes 2323 Palabras convencionales reservadas o clave

3 METODOLOGIgraveA DE LA PROGRAMACIOgraveN 31 Estructura general de un programa A) Partes principales de un programa a) Salidas de resultados requeridos b) Proceso de datos para obtener los resultados c) Entrada de datos y procesar d) Control de errores B) Clasificacioacuten de las instrucciones a) De declaracioacuten b) Primitivas c) De control d) Compuestas e) Comentarios f) Especiales C) Variables auxiliares de un programa a) Contadores b) acumuladores

c) Interruptores o conmutadores d) Temporales e) De paso de valores D) Subprogramas a) Subrutinasprocedimientos b) Funciones 32 Procedimientos y requerimientos generales para el desarrollo de un programa A) Faces de proceso a) Resultados y formato solicitado B) Anaacutelisis del problema a) Datos requeridos asiacute como formatos y medios de acceso de datos C) Desarrollo de la solucioacuten a) Desarrollo de algoritmos b) Pruebas de escritorio c) Codificacioacuten y documentacioacuten interna d) Compilacioacuten e) Pruebas en el compilador D) Documentacioacuten externa 33 Programacioacuten modular A) El concepto del modulo

B) Requisitos de la programacioacuten modular C) Clasificacioacuten de los moacutedulos D) Teacutecnicas de programacioacuten modular a) Disentildeos descendente (top Down) b) Ensamble ascendente (bottom up) c) Refinamiento de pasos sucesivos (step wise refinement) E) Criterios de modularizaciograven 34 Programacioacuten estructurada A) Conceptos baacutesicos B) Estructuras baacutesicas de control C) Recursos abstractos D) Meacutetodos de programacioacuten estructurada Descripcioacuten geneacuterica a) Bertini b) Tabourier c) Chapiacuten (NassiShneiderman) E) Meacutetodo de Jackson a) Introduccioacuten b) Fundamentos baacutesicos entidades c) Fases de meacutetodo d) Errores e invalidez e) Collating f) Back tracking

g) Colisioacuten de estructuras h) Inversioacuten de programas F) Meacutetodo de Warnier a) Introduccioacuten b) Estructuras baacutesicas c) Fases del meacutetodo d) Estudio de datos de salida e) Estudio de datos de entrada f) Cuadro de descomposicioacuten de secuencia g) Cuadro de secuencias de Warnier h) Lista de introduccioacuten y asignacioacuten de las mismas DIFERENCIAS

Es un paradigma de la programacioacuten que proporciona lineamientos para desarrollar un proyecto de sistema de informacioacuten

iquest Q u eacute e s e l C i c l o d e V i d a d e l o s S i s t e m a s d e I n f o r m a c i oacute n

INTRODUCCION A LA PROGRAMACION DE LAS COMPUTADORAS

FASE 1

FASE 2

FASE 3

FASE N

FASE N + 1

Desarro

llo e im

plementacioacuten

Las fases se deben realizar en forma secuencial Sin embargo el analista puede volver a alguno de los pasos anteriores

Cada posible conjunto de fases actividades meacutetodos herramientas mejores praacutecticas forman una metodologiacutea diferente

Fases variacutean de autor en autor y seguacuten las organizaciones que los usen

Las etapas del proceso para el desarrollo de sistemas estaacuten formados por fases

ERRORESERRORES DE COMPILACION Los errores en tiempo de compilacioacuten o sintaacutecticos corresponden al incumplimiento de las reglas sintaacutecticas del lenguaje Estos errores son los maacutes faacuteciles de corregir ya que son detectados por el compilador el cual daraacute informacioacuten sobe el lugar donde estaacute y la naturaleza de cada uno de ellos mediante un mensaje de erro ERRORES DE EJECUCIOgraveN son errores que aparecen mientras se ejecuta su programa Estos errores aparecen normalmente cuando su programa intenta una operacioacuten que es imposible que se lleve a cabo Se detectan porque se produce una parada anormal del programa durante su ejecucioacuten y se dice entonces que el programa se ha caiacutedo o que ha sido abortado por el sistema ERRORES DE LOGICOS Corresponden a la obtencioacuten por el programa de resultados que no son correctos y la uacutenica manera de detectarlos es realizando un numero suficiente de ejecuciones de prueba con una gama lo maacutes amplia posible de juegos de datos de prueba comparando los datos producidos por el programa con los obtenidos a mano para esos mismos datos

CALIDAD DE LOS PROGRAMAS

LEGIBILIDAD La le

gibilidad

es el conjunto de

caracteriacutestic

as tipograacutefic

as y

linguumliacutestic

as del texto escrito

que permite

n leerlo

y

comprenderlo con fa

cilidad

FIABILIDAD El

programa debe ser

claro y sencillo de tal

forma que facilite su

lectura y compresioacuten

PORTABILIDAD Ha de

ser capaz de

recuperarse frente a

errores o usos

inadecuados

Modificabilidad El programa ha de facilitar su mantenimiento es decir las modificaciones y actualizaciones necesarias para adaptarlo a 1 nueva situacioacuten

EFICIENCIA Se deben

aprovechar al maacuteximo los

recursos del ordenador

minimizando la memoria

utilizada y el tiempo de

proceso o ejecucioacuten

siempre que no sea a costa

de las anteriores

caracteriacutesticas

METODOLOGIacuteA DE LA PROGRAMACIOacuteN

Conjunto o sistema de meacutetodos principios y reglas que permiten enfrentar de manera sistemaacutetica el desarrollo de un programa que resuelve un problema algoriacutetmico

PROGRAMACION MODULARConsiste en dividir los problemas maacutes pequentildeos en subproblemas con el fin de resolver una tarea sencilla y que no se vuelva tediosa A estos subproblemas en programacioacuten se denominan subprogramas de ahiacute programacioacuten modular

PROGRAMACIOacuteN ESTRUCTURADA Se refiere al control de ejecucioacutensiendo eacuteste una de las cuestiones maacutes importantes que hay que tener en cuenta al construir un programa en un lenguaje de alto nivel La regla general es que las instrucciones se ejecuten sucesivamente una tras otra pero diversas partes del programa se ejecutan o no dependiendo de que se cumpla alguna condicioacuten

DOCUMENTACIOacuteN DE PROGRAMAS

Documentar es una tarea tan necesaria e importante como escribir el coacutedigo el coacutedigo indica como funciona el programa y la documentacioacuten indica porqueacute lo hace

DOCUMENTACIOacuteN EXTERNA es aquella que se encuentra independiente del programa fuente Se encuentra en un Manual impreso y describe con profundidad sus caracteriacutestica teacutecnicas y funcionamientoDOCUMENTACION INTERNA Documento que le indica al usuario (operador) conocer utilizar y operar correctamente el sistema

OBJETOS DE UN PROGRAMA

Los datos son los objetos sobre los que un ordenador opera Se pueden clasificar en los siguientes tipos1- SIMPLES numeacutericos enteros loacutegicos reales2- ESTRUCTURADOS tablas registros conjuntos ficheros grafos3- DEFINIDOS POR EL USUARIO alfabeacuteticos (AB a b) diacutegitos (09) especiales ($lt)

IDENTIFICADORESSon los nombres que se dan a los programas variables constantes subprogramas y otros objetos o entidades de diacutegitos Deben escribirse de acuerdo a unas reglas que cada lenguaje establece

TIPOS DE DATOSUn tipo de dato es un atributo de una parte de los datos que indica al programador algo sobre la clase de datos sobre los que se va a procesar Un tipo de dato define un conjunto de valores y las operaciones sobre estos valores

TIPOS ELEMENTALES NUMERICOS

Los tipos simples son numeacutericos (enteros reales) Loacutegicos (booleanos) Caraacutecter (caracteres cadenas de caracteres)El tipo de dato numeacuterico es el conjunto de los valores numeacutericos

Se pueden representar de dos formasEnteros (nuacutemeros completos que no tienen componentes fraccionarios)Ejemplos 16 3868 -1256 0Reales (consta de una parte entera y una parte decimal)Ejemplos -1230 01 49827 -0002

TIPOS DE DATOS DE CARAgraveCTER

Caraacutecter (conjunto finito y ordenado de caracteres que la computadora reconoce)La mayoriacutea reconoce los siguientes tipos de caracteres Caracteres Alfabeacuteticos A B C hellip Z a b c hellip zCaracteres Numeacutericos 0 1 2 hellip 9Caracteres Especiales + - ^ lt gt $ hellipEjemplos lsquoarsquo lsquoArsquo lsquo0rsquo lsquo_rsquo

TIPOS DE DATOS BOLEANOS

El tipo de dato loacutegico o booleano es en computacioacuten aquel que puede representar valores de loacutegica binaria esto es 2 valores valores que normalmente representan falso o verdadero Se utiliza normalmente en la programacioacuten estadiacutestica electroacutenica matemaacuteticas (Aacutelgebra booleana) etcPara generar un dato o valor loacutegico a partir de otros tipos de datos tiacutepicamente se emplean los operadores relacionales (u operadores de relacioacuten) por ejemplo 0 es igual a falso y 1 es igual a verdadero(3gt2)= 1 = verdadero(7gt9)= 0 = falso

Un ejemplo de este tipo de expresiones seriacuteanverdadero AND falso --gt falsofalso OR verdadero --gt verdaderoNOT verdadero --gt falso

TIPOS DE DATOS ESTRUCTURADOS

Son agrupaciones de otros tipos de datosLos tipos de datos estructurados maacutes comunes son vectores y matrices (array) cadenas de caracteres (string) registros y uniones

TIPOS DE DATOS ESTRUCTURADOS MATRICES O ARREGLOS

Un arreglo(matriz o vector) es un conjunto finito y ordenado de elementos homogeacuteneos La propiedad homogeacuteneo quiere decir que los elementos son del mismo tipo de datosLa propiedad ordenado significa que el elemento primero segundo hellip eneacutesimo de un arreglo puede ser identificado

TIPOS DE DATOS LISTASUna lista enlazada es una de las estructuras de datos fundamentales y puede ser usada para implementar otras estructuras de datosConsiste en una secuencia de nodos en los que se guardan campos de datos arbitrarios y una o dos referencias enlaces o punteros al nodo anterior o posterior

Una lista enlazada es un tipo de dato auto referenciado porque contienen un puntero o enlace (en ingleacutes link del mismo significado) a otro dato del mismo tipo Existen diferentes tipos de listas enlazadas Lista Enlazadas Simples Listas Doblemente Enlazadas Listas Enlazadas Circulares y Listas Enlazadas Doblemente Circulares

TIPOS DE DATOS ARBOLES

Es una estructura no lineal y dinaacutemica de datos Dinaacutemica puede cambiar durante la ejecucioacuten de un programaNo lineal a cada elemento del aacuterbol pueden seguirle varios elementos que estaacuten formados por un conjunto de nodos y un conjunto de aristas que conectan pares de nodos

TIPOS DE DATOS CONSTANTESUna constante es un dato cuyo valor no puede cambiar durante la ejecucioacuten del programaRecibe un valor en el momento de la compilacioacuten y este permanece inalterado durante todo el programa Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

TIPOS DE DATOS VARIABLESUna variable es un nombre asociado a un elemento de datos que estaacute situado en posiciones contiguas de la memoria principal y su valor puede cambiar durante la ejecucioacuten de un programa En la declaracioacuten de una variable se debe indicar el tipo al que pertenece Asiacute tendremos variables enteras reales booleanas etc Por otro lado distinguimos tres partes fundamentales en la vida de una variable Declaracioacuten Iniciacioacuten Utilizacioacuten

TIPOS DE EXPRECIONES

Una expresioacuten es una combinacioacuten de variables operadores y llamadas de meacutetodos construida de acuerdo a la sintaxis del lenguaje que devuelve un valor El tipo de dato del valor regresado por una expresioacuten depende de los elementos usados en la expresioacuten

OPERADORESLos operadores son siacutembolos especiales que por lo comuacuten se utilizan en expresiones

La tabla siguiente muestra los distintos tipos de operadores

Operador Significado Ejemplo

Operadores aritmeacuteticos

+ Suma a + b

- Resta a - b

Multiplicacioacuten a b

TABLA DE VERDAD DE LOS OPERADORES

LOgraveGICOSSon aquellas que evaluacutean maacutes de una condicioacuten en una sola expresioacuten para esto hacen uso de los operadores loacutegicos

ORDEN DE EVALUCION DE LOS OPERADORES

Cuando en una expresioacuten aparece maacutes de un operador es necesario definir un orden de evaluacioacuten para los operadores Este orden viene dado por las siguientes reglas

1- Todas las sub expresiones entre pareacutentesis se evaluacutean primero En los pareacutentesis anidados se evaluacutea primero el maacutes interior2- En una misma expresioacuten los operadores se evaluacutean seguacuten su orden de prioridad (los operadores en la misma liacutenea de la siguiente tabla tienen el mismo nivel de procedencia)

ALGORITMOS

Se define como el conjunto ordenado de pasos a seguir para resolver un problema concreto sin ambiguumledad alguna en un tiempo finito

CARACTERISTICAS

SER FINITO Tiene que acabar siempre tras un nuacutemero finito de pasosREPETITIVO Debe repetirse todas las veces que sea necesario dando siempre ideacutenticos resultados para las mismas condicionesVALIDO que haga lo que se pretende que haga y devuelva los resultados esperadosDEFINIBLE Cada paso debe quedar definido de un modo preciso y sin ambiguumledadesPRECISION Debe ser concreto utilizando solo el numero de pasos para llegar a una solucioacuten claraRECIBE DATOS DE ENTRADA Es normal que reciba datos desde el exterior que luego utiliza y trataPROPORCIONA RESULTADOS DE SALIDA Produce uno o varios resultados en su ejecucioacuten que enviacutea al exterior como valor de salidaSER EFECTIVO Que resuelva el problema de forma raacutepida y eficiente

GRAacuteFICA (DIAGRAMAS DE FLUJO)

Son esquemas para representar y expresar algoritmos Estos diagramas utilizan siacutembolos con significados definidos que representan los pasos del algoritmo y representan el flujo de ejecucioacuten mediante flechas que conectan los puntos de inicio y de fin de proceso

ESTRUCTURA SECUENCIALINICIO

OPERACIOacuteN DE ENTRADASALIDA

FINEST

RUCTURA

CONDICIONAL

DIRECCION

REGLAS GENERALESEstablecer el alcance del proceso de esta manera quedaraacute fijado el comienzo y el final del diagramaIdentificar y listar las principales actividadessubprocesos que estaacuten incluidos en el proceso y su orden cronoloacutegicoIdentificar y listar los puntos de decisioacutenConstruir el diagrama respetando la secuencia cronoloacutegica y asignando los correspondientes siacutembolosAsignar un tiacutetulo al diagrama y verificar que esteacute completo y describa con exactitud el proceso elegido

VENTAJASFavorecen la comprensioacuten del proceso al mostrarlo como un dibujo

Permiten identificar los problemas y las oportunidades de mejora del procesoMuestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan facilitando el anaacutelisis de las mismasSon una excelente herramienta para capacitar a los nuevos empleados y tambieacuten a los que desarrollan la tarea cuando se realizan mejoras en el procesoCon fines de anaacutelisis de algoritmo de programacioacuten puede ser ejecutado en un ordenador y con un IDE como Free DFD

DIAGRAMAS CHAPIN O DIAGRAMAS NASSI-SCHNEIDERMAN (N-S)

Es una descripcioacuten de algoritmos basados en la utilizacioacuten de siacutembolos graacuteficos estos se constituyen utilizan como siacutembolo baacutesico el rectaacutengulo dentro del cual aparecen sentencias en lenguaje algoriacutetmico que ayuda a describir las acciones que se realizan

TEXTUAL (SEUDOCOacuteDIGO)

Es un conjunto pequentildeo y completo de sentencias mediante las cuales podemos expresar todas las acciones a llevar a cabo para realizar una tarea mediante un ordenador sus elementos son palabras y secuencias

Ejemplo VARIABLES Precio precio final entero Porcentaje descuento real INICIO escribe(`precio `) lee(precio) escribe(`Porcentaje `) lee(porcentaje) FIN

REGLAS GENERALES

Comienza con la palabra ldquoiniciordquo y termina con la palabra ldquofinrdquo Cada instruccioacuten se debe escribir en una liacutenea Para su descripcioacuten se utilizan palabras reservadas que tienen un significado especiacutefico (ldquoIniciordquo ldquoFinrdquo ldquoSirdquo ldquoEntoncesrdquo ldquoSi nordquo ldquoFin sirdquo ldquoMientrasrdquo ldquoFin Mientrasrdquo ldquoSeguirrdquo ldquoFin Seguirrdquo)Debe escribirse indentado (tabulando) para mostrar claramente las dependencias de unas instrucciones del programa con respecto a otrasCada una de las estructuras que definen un programa tendraacute un punto de comienzo y uno de fin especificados por las palabras reservadas que definen la estructura

VENTAJAS

Se leen de arriba abajoPermite el uso de teacutecnicas decentesFavorece la participacioacuten del programa en moacutedulos pequentildeosResaltan mas las partes generales No permite la violacioacuten de las condiciones estructuradasEl aacutembito de cada bloque o estructura esta perfectamente definido

INCONVENIENTES

No se reconstruyen faacutecilmente si cambia la loacutegica del programaNo permite representar la conexioacuten de varios moacutedulos entre si

METODOLOGIgraveA DE LA PROGRAMACIOgraveN

Se entiende como metodologiacutea de la programacioacuten al conjunto de normas meacutetodos y anotaciones que nos indican la forma de programar

ESTRUCTURA GENERAL DE UN PROGRAMA

Todo programa contiene dos bloques bien diferenciados para la descripcioacuten de los datos

PARTES PRINCIPALES DE UN PROGRAMA

BLOQUES DE DECLARACIONES En el se especifican todos los objetos que utiliza el programa (constantes variables tablas de registro archivos etc) indicando siempre sus caracteriacutesticas

BLOQUE DE INSTRUCCIONES Estaacute constituido por el conjunto de operaciones que se han de realizar para la obtencioacuten de los resultados deseados

SALIDA DE RESULTADOS

Es el conjunto de instrucciones que toman los datos finales (resultados) y los enviacutean a los dispositivos externos (memoria datos central de salida)

PROCESO DE DATOS O ALGORITMODatos de entrada proceso resultados

ENTRADA DE DATOS

La constituye n todas las instrucciones que toman los datos de entrada y los almacenan en la memoria central para que puedan ser

procesadosCLASIFICACION DE LAS INSTRUCCIONES

INTRUCCIONES D DECLARACION Su misioacuten es anunciar la utilizacioacuten de objetos en un programa indicado que identificador tipo y otras caracteriacutesticas corresponden a cada uno de ellosINSTRUCCIONES PRIMITIVAS Son aquellas que ejecutan el proceso de modo inmediato Las instrucciones primitivas pueden ser de entrada de asignacioacuten o de salida se dividen en entradas de asignacioacuten y de salida

INSTRUCCIONES DE CONTROL Son instrucciones que no realizan trabajo efectivo salvo la evaluacioacuten de expresiones generalmente loacutegicas con el objetivo de controlar la ejecucioacuten de otras instrucciones o alterar el orden de ejecucioacuten normal de las instrucciones de un programaINSTRUCCIONES COMPUESTAS Una instruccioacuten compuesta es aquella que representa a un conjunto de instrucciones que estaacuten definidas en otra parte en general son llamadas a sus programas (funciones subrutinas paacuterrafos etc)

COMENTARIOS Son frases que se incluyen de forma moderada en el disentildeo de un algoritmo (en la codificacioacuten suele ser maacutes recomendable su uso) con intencioacuten de aclarar el cometido o funcioacuten de un objeto o conjunto de instrucciones

VARIABLES AUXILIARES DE UN PROGRAMA

Son objetos que utiliza un programa y por la funcioacuten que realizan dentro del mismo toman un nombre especial Contadores acumuladores e interruptores

CONTADORES

Un contador es una variable destinada a almacenar un valor que se iraacute incrementando o decrementando en una cantidad constante Se suelen utilizar mucho en procesos repetitivos para contabilizar el nuacutemero de veces que se repite un conjunto de acciones o eventos es decir en los cuerpos de las instrucciones repetitivas

ACUMULADORESUn acumulador o totalizador es una variable cuya misioacuten es acumular cantidades sucesivas obtenidas al realizar la misma operacioacuten La diferencia de un contador es que el incremento o decremento es variable en lugar de constante como en el caso del contador Para utilizarlos hay que realizar sobre ellos dos operaciones baacutesicas Inicializacioacuten Todo acumulador necesita ser inicializado con el valor neutro de la operacioacuten que va a acumular que en el caso de la suma es 0 y del producto es 1

SUMA 0 PRODUCTO 1

Acumulacioacuten Cuando se hace presente en la memoria el elemento a acumular por la realizacioacuten de una lectura o un calculo se efectuacutea la acumulacioacuten del mismo por medio de la asignacioacuten

SUMA + elementoPRODUCTO elemento

INTERRUPTORES O CONMUTADORES

Un interruptor o conmutador es un campo de memoria (variable) que toman diversos valores a lo largo de la ejecucioacuten del programa Los valores que toma son normalmente 1 o siacute (encendidoabierto) y 0 o no (apagadocerrado) (de ahiacute su nombre de interruptor)a) Recordar en un determinado lugar del programa la ocurrencia o no de un suceso b) Realizar de forma alternativa independiente dos procesos alternativos

SUBPROGRAMA

Un subprograma se utiliza por el programa para un fin especiacutefico El subprograma recibe datos del programa y le devuelve resultados Se dice que el programa llama o invoca al subprograma El subprograma ejecuta una tarea a continuacioacuten retorna o devuelve el control al programa Esta accioacuten puede suceder en diferentes partes del programa Cada vez que el subprograma es llamado el control vuelve al lugar desde donde fue hecha la llamada

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 4: PROYECTO  METODOLOGIA DENYS.pptx

182 Estructurados 1821 Matrices o arreglos 1822 Listas 1823 Arboles 19 Constantes 110 Variables 111 Expresiones 1111 Tipos de expresiones 1112 Operadores 1113 Tabla de verdad de los operadores loacutegicos 1114 Orden de evaluacioacuten de los operadores

2 ALGORITMOS 21 Definicioacuten 22 Caracteriacutesticas 2311 Reglas 2312 Ventajas e inconvenientes 2313 Ordinogramas 2314 Diagramas estructurales 2315 Diagramas de NS (NassiShneiderman)

232 Textual (pseudocoacutedigo) 2321 Reglas generales 23322 Ventajas e inconvenientes 2323 Palabras convencionales reservadas o clave

3 METODOLOGIgraveA DE LA PROGRAMACIOgraveN 31 Estructura general de un programa A) Partes principales de un programa a) Salidas de resultados requeridos b) Proceso de datos para obtener los resultados c) Entrada de datos y procesar d) Control de errores B) Clasificacioacuten de las instrucciones a) De declaracioacuten b) Primitivas c) De control d) Compuestas e) Comentarios f) Especiales C) Variables auxiliares de un programa a) Contadores b) acumuladores

c) Interruptores o conmutadores d) Temporales e) De paso de valores D) Subprogramas a) Subrutinasprocedimientos b) Funciones 32 Procedimientos y requerimientos generales para el desarrollo de un programa A) Faces de proceso a) Resultados y formato solicitado B) Anaacutelisis del problema a) Datos requeridos asiacute como formatos y medios de acceso de datos C) Desarrollo de la solucioacuten a) Desarrollo de algoritmos b) Pruebas de escritorio c) Codificacioacuten y documentacioacuten interna d) Compilacioacuten e) Pruebas en el compilador D) Documentacioacuten externa 33 Programacioacuten modular A) El concepto del modulo

B) Requisitos de la programacioacuten modular C) Clasificacioacuten de los moacutedulos D) Teacutecnicas de programacioacuten modular a) Disentildeos descendente (top Down) b) Ensamble ascendente (bottom up) c) Refinamiento de pasos sucesivos (step wise refinement) E) Criterios de modularizaciograven 34 Programacioacuten estructurada A) Conceptos baacutesicos B) Estructuras baacutesicas de control C) Recursos abstractos D) Meacutetodos de programacioacuten estructurada Descripcioacuten geneacuterica a) Bertini b) Tabourier c) Chapiacuten (NassiShneiderman) E) Meacutetodo de Jackson a) Introduccioacuten b) Fundamentos baacutesicos entidades c) Fases de meacutetodo d) Errores e invalidez e) Collating f) Back tracking

g) Colisioacuten de estructuras h) Inversioacuten de programas F) Meacutetodo de Warnier a) Introduccioacuten b) Estructuras baacutesicas c) Fases del meacutetodo d) Estudio de datos de salida e) Estudio de datos de entrada f) Cuadro de descomposicioacuten de secuencia g) Cuadro de secuencias de Warnier h) Lista de introduccioacuten y asignacioacuten de las mismas DIFERENCIAS

Es un paradigma de la programacioacuten que proporciona lineamientos para desarrollar un proyecto de sistema de informacioacuten

iquest Q u eacute e s e l C i c l o d e V i d a d e l o s S i s t e m a s d e I n f o r m a c i oacute n

INTRODUCCION A LA PROGRAMACION DE LAS COMPUTADORAS

FASE 1

FASE 2

FASE 3

FASE N

FASE N + 1

Desarro

llo e im

plementacioacuten

Las fases se deben realizar en forma secuencial Sin embargo el analista puede volver a alguno de los pasos anteriores

Cada posible conjunto de fases actividades meacutetodos herramientas mejores praacutecticas forman una metodologiacutea diferente

Fases variacutean de autor en autor y seguacuten las organizaciones que los usen

Las etapas del proceso para el desarrollo de sistemas estaacuten formados por fases

ERRORESERRORES DE COMPILACION Los errores en tiempo de compilacioacuten o sintaacutecticos corresponden al incumplimiento de las reglas sintaacutecticas del lenguaje Estos errores son los maacutes faacuteciles de corregir ya que son detectados por el compilador el cual daraacute informacioacuten sobe el lugar donde estaacute y la naturaleza de cada uno de ellos mediante un mensaje de erro ERRORES DE EJECUCIOgraveN son errores que aparecen mientras se ejecuta su programa Estos errores aparecen normalmente cuando su programa intenta una operacioacuten que es imposible que se lleve a cabo Se detectan porque se produce una parada anormal del programa durante su ejecucioacuten y se dice entonces que el programa se ha caiacutedo o que ha sido abortado por el sistema ERRORES DE LOGICOS Corresponden a la obtencioacuten por el programa de resultados que no son correctos y la uacutenica manera de detectarlos es realizando un numero suficiente de ejecuciones de prueba con una gama lo maacutes amplia posible de juegos de datos de prueba comparando los datos producidos por el programa con los obtenidos a mano para esos mismos datos

CALIDAD DE LOS PROGRAMAS

LEGIBILIDAD La le

gibilidad

es el conjunto de

caracteriacutestic

as tipograacutefic

as y

linguumliacutestic

as del texto escrito

que permite

n leerlo

y

comprenderlo con fa

cilidad

FIABILIDAD El

programa debe ser

claro y sencillo de tal

forma que facilite su

lectura y compresioacuten

PORTABILIDAD Ha de

ser capaz de

recuperarse frente a

errores o usos

inadecuados

Modificabilidad El programa ha de facilitar su mantenimiento es decir las modificaciones y actualizaciones necesarias para adaptarlo a 1 nueva situacioacuten

EFICIENCIA Se deben

aprovechar al maacuteximo los

recursos del ordenador

minimizando la memoria

utilizada y el tiempo de

proceso o ejecucioacuten

siempre que no sea a costa

de las anteriores

caracteriacutesticas

METODOLOGIacuteA DE LA PROGRAMACIOacuteN

Conjunto o sistema de meacutetodos principios y reglas que permiten enfrentar de manera sistemaacutetica el desarrollo de un programa que resuelve un problema algoriacutetmico

PROGRAMACION MODULARConsiste en dividir los problemas maacutes pequentildeos en subproblemas con el fin de resolver una tarea sencilla y que no se vuelva tediosa A estos subproblemas en programacioacuten se denominan subprogramas de ahiacute programacioacuten modular

PROGRAMACIOacuteN ESTRUCTURADA Se refiere al control de ejecucioacutensiendo eacuteste una de las cuestiones maacutes importantes que hay que tener en cuenta al construir un programa en un lenguaje de alto nivel La regla general es que las instrucciones se ejecuten sucesivamente una tras otra pero diversas partes del programa se ejecutan o no dependiendo de que se cumpla alguna condicioacuten

DOCUMENTACIOacuteN DE PROGRAMAS

Documentar es una tarea tan necesaria e importante como escribir el coacutedigo el coacutedigo indica como funciona el programa y la documentacioacuten indica porqueacute lo hace

DOCUMENTACIOacuteN EXTERNA es aquella que se encuentra independiente del programa fuente Se encuentra en un Manual impreso y describe con profundidad sus caracteriacutestica teacutecnicas y funcionamientoDOCUMENTACION INTERNA Documento que le indica al usuario (operador) conocer utilizar y operar correctamente el sistema

OBJETOS DE UN PROGRAMA

Los datos son los objetos sobre los que un ordenador opera Se pueden clasificar en los siguientes tipos1- SIMPLES numeacutericos enteros loacutegicos reales2- ESTRUCTURADOS tablas registros conjuntos ficheros grafos3- DEFINIDOS POR EL USUARIO alfabeacuteticos (AB a b) diacutegitos (09) especiales ($lt)

IDENTIFICADORESSon los nombres que se dan a los programas variables constantes subprogramas y otros objetos o entidades de diacutegitos Deben escribirse de acuerdo a unas reglas que cada lenguaje establece

TIPOS DE DATOSUn tipo de dato es un atributo de una parte de los datos que indica al programador algo sobre la clase de datos sobre los que se va a procesar Un tipo de dato define un conjunto de valores y las operaciones sobre estos valores

TIPOS ELEMENTALES NUMERICOS

Los tipos simples son numeacutericos (enteros reales) Loacutegicos (booleanos) Caraacutecter (caracteres cadenas de caracteres)El tipo de dato numeacuterico es el conjunto de los valores numeacutericos

Se pueden representar de dos formasEnteros (nuacutemeros completos que no tienen componentes fraccionarios)Ejemplos 16 3868 -1256 0Reales (consta de una parte entera y una parte decimal)Ejemplos -1230 01 49827 -0002

TIPOS DE DATOS DE CARAgraveCTER

Caraacutecter (conjunto finito y ordenado de caracteres que la computadora reconoce)La mayoriacutea reconoce los siguientes tipos de caracteres Caracteres Alfabeacuteticos A B C hellip Z a b c hellip zCaracteres Numeacutericos 0 1 2 hellip 9Caracteres Especiales + - ^ lt gt $ hellipEjemplos lsquoarsquo lsquoArsquo lsquo0rsquo lsquo_rsquo

TIPOS DE DATOS BOLEANOS

El tipo de dato loacutegico o booleano es en computacioacuten aquel que puede representar valores de loacutegica binaria esto es 2 valores valores que normalmente representan falso o verdadero Se utiliza normalmente en la programacioacuten estadiacutestica electroacutenica matemaacuteticas (Aacutelgebra booleana) etcPara generar un dato o valor loacutegico a partir de otros tipos de datos tiacutepicamente se emplean los operadores relacionales (u operadores de relacioacuten) por ejemplo 0 es igual a falso y 1 es igual a verdadero(3gt2)= 1 = verdadero(7gt9)= 0 = falso

Un ejemplo de este tipo de expresiones seriacuteanverdadero AND falso --gt falsofalso OR verdadero --gt verdaderoNOT verdadero --gt falso

TIPOS DE DATOS ESTRUCTURADOS

Son agrupaciones de otros tipos de datosLos tipos de datos estructurados maacutes comunes son vectores y matrices (array) cadenas de caracteres (string) registros y uniones

TIPOS DE DATOS ESTRUCTURADOS MATRICES O ARREGLOS

Un arreglo(matriz o vector) es un conjunto finito y ordenado de elementos homogeacuteneos La propiedad homogeacuteneo quiere decir que los elementos son del mismo tipo de datosLa propiedad ordenado significa que el elemento primero segundo hellip eneacutesimo de un arreglo puede ser identificado

TIPOS DE DATOS LISTASUna lista enlazada es una de las estructuras de datos fundamentales y puede ser usada para implementar otras estructuras de datosConsiste en una secuencia de nodos en los que se guardan campos de datos arbitrarios y una o dos referencias enlaces o punteros al nodo anterior o posterior

Una lista enlazada es un tipo de dato auto referenciado porque contienen un puntero o enlace (en ingleacutes link del mismo significado) a otro dato del mismo tipo Existen diferentes tipos de listas enlazadas Lista Enlazadas Simples Listas Doblemente Enlazadas Listas Enlazadas Circulares y Listas Enlazadas Doblemente Circulares

TIPOS DE DATOS ARBOLES

Es una estructura no lineal y dinaacutemica de datos Dinaacutemica puede cambiar durante la ejecucioacuten de un programaNo lineal a cada elemento del aacuterbol pueden seguirle varios elementos que estaacuten formados por un conjunto de nodos y un conjunto de aristas que conectan pares de nodos

TIPOS DE DATOS CONSTANTESUna constante es un dato cuyo valor no puede cambiar durante la ejecucioacuten del programaRecibe un valor en el momento de la compilacioacuten y este permanece inalterado durante todo el programa Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

TIPOS DE DATOS VARIABLESUna variable es un nombre asociado a un elemento de datos que estaacute situado en posiciones contiguas de la memoria principal y su valor puede cambiar durante la ejecucioacuten de un programa En la declaracioacuten de una variable se debe indicar el tipo al que pertenece Asiacute tendremos variables enteras reales booleanas etc Por otro lado distinguimos tres partes fundamentales en la vida de una variable Declaracioacuten Iniciacioacuten Utilizacioacuten

TIPOS DE EXPRECIONES

Una expresioacuten es una combinacioacuten de variables operadores y llamadas de meacutetodos construida de acuerdo a la sintaxis del lenguaje que devuelve un valor El tipo de dato del valor regresado por una expresioacuten depende de los elementos usados en la expresioacuten

OPERADORESLos operadores son siacutembolos especiales que por lo comuacuten se utilizan en expresiones

La tabla siguiente muestra los distintos tipos de operadores

Operador Significado Ejemplo

Operadores aritmeacuteticos

+ Suma a + b

- Resta a - b

Multiplicacioacuten a b

TABLA DE VERDAD DE LOS OPERADORES

LOgraveGICOSSon aquellas que evaluacutean maacutes de una condicioacuten en una sola expresioacuten para esto hacen uso de los operadores loacutegicos

ORDEN DE EVALUCION DE LOS OPERADORES

Cuando en una expresioacuten aparece maacutes de un operador es necesario definir un orden de evaluacioacuten para los operadores Este orden viene dado por las siguientes reglas

1- Todas las sub expresiones entre pareacutentesis se evaluacutean primero En los pareacutentesis anidados se evaluacutea primero el maacutes interior2- En una misma expresioacuten los operadores se evaluacutean seguacuten su orden de prioridad (los operadores en la misma liacutenea de la siguiente tabla tienen el mismo nivel de procedencia)

ALGORITMOS

Se define como el conjunto ordenado de pasos a seguir para resolver un problema concreto sin ambiguumledad alguna en un tiempo finito

CARACTERISTICAS

SER FINITO Tiene que acabar siempre tras un nuacutemero finito de pasosREPETITIVO Debe repetirse todas las veces que sea necesario dando siempre ideacutenticos resultados para las mismas condicionesVALIDO que haga lo que se pretende que haga y devuelva los resultados esperadosDEFINIBLE Cada paso debe quedar definido de un modo preciso y sin ambiguumledadesPRECISION Debe ser concreto utilizando solo el numero de pasos para llegar a una solucioacuten claraRECIBE DATOS DE ENTRADA Es normal que reciba datos desde el exterior que luego utiliza y trataPROPORCIONA RESULTADOS DE SALIDA Produce uno o varios resultados en su ejecucioacuten que enviacutea al exterior como valor de salidaSER EFECTIVO Que resuelva el problema de forma raacutepida y eficiente

GRAacuteFICA (DIAGRAMAS DE FLUJO)

Son esquemas para representar y expresar algoritmos Estos diagramas utilizan siacutembolos con significados definidos que representan los pasos del algoritmo y representan el flujo de ejecucioacuten mediante flechas que conectan los puntos de inicio y de fin de proceso

ESTRUCTURA SECUENCIALINICIO

OPERACIOacuteN DE ENTRADASALIDA

FINEST

RUCTURA

CONDICIONAL

DIRECCION

REGLAS GENERALESEstablecer el alcance del proceso de esta manera quedaraacute fijado el comienzo y el final del diagramaIdentificar y listar las principales actividadessubprocesos que estaacuten incluidos en el proceso y su orden cronoloacutegicoIdentificar y listar los puntos de decisioacutenConstruir el diagrama respetando la secuencia cronoloacutegica y asignando los correspondientes siacutembolosAsignar un tiacutetulo al diagrama y verificar que esteacute completo y describa con exactitud el proceso elegido

VENTAJASFavorecen la comprensioacuten del proceso al mostrarlo como un dibujo

Permiten identificar los problemas y las oportunidades de mejora del procesoMuestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan facilitando el anaacutelisis de las mismasSon una excelente herramienta para capacitar a los nuevos empleados y tambieacuten a los que desarrollan la tarea cuando se realizan mejoras en el procesoCon fines de anaacutelisis de algoritmo de programacioacuten puede ser ejecutado en un ordenador y con un IDE como Free DFD

DIAGRAMAS CHAPIN O DIAGRAMAS NASSI-SCHNEIDERMAN (N-S)

Es una descripcioacuten de algoritmos basados en la utilizacioacuten de siacutembolos graacuteficos estos se constituyen utilizan como siacutembolo baacutesico el rectaacutengulo dentro del cual aparecen sentencias en lenguaje algoriacutetmico que ayuda a describir las acciones que se realizan

TEXTUAL (SEUDOCOacuteDIGO)

Es un conjunto pequentildeo y completo de sentencias mediante las cuales podemos expresar todas las acciones a llevar a cabo para realizar una tarea mediante un ordenador sus elementos son palabras y secuencias

Ejemplo VARIABLES Precio precio final entero Porcentaje descuento real INICIO escribe(`precio `) lee(precio) escribe(`Porcentaje `) lee(porcentaje) FIN

REGLAS GENERALES

Comienza con la palabra ldquoiniciordquo y termina con la palabra ldquofinrdquo Cada instruccioacuten se debe escribir en una liacutenea Para su descripcioacuten se utilizan palabras reservadas que tienen un significado especiacutefico (ldquoIniciordquo ldquoFinrdquo ldquoSirdquo ldquoEntoncesrdquo ldquoSi nordquo ldquoFin sirdquo ldquoMientrasrdquo ldquoFin Mientrasrdquo ldquoSeguirrdquo ldquoFin Seguirrdquo)Debe escribirse indentado (tabulando) para mostrar claramente las dependencias de unas instrucciones del programa con respecto a otrasCada una de las estructuras que definen un programa tendraacute un punto de comienzo y uno de fin especificados por las palabras reservadas que definen la estructura

VENTAJAS

Se leen de arriba abajoPermite el uso de teacutecnicas decentesFavorece la participacioacuten del programa en moacutedulos pequentildeosResaltan mas las partes generales No permite la violacioacuten de las condiciones estructuradasEl aacutembito de cada bloque o estructura esta perfectamente definido

INCONVENIENTES

No se reconstruyen faacutecilmente si cambia la loacutegica del programaNo permite representar la conexioacuten de varios moacutedulos entre si

METODOLOGIgraveA DE LA PROGRAMACIOgraveN

Se entiende como metodologiacutea de la programacioacuten al conjunto de normas meacutetodos y anotaciones que nos indican la forma de programar

ESTRUCTURA GENERAL DE UN PROGRAMA

Todo programa contiene dos bloques bien diferenciados para la descripcioacuten de los datos

PARTES PRINCIPALES DE UN PROGRAMA

BLOQUES DE DECLARACIONES En el se especifican todos los objetos que utiliza el programa (constantes variables tablas de registro archivos etc) indicando siempre sus caracteriacutesticas

BLOQUE DE INSTRUCCIONES Estaacute constituido por el conjunto de operaciones que se han de realizar para la obtencioacuten de los resultados deseados

SALIDA DE RESULTADOS

Es el conjunto de instrucciones que toman los datos finales (resultados) y los enviacutean a los dispositivos externos (memoria datos central de salida)

PROCESO DE DATOS O ALGORITMODatos de entrada proceso resultados

ENTRADA DE DATOS

La constituye n todas las instrucciones que toman los datos de entrada y los almacenan en la memoria central para que puedan ser

procesadosCLASIFICACION DE LAS INSTRUCCIONES

INTRUCCIONES D DECLARACION Su misioacuten es anunciar la utilizacioacuten de objetos en un programa indicado que identificador tipo y otras caracteriacutesticas corresponden a cada uno de ellosINSTRUCCIONES PRIMITIVAS Son aquellas que ejecutan el proceso de modo inmediato Las instrucciones primitivas pueden ser de entrada de asignacioacuten o de salida se dividen en entradas de asignacioacuten y de salida

INSTRUCCIONES DE CONTROL Son instrucciones que no realizan trabajo efectivo salvo la evaluacioacuten de expresiones generalmente loacutegicas con el objetivo de controlar la ejecucioacuten de otras instrucciones o alterar el orden de ejecucioacuten normal de las instrucciones de un programaINSTRUCCIONES COMPUESTAS Una instruccioacuten compuesta es aquella que representa a un conjunto de instrucciones que estaacuten definidas en otra parte en general son llamadas a sus programas (funciones subrutinas paacuterrafos etc)

COMENTARIOS Son frases que se incluyen de forma moderada en el disentildeo de un algoritmo (en la codificacioacuten suele ser maacutes recomendable su uso) con intencioacuten de aclarar el cometido o funcioacuten de un objeto o conjunto de instrucciones

VARIABLES AUXILIARES DE UN PROGRAMA

Son objetos que utiliza un programa y por la funcioacuten que realizan dentro del mismo toman un nombre especial Contadores acumuladores e interruptores

CONTADORES

Un contador es una variable destinada a almacenar un valor que se iraacute incrementando o decrementando en una cantidad constante Se suelen utilizar mucho en procesos repetitivos para contabilizar el nuacutemero de veces que se repite un conjunto de acciones o eventos es decir en los cuerpos de las instrucciones repetitivas

ACUMULADORESUn acumulador o totalizador es una variable cuya misioacuten es acumular cantidades sucesivas obtenidas al realizar la misma operacioacuten La diferencia de un contador es que el incremento o decremento es variable en lugar de constante como en el caso del contador Para utilizarlos hay que realizar sobre ellos dos operaciones baacutesicas Inicializacioacuten Todo acumulador necesita ser inicializado con el valor neutro de la operacioacuten que va a acumular que en el caso de la suma es 0 y del producto es 1

SUMA 0 PRODUCTO 1

Acumulacioacuten Cuando se hace presente en la memoria el elemento a acumular por la realizacioacuten de una lectura o un calculo se efectuacutea la acumulacioacuten del mismo por medio de la asignacioacuten

SUMA + elementoPRODUCTO elemento

INTERRUPTORES O CONMUTADORES

Un interruptor o conmutador es un campo de memoria (variable) que toman diversos valores a lo largo de la ejecucioacuten del programa Los valores que toma son normalmente 1 o siacute (encendidoabierto) y 0 o no (apagadocerrado) (de ahiacute su nombre de interruptor)a) Recordar en un determinado lugar del programa la ocurrencia o no de un suceso b) Realizar de forma alternativa independiente dos procesos alternativos

SUBPROGRAMA

Un subprograma se utiliza por el programa para un fin especiacutefico El subprograma recibe datos del programa y le devuelve resultados Se dice que el programa llama o invoca al subprograma El subprograma ejecuta una tarea a continuacioacuten retorna o devuelve el control al programa Esta accioacuten puede suceder en diferentes partes del programa Cada vez que el subprograma es llamado el control vuelve al lugar desde donde fue hecha la llamada

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 5: PROYECTO  METODOLOGIA DENYS.pptx

232 Textual (pseudocoacutedigo) 2321 Reglas generales 23322 Ventajas e inconvenientes 2323 Palabras convencionales reservadas o clave

3 METODOLOGIgraveA DE LA PROGRAMACIOgraveN 31 Estructura general de un programa A) Partes principales de un programa a) Salidas de resultados requeridos b) Proceso de datos para obtener los resultados c) Entrada de datos y procesar d) Control de errores B) Clasificacioacuten de las instrucciones a) De declaracioacuten b) Primitivas c) De control d) Compuestas e) Comentarios f) Especiales C) Variables auxiliares de un programa a) Contadores b) acumuladores

c) Interruptores o conmutadores d) Temporales e) De paso de valores D) Subprogramas a) Subrutinasprocedimientos b) Funciones 32 Procedimientos y requerimientos generales para el desarrollo de un programa A) Faces de proceso a) Resultados y formato solicitado B) Anaacutelisis del problema a) Datos requeridos asiacute como formatos y medios de acceso de datos C) Desarrollo de la solucioacuten a) Desarrollo de algoritmos b) Pruebas de escritorio c) Codificacioacuten y documentacioacuten interna d) Compilacioacuten e) Pruebas en el compilador D) Documentacioacuten externa 33 Programacioacuten modular A) El concepto del modulo

B) Requisitos de la programacioacuten modular C) Clasificacioacuten de los moacutedulos D) Teacutecnicas de programacioacuten modular a) Disentildeos descendente (top Down) b) Ensamble ascendente (bottom up) c) Refinamiento de pasos sucesivos (step wise refinement) E) Criterios de modularizaciograven 34 Programacioacuten estructurada A) Conceptos baacutesicos B) Estructuras baacutesicas de control C) Recursos abstractos D) Meacutetodos de programacioacuten estructurada Descripcioacuten geneacuterica a) Bertini b) Tabourier c) Chapiacuten (NassiShneiderman) E) Meacutetodo de Jackson a) Introduccioacuten b) Fundamentos baacutesicos entidades c) Fases de meacutetodo d) Errores e invalidez e) Collating f) Back tracking

g) Colisioacuten de estructuras h) Inversioacuten de programas F) Meacutetodo de Warnier a) Introduccioacuten b) Estructuras baacutesicas c) Fases del meacutetodo d) Estudio de datos de salida e) Estudio de datos de entrada f) Cuadro de descomposicioacuten de secuencia g) Cuadro de secuencias de Warnier h) Lista de introduccioacuten y asignacioacuten de las mismas DIFERENCIAS

Es un paradigma de la programacioacuten que proporciona lineamientos para desarrollar un proyecto de sistema de informacioacuten

iquest Q u eacute e s e l C i c l o d e V i d a d e l o s S i s t e m a s d e I n f o r m a c i oacute n

INTRODUCCION A LA PROGRAMACION DE LAS COMPUTADORAS

FASE 1

FASE 2

FASE 3

FASE N

FASE N + 1

Desarro

llo e im

plementacioacuten

Las fases se deben realizar en forma secuencial Sin embargo el analista puede volver a alguno de los pasos anteriores

Cada posible conjunto de fases actividades meacutetodos herramientas mejores praacutecticas forman una metodologiacutea diferente

Fases variacutean de autor en autor y seguacuten las organizaciones que los usen

Las etapas del proceso para el desarrollo de sistemas estaacuten formados por fases

ERRORESERRORES DE COMPILACION Los errores en tiempo de compilacioacuten o sintaacutecticos corresponden al incumplimiento de las reglas sintaacutecticas del lenguaje Estos errores son los maacutes faacuteciles de corregir ya que son detectados por el compilador el cual daraacute informacioacuten sobe el lugar donde estaacute y la naturaleza de cada uno de ellos mediante un mensaje de erro ERRORES DE EJECUCIOgraveN son errores que aparecen mientras se ejecuta su programa Estos errores aparecen normalmente cuando su programa intenta una operacioacuten que es imposible que se lleve a cabo Se detectan porque se produce una parada anormal del programa durante su ejecucioacuten y se dice entonces que el programa se ha caiacutedo o que ha sido abortado por el sistema ERRORES DE LOGICOS Corresponden a la obtencioacuten por el programa de resultados que no son correctos y la uacutenica manera de detectarlos es realizando un numero suficiente de ejecuciones de prueba con una gama lo maacutes amplia posible de juegos de datos de prueba comparando los datos producidos por el programa con los obtenidos a mano para esos mismos datos

CALIDAD DE LOS PROGRAMAS

LEGIBILIDAD La le

gibilidad

es el conjunto de

caracteriacutestic

as tipograacutefic

as y

linguumliacutestic

as del texto escrito

que permite

n leerlo

y

comprenderlo con fa

cilidad

FIABILIDAD El

programa debe ser

claro y sencillo de tal

forma que facilite su

lectura y compresioacuten

PORTABILIDAD Ha de

ser capaz de

recuperarse frente a

errores o usos

inadecuados

Modificabilidad El programa ha de facilitar su mantenimiento es decir las modificaciones y actualizaciones necesarias para adaptarlo a 1 nueva situacioacuten

EFICIENCIA Se deben

aprovechar al maacuteximo los

recursos del ordenador

minimizando la memoria

utilizada y el tiempo de

proceso o ejecucioacuten

siempre que no sea a costa

de las anteriores

caracteriacutesticas

METODOLOGIacuteA DE LA PROGRAMACIOacuteN

Conjunto o sistema de meacutetodos principios y reglas que permiten enfrentar de manera sistemaacutetica el desarrollo de un programa que resuelve un problema algoriacutetmico

PROGRAMACION MODULARConsiste en dividir los problemas maacutes pequentildeos en subproblemas con el fin de resolver una tarea sencilla y que no se vuelva tediosa A estos subproblemas en programacioacuten se denominan subprogramas de ahiacute programacioacuten modular

PROGRAMACIOacuteN ESTRUCTURADA Se refiere al control de ejecucioacutensiendo eacuteste una de las cuestiones maacutes importantes que hay que tener en cuenta al construir un programa en un lenguaje de alto nivel La regla general es que las instrucciones se ejecuten sucesivamente una tras otra pero diversas partes del programa se ejecutan o no dependiendo de que se cumpla alguna condicioacuten

DOCUMENTACIOacuteN DE PROGRAMAS

Documentar es una tarea tan necesaria e importante como escribir el coacutedigo el coacutedigo indica como funciona el programa y la documentacioacuten indica porqueacute lo hace

DOCUMENTACIOacuteN EXTERNA es aquella que se encuentra independiente del programa fuente Se encuentra en un Manual impreso y describe con profundidad sus caracteriacutestica teacutecnicas y funcionamientoDOCUMENTACION INTERNA Documento que le indica al usuario (operador) conocer utilizar y operar correctamente el sistema

OBJETOS DE UN PROGRAMA

Los datos son los objetos sobre los que un ordenador opera Se pueden clasificar en los siguientes tipos1- SIMPLES numeacutericos enteros loacutegicos reales2- ESTRUCTURADOS tablas registros conjuntos ficheros grafos3- DEFINIDOS POR EL USUARIO alfabeacuteticos (AB a b) diacutegitos (09) especiales ($lt)

IDENTIFICADORESSon los nombres que se dan a los programas variables constantes subprogramas y otros objetos o entidades de diacutegitos Deben escribirse de acuerdo a unas reglas que cada lenguaje establece

TIPOS DE DATOSUn tipo de dato es un atributo de una parte de los datos que indica al programador algo sobre la clase de datos sobre los que se va a procesar Un tipo de dato define un conjunto de valores y las operaciones sobre estos valores

TIPOS ELEMENTALES NUMERICOS

Los tipos simples son numeacutericos (enteros reales) Loacutegicos (booleanos) Caraacutecter (caracteres cadenas de caracteres)El tipo de dato numeacuterico es el conjunto de los valores numeacutericos

Se pueden representar de dos formasEnteros (nuacutemeros completos que no tienen componentes fraccionarios)Ejemplos 16 3868 -1256 0Reales (consta de una parte entera y una parte decimal)Ejemplos -1230 01 49827 -0002

TIPOS DE DATOS DE CARAgraveCTER

Caraacutecter (conjunto finito y ordenado de caracteres que la computadora reconoce)La mayoriacutea reconoce los siguientes tipos de caracteres Caracteres Alfabeacuteticos A B C hellip Z a b c hellip zCaracteres Numeacutericos 0 1 2 hellip 9Caracteres Especiales + - ^ lt gt $ hellipEjemplos lsquoarsquo lsquoArsquo lsquo0rsquo lsquo_rsquo

TIPOS DE DATOS BOLEANOS

El tipo de dato loacutegico o booleano es en computacioacuten aquel que puede representar valores de loacutegica binaria esto es 2 valores valores que normalmente representan falso o verdadero Se utiliza normalmente en la programacioacuten estadiacutestica electroacutenica matemaacuteticas (Aacutelgebra booleana) etcPara generar un dato o valor loacutegico a partir de otros tipos de datos tiacutepicamente se emplean los operadores relacionales (u operadores de relacioacuten) por ejemplo 0 es igual a falso y 1 es igual a verdadero(3gt2)= 1 = verdadero(7gt9)= 0 = falso

Un ejemplo de este tipo de expresiones seriacuteanverdadero AND falso --gt falsofalso OR verdadero --gt verdaderoNOT verdadero --gt falso

TIPOS DE DATOS ESTRUCTURADOS

Son agrupaciones de otros tipos de datosLos tipos de datos estructurados maacutes comunes son vectores y matrices (array) cadenas de caracteres (string) registros y uniones

TIPOS DE DATOS ESTRUCTURADOS MATRICES O ARREGLOS

Un arreglo(matriz o vector) es un conjunto finito y ordenado de elementos homogeacuteneos La propiedad homogeacuteneo quiere decir que los elementos son del mismo tipo de datosLa propiedad ordenado significa que el elemento primero segundo hellip eneacutesimo de un arreglo puede ser identificado

TIPOS DE DATOS LISTASUna lista enlazada es una de las estructuras de datos fundamentales y puede ser usada para implementar otras estructuras de datosConsiste en una secuencia de nodos en los que se guardan campos de datos arbitrarios y una o dos referencias enlaces o punteros al nodo anterior o posterior

Una lista enlazada es un tipo de dato auto referenciado porque contienen un puntero o enlace (en ingleacutes link del mismo significado) a otro dato del mismo tipo Existen diferentes tipos de listas enlazadas Lista Enlazadas Simples Listas Doblemente Enlazadas Listas Enlazadas Circulares y Listas Enlazadas Doblemente Circulares

TIPOS DE DATOS ARBOLES

Es una estructura no lineal y dinaacutemica de datos Dinaacutemica puede cambiar durante la ejecucioacuten de un programaNo lineal a cada elemento del aacuterbol pueden seguirle varios elementos que estaacuten formados por un conjunto de nodos y un conjunto de aristas que conectan pares de nodos

TIPOS DE DATOS CONSTANTESUna constante es un dato cuyo valor no puede cambiar durante la ejecucioacuten del programaRecibe un valor en el momento de la compilacioacuten y este permanece inalterado durante todo el programa Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

TIPOS DE DATOS VARIABLESUna variable es un nombre asociado a un elemento de datos que estaacute situado en posiciones contiguas de la memoria principal y su valor puede cambiar durante la ejecucioacuten de un programa En la declaracioacuten de una variable se debe indicar el tipo al que pertenece Asiacute tendremos variables enteras reales booleanas etc Por otro lado distinguimos tres partes fundamentales en la vida de una variable Declaracioacuten Iniciacioacuten Utilizacioacuten

TIPOS DE EXPRECIONES

Una expresioacuten es una combinacioacuten de variables operadores y llamadas de meacutetodos construida de acuerdo a la sintaxis del lenguaje que devuelve un valor El tipo de dato del valor regresado por una expresioacuten depende de los elementos usados en la expresioacuten

OPERADORESLos operadores son siacutembolos especiales que por lo comuacuten se utilizan en expresiones

La tabla siguiente muestra los distintos tipos de operadores

Operador Significado Ejemplo

Operadores aritmeacuteticos

+ Suma a + b

- Resta a - b

Multiplicacioacuten a b

TABLA DE VERDAD DE LOS OPERADORES

LOgraveGICOSSon aquellas que evaluacutean maacutes de una condicioacuten en una sola expresioacuten para esto hacen uso de los operadores loacutegicos

ORDEN DE EVALUCION DE LOS OPERADORES

Cuando en una expresioacuten aparece maacutes de un operador es necesario definir un orden de evaluacioacuten para los operadores Este orden viene dado por las siguientes reglas

1- Todas las sub expresiones entre pareacutentesis se evaluacutean primero En los pareacutentesis anidados se evaluacutea primero el maacutes interior2- En una misma expresioacuten los operadores se evaluacutean seguacuten su orden de prioridad (los operadores en la misma liacutenea de la siguiente tabla tienen el mismo nivel de procedencia)

ALGORITMOS

Se define como el conjunto ordenado de pasos a seguir para resolver un problema concreto sin ambiguumledad alguna en un tiempo finito

CARACTERISTICAS

SER FINITO Tiene que acabar siempre tras un nuacutemero finito de pasosREPETITIVO Debe repetirse todas las veces que sea necesario dando siempre ideacutenticos resultados para las mismas condicionesVALIDO que haga lo que se pretende que haga y devuelva los resultados esperadosDEFINIBLE Cada paso debe quedar definido de un modo preciso y sin ambiguumledadesPRECISION Debe ser concreto utilizando solo el numero de pasos para llegar a una solucioacuten claraRECIBE DATOS DE ENTRADA Es normal que reciba datos desde el exterior que luego utiliza y trataPROPORCIONA RESULTADOS DE SALIDA Produce uno o varios resultados en su ejecucioacuten que enviacutea al exterior como valor de salidaSER EFECTIVO Que resuelva el problema de forma raacutepida y eficiente

GRAacuteFICA (DIAGRAMAS DE FLUJO)

Son esquemas para representar y expresar algoritmos Estos diagramas utilizan siacutembolos con significados definidos que representan los pasos del algoritmo y representan el flujo de ejecucioacuten mediante flechas que conectan los puntos de inicio y de fin de proceso

ESTRUCTURA SECUENCIALINICIO

OPERACIOacuteN DE ENTRADASALIDA

FINEST

RUCTURA

CONDICIONAL

DIRECCION

REGLAS GENERALESEstablecer el alcance del proceso de esta manera quedaraacute fijado el comienzo y el final del diagramaIdentificar y listar las principales actividadessubprocesos que estaacuten incluidos en el proceso y su orden cronoloacutegicoIdentificar y listar los puntos de decisioacutenConstruir el diagrama respetando la secuencia cronoloacutegica y asignando los correspondientes siacutembolosAsignar un tiacutetulo al diagrama y verificar que esteacute completo y describa con exactitud el proceso elegido

VENTAJASFavorecen la comprensioacuten del proceso al mostrarlo como un dibujo

Permiten identificar los problemas y las oportunidades de mejora del procesoMuestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan facilitando el anaacutelisis de las mismasSon una excelente herramienta para capacitar a los nuevos empleados y tambieacuten a los que desarrollan la tarea cuando se realizan mejoras en el procesoCon fines de anaacutelisis de algoritmo de programacioacuten puede ser ejecutado en un ordenador y con un IDE como Free DFD

DIAGRAMAS CHAPIN O DIAGRAMAS NASSI-SCHNEIDERMAN (N-S)

Es una descripcioacuten de algoritmos basados en la utilizacioacuten de siacutembolos graacuteficos estos se constituyen utilizan como siacutembolo baacutesico el rectaacutengulo dentro del cual aparecen sentencias en lenguaje algoriacutetmico que ayuda a describir las acciones que se realizan

TEXTUAL (SEUDOCOacuteDIGO)

Es un conjunto pequentildeo y completo de sentencias mediante las cuales podemos expresar todas las acciones a llevar a cabo para realizar una tarea mediante un ordenador sus elementos son palabras y secuencias

Ejemplo VARIABLES Precio precio final entero Porcentaje descuento real INICIO escribe(`precio `) lee(precio) escribe(`Porcentaje `) lee(porcentaje) FIN

REGLAS GENERALES

Comienza con la palabra ldquoiniciordquo y termina con la palabra ldquofinrdquo Cada instruccioacuten se debe escribir en una liacutenea Para su descripcioacuten se utilizan palabras reservadas que tienen un significado especiacutefico (ldquoIniciordquo ldquoFinrdquo ldquoSirdquo ldquoEntoncesrdquo ldquoSi nordquo ldquoFin sirdquo ldquoMientrasrdquo ldquoFin Mientrasrdquo ldquoSeguirrdquo ldquoFin Seguirrdquo)Debe escribirse indentado (tabulando) para mostrar claramente las dependencias de unas instrucciones del programa con respecto a otrasCada una de las estructuras que definen un programa tendraacute un punto de comienzo y uno de fin especificados por las palabras reservadas que definen la estructura

VENTAJAS

Se leen de arriba abajoPermite el uso de teacutecnicas decentesFavorece la participacioacuten del programa en moacutedulos pequentildeosResaltan mas las partes generales No permite la violacioacuten de las condiciones estructuradasEl aacutembito de cada bloque o estructura esta perfectamente definido

INCONVENIENTES

No se reconstruyen faacutecilmente si cambia la loacutegica del programaNo permite representar la conexioacuten de varios moacutedulos entre si

METODOLOGIgraveA DE LA PROGRAMACIOgraveN

Se entiende como metodologiacutea de la programacioacuten al conjunto de normas meacutetodos y anotaciones que nos indican la forma de programar

ESTRUCTURA GENERAL DE UN PROGRAMA

Todo programa contiene dos bloques bien diferenciados para la descripcioacuten de los datos

PARTES PRINCIPALES DE UN PROGRAMA

BLOQUES DE DECLARACIONES En el se especifican todos los objetos que utiliza el programa (constantes variables tablas de registro archivos etc) indicando siempre sus caracteriacutesticas

BLOQUE DE INSTRUCCIONES Estaacute constituido por el conjunto de operaciones que se han de realizar para la obtencioacuten de los resultados deseados

SALIDA DE RESULTADOS

Es el conjunto de instrucciones que toman los datos finales (resultados) y los enviacutean a los dispositivos externos (memoria datos central de salida)

PROCESO DE DATOS O ALGORITMODatos de entrada proceso resultados

ENTRADA DE DATOS

La constituye n todas las instrucciones que toman los datos de entrada y los almacenan en la memoria central para que puedan ser

procesadosCLASIFICACION DE LAS INSTRUCCIONES

INTRUCCIONES D DECLARACION Su misioacuten es anunciar la utilizacioacuten de objetos en un programa indicado que identificador tipo y otras caracteriacutesticas corresponden a cada uno de ellosINSTRUCCIONES PRIMITIVAS Son aquellas que ejecutan el proceso de modo inmediato Las instrucciones primitivas pueden ser de entrada de asignacioacuten o de salida se dividen en entradas de asignacioacuten y de salida

INSTRUCCIONES DE CONTROL Son instrucciones que no realizan trabajo efectivo salvo la evaluacioacuten de expresiones generalmente loacutegicas con el objetivo de controlar la ejecucioacuten de otras instrucciones o alterar el orden de ejecucioacuten normal de las instrucciones de un programaINSTRUCCIONES COMPUESTAS Una instruccioacuten compuesta es aquella que representa a un conjunto de instrucciones que estaacuten definidas en otra parte en general son llamadas a sus programas (funciones subrutinas paacuterrafos etc)

COMENTARIOS Son frases que se incluyen de forma moderada en el disentildeo de un algoritmo (en la codificacioacuten suele ser maacutes recomendable su uso) con intencioacuten de aclarar el cometido o funcioacuten de un objeto o conjunto de instrucciones

VARIABLES AUXILIARES DE UN PROGRAMA

Son objetos que utiliza un programa y por la funcioacuten que realizan dentro del mismo toman un nombre especial Contadores acumuladores e interruptores

CONTADORES

Un contador es una variable destinada a almacenar un valor que se iraacute incrementando o decrementando en una cantidad constante Se suelen utilizar mucho en procesos repetitivos para contabilizar el nuacutemero de veces que se repite un conjunto de acciones o eventos es decir en los cuerpos de las instrucciones repetitivas

ACUMULADORESUn acumulador o totalizador es una variable cuya misioacuten es acumular cantidades sucesivas obtenidas al realizar la misma operacioacuten La diferencia de un contador es que el incremento o decremento es variable en lugar de constante como en el caso del contador Para utilizarlos hay que realizar sobre ellos dos operaciones baacutesicas Inicializacioacuten Todo acumulador necesita ser inicializado con el valor neutro de la operacioacuten que va a acumular que en el caso de la suma es 0 y del producto es 1

SUMA 0 PRODUCTO 1

Acumulacioacuten Cuando se hace presente en la memoria el elemento a acumular por la realizacioacuten de una lectura o un calculo se efectuacutea la acumulacioacuten del mismo por medio de la asignacioacuten

SUMA + elementoPRODUCTO elemento

INTERRUPTORES O CONMUTADORES

Un interruptor o conmutador es un campo de memoria (variable) que toman diversos valores a lo largo de la ejecucioacuten del programa Los valores que toma son normalmente 1 o siacute (encendidoabierto) y 0 o no (apagadocerrado) (de ahiacute su nombre de interruptor)a) Recordar en un determinado lugar del programa la ocurrencia o no de un suceso b) Realizar de forma alternativa independiente dos procesos alternativos

SUBPROGRAMA

Un subprograma se utiliza por el programa para un fin especiacutefico El subprograma recibe datos del programa y le devuelve resultados Se dice que el programa llama o invoca al subprograma El subprograma ejecuta una tarea a continuacioacuten retorna o devuelve el control al programa Esta accioacuten puede suceder en diferentes partes del programa Cada vez que el subprograma es llamado el control vuelve al lugar desde donde fue hecha la llamada

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 6: PROYECTO  METODOLOGIA DENYS.pptx

c) Interruptores o conmutadores d) Temporales e) De paso de valores D) Subprogramas a) Subrutinasprocedimientos b) Funciones 32 Procedimientos y requerimientos generales para el desarrollo de un programa A) Faces de proceso a) Resultados y formato solicitado B) Anaacutelisis del problema a) Datos requeridos asiacute como formatos y medios de acceso de datos C) Desarrollo de la solucioacuten a) Desarrollo de algoritmos b) Pruebas de escritorio c) Codificacioacuten y documentacioacuten interna d) Compilacioacuten e) Pruebas en el compilador D) Documentacioacuten externa 33 Programacioacuten modular A) El concepto del modulo

B) Requisitos de la programacioacuten modular C) Clasificacioacuten de los moacutedulos D) Teacutecnicas de programacioacuten modular a) Disentildeos descendente (top Down) b) Ensamble ascendente (bottom up) c) Refinamiento de pasos sucesivos (step wise refinement) E) Criterios de modularizaciograven 34 Programacioacuten estructurada A) Conceptos baacutesicos B) Estructuras baacutesicas de control C) Recursos abstractos D) Meacutetodos de programacioacuten estructurada Descripcioacuten geneacuterica a) Bertini b) Tabourier c) Chapiacuten (NassiShneiderman) E) Meacutetodo de Jackson a) Introduccioacuten b) Fundamentos baacutesicos entidades c) Fases de meacutetodo d) Errores e invalidez e) Collating f) Back tracking

g) Colisioacuten de estructuras h) Inversioacuten de programas F) Meacutetodo de Warnier a) Introduccioacuten b) Estructuras baacutesicas c) Fases del meacutetodo d) Estudio de datos de salida e) Estudio de datos de entrada f) Cuadro de descomposicioacuten de secuencia g) Cuadro de secuencias de Warnier h) Lista de introduccioacuten y asignacioacuten de las mismas DIFERENCIAS

Es un paradigma de la programacioacuten que proporciona lineamientos para desarrollar un proyecto de sistema de informacioacuten

iquest Q u eacute e s e l C i c l o d e V i d a d e l o s S i s t e m a s d e I n f o r m a c i oacute n

INTRODUCCION A LA PROGRAMACION DE LAS COMPUTADORAS

FASE 1

FASE 2

FASE 3

FASE N

FASE N + 1

Desarro

llo e im

plementacioacuten

Las fases se deben realizar en forma secuencial Sin embargo el analista puede volver a alguno de los pasos anteriores

Cada posible conjunto de fases actividades meacutetodos herramientas mejores praacutecticas forman una metodologiacutea diferente

Fases variacutean de autor en autor y seguacuten las organizaciones que los usen

Las etapas del proceso para el desarrollo de sistemas estaacuten formados por fases

ERRORESERRORES DE COMPILACION Los errores en tiempo de compilacioacuten o sintaacutecticos corresponden al incumplimiento de las reglas sintaacutecticas del lenguaje Estos errores son los maacutes faacuteciles de corregir ya que son detectados por el compilador el cual daraacute informacioacuten sobe el lugar donde estaacute y la naturaleza de cada uno de ellos mediante un mensaje de erro ERRORES DE EJECUCIOgraveN son errores que aparecen mientras se ejecuta su programa Estos errores aparecen normalmente cuando su programa intenta una operacioacuten que es imposible que se lleve a cabo Se detectan porque se produce una parada anormal del programa durante su ejecucioacuten y se dice entonces que el programa se ha caiacutedo o que ha sido abortado por el sistema ERRORES DE LOGICOS Corresponden a la obtencioacuten por el programa de resultados que no son correctos y la uacutenica manera de detectarlos es realizando un numero suficiente de ejecuciones de prueba con una gama lo maacutes amplia posible de juegos de datos de prueba comparando los datos producidos por el programa con los obtenidos a mano para esos mismos datos

CALIDAD DE LOS PROGRAMAS

LEGIBILIDAD La le

gibilidad

es el conjunto de

caracteriacutestic

as tipograacutefic

as y

linguumliacutestic

as del texto escrito

que permite

n leerlo

y

comprenderlo con fa

cilidad

FIABILIDAD El

programa debe ser

claro y sencillo de tal

forma que facilite su

lectura y compresioacuten

PORTABILIDAD Ha de

ser capaz de

recuperarse frente a

errores o usos

inadecuados

Modificabilidad El programa ha de facilitar su mantenimiento es decir las modificaciones y actualizaciones necesarias para adaptarlo a 1 nueva situacioacuten

EFICIENCIA Se deben

aprovechar al maacuteximo los

recursos del ordenador

minimizando la memoria

utilizada y el tiempo de

proceso o ejecucioacuten

siempre que no sea a costa

de las anteriores

caracteriacutesticas

METODOLOGIacuteA DE LA PROGRAMACIOacuteN

Conjunto o sistema de meacutetodos principios y reglas que permiten enfrentar de manera sistemaacutetica el desarrollo de un programa que resuelve un problema algoriacutetmico

PROGRAMACION MODULARConsiste en dividir los problemas maacutes pequentildeos en subproblemas con el fin de resolver una tarea sencilla y que no se vuelva tediosa A estos subproblemas en programacioacuten se denominan subprogramas de ahiacute programacioacuten modular

PROGRAMACIOacuteN ESTRUCTURADA Se refiere al control de ejecucioacutensiendo eacuteste una de las cuestiones maacutes importantes que hay que tener en cuenta al construir un programa en un lenguaje de alto nivel La regla general es que las instrucciones se ejecuten sucesivamente una tras otra pero diversas partes del programa se ejecutan o no dependiendo de que se cumpla alguna condicioacuten

DOCUMENTACIOacuteN DE PROGRAMAS

Documentar es una tarea tan necesaria e importante como escribir el coacutedigo el coacutedigo indica como funciona el programa y la documentacioacuten indica porqueacute lo hace

DOCUMENTACIOacuteN EXTERNA es aquella que se encuentra independiente del programa fuente Se encuentra en un Manual impreso y describe con profundidad sus caracteriacutestica teacutecnicas y funcionamientoDOCUMENTACION INTERNA Documento que le indica al usuario (operador) conocer utilizar y operar correctamente el sistema

OBJETOS DE UN PROGRAMA

Los datos son los objetos sobre los que un ordenador opera Se pueden clasificar en los siguientes tipos1- SIMPLES numeacutericos enteros loacutegicos reales2- ESTRUCTURADOS tablas registros conjuntos ficheros grafos3- DEFINIDOS POR EL USUARIO alfabeacuteticos (AB a b) diacutegitos (09) especiales ($lt)

IDENTIFICADORESSon los nombres que se dan a los programas variables constantes subprogramas y otros objetos o entidades de diacutegitos Deben escribirse de acuerdo a unas reglas que cada lenguaje establece

TIPOS DE DATOSUn tipo de dato es un atributo de una parte de los datos que indica al programador algo sobre la clase de datos sobre los que se va a procesar Un tipo de dato define un conjunto de valores y las operaciones sobre estos valores

TIPOS ELEMENTALES NUMERICOS

Los tipos simples son numeacutericos (enteros reales) Loacutegicos (booleanos) Caraacutecter (caracteres cadenas de caracteres)El tipo de dato numeacuterico es el conjunto de los valores numeacutericos

Se pueden representar de dos formasEnteros (nuacutemeros completos que no tienen componentes fraccionarios)Ejemplos 16 3868 -1256 0Reales (consta de una parte entera y una parte decimal)Ejemplos -1230 01 49827 -0002

TIPOS DE DATOS DE CARAgraveCTER

Caraacutecter (conjunto finito y ordenado de caracteres que la computadora reconoce)La mayoriacutea reconoce los siguientes tipos de caracteres Caracteres Alfabeacuteticos A B C hellip Z a b c hellip zCaracteres Numeacutericos 0 1 2 hellip 9Caracteres Especiales + - ^ lt gt $ hellipEjemplos lsquoarsquo lsquoArsquo lsquo0rsquo lsquo_rsquo

TIPOS DE DATOS BOLEANOS

El tipo de dato loacutegico o booleano es en computacioacuten aquel que puede representar valores de loacutegica binaria esto es 2 valores valores que normalmente representan falso o verdadero Se utiliza normalmente en la programacioacuten estadiacutestica electroacutenica matemaacuteticas (Aacutelgebra booleana) etcPara generar un dato o valor loacutegico a partir de otros tipos de datos tiacutepicamente se emplean los operadores relacionales (u operadores de relacioacuten) por ejemplo 0 es igual a falso y 1 es igual a verdadero(3gt2)= 1 = verdadero(7gt9)= 0 = falso

Un ejemplo de este tipo de expresiones seriacuteanverdadero AND falso --gt falsofalso OR verdadero --gt verdaderoNOT verdadero --gt falso

TIPOS DE DATOS ESTRUCTURADOS

Son agrupaciones de otros tipos de datosLos tipos de datos estructurados maacutes comunes son vectores y matrices (array) cadenas de caracteres (string) registros y uniones

TIPOS DE DATOS ESTRUCTURADOS MATRICES O ARREGLOS

Un arreglo(matriz o vector) es un conjunto finito y ordenado de elementos homogeacuteneos La propiedad homogeacuteneo quiere decir que los elementos son del mismo tipo de datosLa propiedad ordenado significa que el elemento primero segundo hellip eneacutesimo de un arreglo puede ser identificado

TIPOS DE DATOS LISTASUna lista enlazada es una de las estructuras de datos fundamentales y puede ser usada para implementar otras estructuras de datosConsiste en una secuencia de nodos en los que se guardan campos de datos arbitrarios y una o dos referencias enlaces o punteros al nodo anterior o posterior

Una lista enlazada es un tipo de dato auto referenciado porque contienen un puntero o enlace (en ingleacutes link del mismo significado) a otro dato del mismo tipo Existen diferentes tipos de listas enlazadas Lista Enlazadas Simples Listas Doblemente Enlazadas Listas Enlazadas Circulares y Listas Enlazadas Doblemente Circulares

TIPOS DE DATOS ARBOLES

Es una estructura no lineal y dinaacutemica de datos Dinaacutemica puede cambiar durante la ejecucioacuten de un programaNo lineal a cada elemento del aacuterbol pueden seguirle varios elementos que estaacuten formados por un conjunto de nodos y un conjunto de aristas que conectan pares de nodos

TIPOS DE DATOS CONSTANTESUna constante es un dato cuyo valor no puede cambiar durante la ejecucioacuten del programaRecibe un valor en el momento de la compilacioacuten y este permanece inalterado durante todo el programa Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

TIPOS DE DATOS VARIABLESUna variable es un nombre asociado a un elemento de datos que estaacute situado en posiciones contiguas de la memoria principal y su valor puede cambiar durante la ejecucioacuten de un programa En la declaracioacuten de una variable se debe indicar el tipo al que pertenece Asiacute tendremos variables enteras reales booleanas etc Por otro lado distinguimos tres partes fundamentales en la vida de una variable Declaracioacuten Iniciacioacuten Utilizacioacuten

TIPOS DE EXPRECIONES

Una expresioacuten es una combinacioacuten de variables operadores y llamadas de meacutetodos construida de acuerdo a la sintaxis del lenguaje que devuelve un valor El tipo de dato del valor regresado por una expresioacuten depende de los elementos usados en la expresioacuten

OPERADORESLos operadores son siacutembolos especiales que por lo comuacuten se utilizan en expresiones

La tabla siguiente muestra los distintos tipos de operadores

Operador Significado Ejemplo

Operadores aritmeacuteticos

+ Suma a + b

- Resta a - b

Multiplicacioacuten a b

TABLA DE VERDAD DE LOS OPERADORES

LOgraveGICOSSon aquellas que evaluacutean maacutes de una condicioacuten en una sola expresioacuten para esto hacen uso de los operadores loacutegicos

ORDEN DE EVALUCION DE LOS OPERADORES

Cuando en una expresioacuten aparece maacutes de un operador es necesario definir un orden de evaluacioacuten para los operadores Este orden viene dado por las siguientes reglas

1- Todas las sub expresiones entre pareacutentesis se evaluacutean primero En los pareacutentesis anidados se evaluacutea primero el maacutes interior2- En una misma expresioacuten los operadores se evaluacutean seguacuten su orden de prioridad (los operadores en la misma liacutenea de la siguiente tabla tienen el mismo nivel de procedencia)

ALGORITMOS

Se define como el conjunto ordenado de pasos a seguir para resolver un problema concreto sin ambiguumledad alguna en un tiempo finito

CARACTERISTICAS

SER FINITO Tiene que acabar siempre tras un nuacutemero finito de pasosREPETITIVO Debe repetirse todas las veces que sea necesario dando siempre ideacutenticos resultados para las mismas condicionesVALIDO que haga lo que se pretende que haga y devuelva los resultados esperadosDEFINIBLE Cada paso debe quedar definido de un modo preciso y sin ambiguumledadesPRECISION Debe ser concreto utilizando solo el numero de pasos para llegar a una solucioacuten claraRECIBE DATOS DE ENTRADA Es normal que reciba datos desde el exterior que luego utiliza y trataPROPORCIONA RESULTADOS DE SALIDA Produce uno o varios resultados en su ejecucioacuten que enviacutea al exterior como valor de salidaSER EFECTIVO Que resuelva el problema de forma raacutepida y eficiente

GRAacuteFICA (DIAGRAMAS DE FLUJO)

Son esquemas para representar y expresar algoritmos Estos diagramas utilizan siacutembolos con significados definidos que representan los pasos del algoritmo y representan el flujo de ejecucioacuten mediante flechas que conectan los puntos de inicio y de fin de proceso

ESTRUCTURA SECUENCIALINICIO

OPERACIOacuteN DE ENTRADASALIDA

FINEST

RUCTURA

CONDICIONAL

DIRECCION

REGLAS GENERALESEstablecer el alcance del proceso de esta manera quedaraacute fijado el comienzo y el final del diagramaIdentificar y listar las principales actividadessubprocesos que estaacuten incluidos en el proceso y su orden cronoloacutegicoIdentificar y listar los puntos de decisioacutenConstruir el diagrama respetando la secuencia cronoloacutegica y asignando los correspondientes siacutembolosAsignar un tiacutetulo al diagrama y verificar que esteacute completo y describa con exactitud el proceso elegido

VENTAJASFavorecen la comprensioacuten del proceso al mostrarlo como un dibujo

Permiten identificar los problemas y las oportunidades de mejora del procesoMuestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan facilitando el anaacutelisis de las mismasSon una excelente herramienta para capacitar a los nuevos empleados y tambieacuten a los que desarrollan la tarea cuando se realizan mejoras en el procesoCon fines de anaacutelisis de algoritmo de programacioacuten puede ser ejecutado en un ordenador y con un IDE como Free DFD

DIAGRAMAS CHAPIN O DIAGRAMAS NASSI-SCHNEIDERMAN (N-S)

Es una descripcioacuten de algoritmos basados en la utilizacioacuten de siacutembolos graacuteficos estos se constituyen utilizan como siacutembolo baacutesico el rectaacutengulo dentro del cual aparecen sentencias en lenguaje algoriacutetmico que ayuda a describir las acciones que se realizan

TEXTUAL (SEUDOCOacuteDIGO)

Es un conjunto pequentildeo y completo de sentencias mediante las cuales podemos expresar todas las acciones a llevar a cabo para realizar una tarea mediante un ordenador sus elementos son palabras y secuencias

Ejemplo VARIABLES Precio precio final entero Porcentaje descuento real INICIO escribe(`precio `) lee(precio) escribe(`Porcentaje `) lee(porcentaje) FIN

REGLAS GENERALES

Comienza con la palabra ldquoiniciordquo y termina con la palabra ldquofinrdquo Cada instruccioacuten se debe escribir en una liacutenea Para su descripcioacuten se utilizan palabras reservadas que tienen un significado especiacutefico (ldquoIniciordquo ldquoFinrdquo ldquoSirdquo ldquoEntoncesrdquo ldquoSi nordquo ldquoFin sirdquo ldquoMientrasrdquo ldquoFin Mientrasrdquo ldquoSeguirrdquo ldquoFin Seguirrdquo)Debe escribirse indentado (tabulando) para mostrar claramente las dependencias de unas instrucciones del programa con respecto a otrasCada una de las estructuras que definen un programa tendraacute un punto de comienzo y uno de fin especificados por las palabras reservadas que definen la estructura

VENTAJAS

Se leen de arriba abajoPermite el uso de teacutecnicas decentesFavorece la participacioacuten del programa en moacutedulos pequentildeosResaltan mas las partes generales No permite la violacioacuten de las condiciones estructuradasEl aacutembito de cada bloque o estructura esta perfectamente definido

INCONVENIENTES

No se reconstruyen faacutecilmente si cambia la loacutegica del programaNo permite representar la conexioacuten de varios moacutedulos entre si

METODOLOGIgraveA DE LA PROGRAMACIOgraveN

Se entiende como metodologiacutea de la programacioacuten al conjunto de normas meacutetodos y anotaciones que nos indican la forma de programar

ESTRUCTURA GENERAL DE UN PROGRAMA

Todo programa contiene dos bloques bien diferenciados para la descripcioacuten de los datos

PARTES PRINCIPALES DE UN PROGRAMA

BLOQUES DE DECLARACIONES En el se especifican todos los objetos que utiliza el programa (constantes variables tablas de registro archivos etc) indicando siempre sus caracteriacutesticas

BLOQUE DE INSTRUCCIONES Estaacute constituido por el conjunto de operaciones que se han de realizar para la obtencioacuten de los resultados deseados

SALIDA DE RESULTADOS

Es el conjunto de instrucciones que toman los datos finales (resultados) y los enviacutean a los dispositivos externos (memoria datos central de salida)

PROCESO DE DATOS O ALGORITMODatos de entrada proceso resultados

ENTRADA DE DATOS

La constituye n todas las instrucciones que toman los datos de entrada y los almacenan en la memoria central para que puedan ser

procesadosCLASIFICACION DE LAS INSTRUCCIONES

INTRUCCIONES D DECLARACION Su misioacuten es anunciar la utilizacioacuten de objetos en un programa indicado que identificador tipo y otras caracteriacutesticas corresponden a cada uno de ellosINSTRUCCIONES PRIMITIVAS Son aquellas que ejecutan el proceso de modo inmediato Las instrucciones primitivas pueden ser de entrada de asignacioacuten o de salida se dividen en entradas de asignacioacuten y de salida

INSTRUCCIONES DE CONTROL Son instrucciones que no realizan trabajo efectivo salvo la evaluacioacuten de expresiones generalmente loacutegicas con el objetivo de controlar la ejecucioacuten de otras instrucciones o alterar el orden de ejecucioacuten normal de las instrucciones de un programaINSTRUCCIONES COMPUESTAS Una instruccioacuten compuesta es aquella que representa a un conjunto de instrucciones que estaacuten definidas en otra parte en general son llamadas a sus programas (funciones subrutinas paacuterrafos etc)

COMENTARIOS Son frases que se incluyen de forma moderada en el disentildeo de un algoritmo (en la codificacioacuten suele ser maacutes recomendable su uso) con intencioacuten de aclarar el cometido o funcioacuten de un objeto o conjunto de instrucciones

VARIABLES AUXILIARES DE UN PROGRAMA

Son objetos que utiliza un programa y por la funcioacuten que realizan dentro del mismo toman un nombre especial Contadores acumuladores e interruptores

CONTADORES

Un contador es una variable destinada a almacenar un valor que se iraacute incrementando o decrementando en una cantidad constante Se suelen utilizar mucho en procesos repetitivos para contabilizar el nuacutemero de veces que se repite un conjunto de acciones o eventos es decir en los cuerpos de las instrucciones repetitivas

ACUMULADORESUn acumulador o totalizador es una variable cuya misioacuten es acumular cantidades sucesivas obtenidas al realizar la misma operacioacuten La diferencia de un contador es que el incremento o decremento es variable en lugar de constante como en el caso del contador Para utilizarlos hay que realizar sobre ellos dos operaciones baacutesicas Inicializacioacuten Todo acumulador necesita ser inicializado con el valor neutro de la operacioacuten que va a acumular que en el caso de la suma es 0 y del producto es 1

SUMA 0 PRODUCTO 1

Acumulacioacuten Cuando se hace presente en la memoria el elemento a acumular por la realizacioacuten de una lectura o un calculo se efectuacutea la acumulacioacuten del mismo por medio de la asignacioacuten

SUMA + elementoPRODUCTO elemento

INTERRUPTORES O CONMUTADORES

Un interruptor o conmutador es un campo de memoria (variable) que toman diversos valores a lo largo de la ejecucioacuten del programa Los valores que toma son normalmente 1 o siacute (encendidoabierto) y 0 o no (apagadocerrado) (de ahiacute su nombre de interruptor)a) Recordar en un determinado lugar del programa la ocurrencia o no de un suceso b) Realizar de forma alternativa independiente dos procesos alternativos

SUBPROGRAMA

Un subprograma se utiliza por el programa para un fin especiacutefico El subprograma recibe datos del programa y le devuelve resultados Se dice que el programa llama o invoca al subprograma El subprograma ejecuta una tarea a continuacioacuten retorna o devuelve el control al programa Esta accioacuten puede suceder en diferentes partes del programa Cada vez que el subprograma es llamado el control vuelve al lugar desde donde fue hecha la llamada

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 7: PROYECTO  METODOLOGIA DENYS.pptx

B) Requisitos de la programacioacuten modular C) Clasificacioacuten de los moacutedulos D) Teacutecnicas de programacioacuten modular a) Disentildeos descendente (top Down) b) Ensamble ascendente (bottom up) c) Refinamiento de pasos sucesivos (step wise refinement) E) Criterios de modularizaciograven 34 Programacioacuten estructurada A) Conceptos baacutesicos B) Estructuras baacutesicas de control C) Recursos abstractos D) Meacutetodos de programacioacuten estructurada Descripcioacuten geneacuterica a) Bertini b) Tabourier c) Chapiacuten (NassiShneiderman) E) Meacutetodo de Jackson a) Introduccioacuten b) Fundamentos baacutesicos entidades c) Fases de meacutetodo d) Errores e invalidez e) Collating f) Back tracking

g) Colisioacuten de estructuras h) Inversioacuten de programas F) Meacutetodo de Warnier a) Introduccioacuten b) Estructuras baacutesicas c) Fases del meacutetodo d) Estudio de datos de salida e) Estudio de datos de entrada f) Cuadro de descomposicioacuten de secuencia g) Cuadro de secuencias de Warnier h) Lista de introduccioacuten y asignacioacuten de las mismas DIFERENCIAS

Es un paradigma de la programacioacuten que proporciona lineamientos para desarrollar un proyecto de sistema de informacioacuten

iquest Q u eacute e s e l C i c l o d e V i d a d e l o s S i s t e m a s d e I n f o r m a c i oacute n

INTRODUCCION A LA PROGRAMACION DE LAS COMPUTADORAS

FASE 1

FASE 2

FASE 3

FASE N

FASE N + 1

Desarro

llo e im

plementacioacuten

Las fases se deben realizar en forma secuencial Sin embargo el analista puede volver a alguno de los pasos anteriores

Cada posible conjunto de fases actividades meacutetodos herramientas mejores praacutecticas forman una metodologiacutea diferente

Fases variacutean de autor en autor y seguacuten las organizaciones que los usen

Las etapas del proceso para el desarrollo de sistemas estaacuten formados por fases

ERRORESERRORES DE COMPILACION Los errores en tiempo de compilacioacuten o sintaacutecticos corresponden al incumplimiento de las reglas sintaacutecticas del lenguaje Estos errores son los maacutes faacuteciles de corregir ya que son detectados por el compilador el cual daraacute informacioacuten sobe el lugar donde estaacute y la naturaleza de cada uno de ellos mediante un mensaje de erro ERRORES DE EJECUCIOgraveN son errores que aparecen mientras se ejecuta su programa Estos errores aparecen normalmente cuando su programa intenta una operacioacuten que es imposible que se lleve a cabo Se detectan porque se produce una parada anormal del programa durante su ejecucioacuten y se dice entonces que el programa se ha caiacutedo o que ha sido abortado por el sistema ERRORES DE LOGICOS Corresponden a la obtencioacuten por el programa de resultados que no son correctos y la uacutenica manera de detectarlos es realizando un numero suficiente de ejecuciones de prueba con una gama lo maacutes amplia posible de juegos de datos de prueba comparando los datos producidos por el programa con los obtenidos a mano para esos mismos datos

CALIDAD DE LOS PROGRAMAS

LEGIBILIDAD La le

gibilidad

es el conjunto de

caracteriacutestic

as tipograacutefic

as y

linguumliacutestic

as del texto escrito

que permite

n leerlo

y

comprenderlo con fa

cilidad

FIABILIDAD El

programa debe ser

claro y sencillo de tal

forma que facilite su

lectura y compresioacuten

PORTABILIDAD Ha de

ser capaz de

recuperarse frente a

errores o usos

inadecuados

Modificabilidad El programa ha de facilitar su mantenimiento es decir las modificaciones y actualizaciones necesarias para adaptarlo a 1 nueva situacioacuten

EFICIENCIA Se deben

aprovechar al maacuteximo los

recursos del ordenador

minimizando la memoria

utilizada y el tiempo de

proceso o ejecucioacuten

siempre que no sea a costa

de las anteriores

caracteriacutesticas

METODOLOGIacuteA DE LA PROGRAMACIOacuteN

Conjunto o sistema de meacutetodos principios y reglas que permiten enfrentar de manera sistemaacutetica el desarrollo de un programa que resuelve un problema algoriacutetmico

PROGRAMACION MODULARConsiste en dividir los problemas maacutes pequentildeos en subproblemas con el fin de resolver una tarea sencilla y que no se vuelva tediosa A estos subproblemas en programacioacuten se denominan subprogramas de ahiacute programacioacuten modular

PROGRAMACIOacuteN ESTRUCTURADA Se refiere al control de ejecucioacutensiendo eacuteste una de las cuestiones maacutes importantes que hay que tener en cuenta al construir un programa en un lenguaje de alto nivel La regla general es que las instrucciones se ejecuten sucesivamente una tras otra pero diversas partes del programa se ejecutan o no dependiendo de que se cumpla alguna condicioacuten

DOCUMENTACIOacuteN DE PROGRAMAS

Documentar es una tarea tan necesaria e importante como escribir el coacutedigo el coacutedigo indica como funciona el programa y la documentacioacuten indica porqueacute lo hace

DOCUMENTACIOacuteN EXTERNA es aquella que se encuentra independiente del programa fuente Se encuentra en un Manual impreso y describe con profundidad sus caracteriacutestica teacutecnicas y funcionamientoDOCUMENTACION INTERNA Documento que le indica al usuario (operador) conocer utilizar y operar correctamente el sistema

OBJETOS DE UN PROGRAMA

Los datos son los objetos sobre los que un ordenador opera Se pueden clasificar en los siguientes tipos1- SIMPLES numeacutericos enteros loacutegicos reales2- ESTRUCTURADOS tablas registros conjuntos ficheros grafos3- DEFINIDOS POR EL USUARIO alfabeacuteticos (AB a b) diacutegitos (09) especiales ($lt)

IDENTIFICADORESSon los nombres que se dan a los programas variables constantes subprogramas y otros objetos o entidades de diacutegitos Deben escribirse de acuerdo a unas reglas que cada lenguaje establece

TIPOS DE DATOSUn tipo de dato es un atributo de una parte de los datos que indica al programador algo sobre la clase de datos sobre los que se va a procesar Un tipo de dato define un conjunto de valores y las operaciones sobre estos valores

TIPOS ELEMENTALES NUMERICOS

Los tipos simples son numeacutericos (enteros reales) Loacutegicos (booleanos) Caraacutecter (caracteres cadenas de caracteres)El tipo de dato numeacuterico es el conjunto de los valores numeacutericos

Se pueden representar de dos formasEnteros (nuacutemeros completos que no tienen componentes fraccionarios)Ejemplos 16 3868 -1256 0Reales (consta de una parte entera y una parte decimal)Ejemplos -1230 01 49827 -0002

TIPOS DE DATOS DE CARAgraveCTER

Caraacutecter (conjunto finito y ordenado de caracteres que la computadora reconoce)La mayoriacutea reconoce los siguientes tipos de caracteres Caracteres Alfabeacuteticos A B C hellip Z a b c hellip zCaracteres Numeacutericos 0 1 2 hellip 9Caracteres Especiales + - ^ lt gt $ hellipEjemplos lsquoarsquo lsquoArsquo lsquo0rsquo lsquo_rsquo

TIPOS DE DATOS BOLEANOS

El tipo de dato loacutegico o booleano es en computacioacuten aquel que puede representar valores de loacutegica binaria esto es 2 valores valores que normalmente representan falso o verdadero Se utiliza normalmente en la programacioacuten estadiacutestica electroacutenica matemaacuteticas (Aacutelgebra booleana) etcPara generar un dato o valor loacutegico a partir de otros tipos de datos tiacutepicamente se emplean los operadores relacionales (u operadores de relacioacuten) por ejemplo 0 es igual a falso y 1 es igual a verdadero(3gt2)= 1 = verdadero(7gt9)= 0 = falso

Un ejemplo de este tipo de expresiones seriacuteanverdadero AND falso --gt falsofalso OR verdadero --gt verdaderoNOT verdadero --gt falso

TIPOS DE DATOS ESTRUCTURADOS

Son agrupaciones de otros tipos de datosLos tipos de datos estructurados maacutes comunes son vectores y matrices (array) cadenas de caracteres (string) registros y uniones

TIPOS DE DATOS ESTRUCTURADOS MATRICES O ARREGLOS

Un arreglo(matriz o vector) es un conjunto finito y ordenado de elementos homogeacuteneos La propiedad homogeacuteneo quiere decir que los elementos son del mismo tipo de datosLa propiedad ordenado significa que el elemento primero segundo hellip eneacutesimo de un arreglo puede ser identificado

TIPOS DE DATOS LISTASUna lista enlazada es una de las estructuras de datos fundamentales y puede ser usada para implementar otras estructuras de datosConsiste en una secuencia de nodos en los que se guardan campos de datos arbitrarios y una o dos referencias enlaces o punteros al nodo anterior o posterior

Una lista enlazada es un tipo de dato auto referenciado porque contienen un puntero o enlace (en ingleacutes link del mismo significado) a otro dato del mismo tipo Existen diferentes tipos de listas enlazadas Lista Enlazadas Simples Listas Doblemente Enlazadas Listas Enlazadas Circulares y Listas Enlazadas Doblemente Circulares

TIPOS DE DATOS ARBOLES

Es una estructura no lineal y dinaacutemica de datos Dinaacutemica puede cambiar durante la ejecucioacuten de un programaNo lineal a cada elemento del aacuterbol pueden seguirle varios elementos que estaacuten formados por un conjunto de nodos y un conjunto de aristas que conectan pares de nodos

TIPOS DE DATOS CONSTANTESUna constante es un dato cuyo valor no puede cambiar durante la ejecucioacuten del programaRecibe un valor en el momento de la compilacioacuten y este permanece inalterado durante todo el programa Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

TIPOS DE DATOS VARIABLESUna variable es un nombre asociado a un elemento de datos que estaacute situado en posiciones contiguas de la memoria principal y su valor puede cambiar durante la ejecucioacuten de un programa En la declaracioacuten de una variable se debe indicar el tipo al que pertenece Asiacute tendremos variables enteras reales booleanas etc Por otro lado distinguimos tres partes fundamentales en la vida de una variable Declaracioacuten Iniciacioacuten Utilizacioacuten

TIPOS DE EXPRECIONES

Una expresioacuten es una combinacioacuten de variables operadores y llamadas de meacutetodos construida de acuerdo a la sintaxis del lenguaje que devuelve un valor El tipo de dato del valor regresado por una expresioacuten depende de los elementos usados en la expresioacuten

OPERADORESLos operadores son siacutembolos especiales que por lo comuacuten se utilizan en expresiones

La tabla siguiente muestra los distintos tipos de operadores

Operador Significado Ejemplo

Operadores aritmeacuteticos

+ Suma a + b

- Resta a - b

Multiplicacioacuten a b

TABLA DE VERDAD DE LOS OPERADORES

LOgraveGICOSSon aquellas que evaluacutean maacutes de una condicioacuten en una sola expresioacuten para esto hacen uso de los operadores loacutegicos

ORDEN DE EVALUCION DE LOS OPERADORES

Cuando en una expresioacuten aparece maacutes de un operador es necesario definir un orden de evaluacioacuten para los operadores Este orden viene dado por las siguientes reglas

1- Todas las sub expresiones entre pareacutentesis se evaluacutean primero En los pareacutentesis anidados se evaluacutea primero el maacutes interior2- En una misma expresioacuten los operadores se evaluacutean seguacuten su orden de prioridad (los operadores en la misma liacutenea de la siguiente tabla tienen el mismo nivel de procedencia)

ALGORITMOS

Se define como el conjunto ordenado de pasos a seguir para resolver un problema concreto sin ambiguumledad alguna en un tiempo finito

CARACTERISTICAS

SER FINITO Tiene que acabar siempre tras un nuacutemero finito de pasosREPETITIVO Debe repetirse todas las veces que sea necesario dando siempre ideacutenticos resultados para las mismas condicionesVALIDO que haga lo que se pretende que haga y devuelva los resultados esperadosDEFINIBLE Cada paso debe quedar definido de un modo preciso y sin ambiguumledadesPRECISION Debe ser concreto utilizando solo el numero de pasos para llegar a una solucioacuten claraRECIBE DATOS DE ENTRADA Es normal que reciba datos desde el exterior que luego utiliza y trataPROPORCIONA RESULTADOS DE SALIDA Produce uno o varios resultados en su ejecucioacuten que enviacutea al exterior como valor de salidaSER EFECTIVO Que resuelva el problema de forma raacutepida y eficiente

GRAacuteFICA (DIAGRAMAS DE FLUJO)

Son esquemas para representar y expresar algoritmos Estos diagramas utilizan siacutembolos con significados definidos que representan los pasos del algoritmo y representan el flujo de ejecucioacuten mediante flechas que conectan los puntos de inicio y de fin de proceso

ESTRUCTURA SECUENCIALINICIO

OPERACIOacuteN DE ENTRADASALIDA

FINEST

RUCTURA

CONDICIONAL

DIRECCION

REGLAS GENERALESEstablecer el alcance del proceso de esta manera quedaraacute fijado el comienzo y el final del diagramaIdentificar y listar las principales actividadessubprocesos que estaacuten incluidos en el proceso y su orden cronoloacutegicoIdentificar y listar los puntos de decisioacutenConstruir el diagrama respetando la secuencia cronoloacutegica y asignando los correspondientes siacutembolosAsignar un tiacutetulo al diagrama y verificar que esteacute completo y describa con exactitud el proceso elegido

VENTAJASFavorecen la comprensioacuten del proceso al mostrarlo como un dibujo

Permiten identificar los problemas y las oportunidades de mejora del procesoMuestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan facilitando el anaacutelisis de las mismasSon una excelente herramienta para capacitar a los nuevos empleados y tambieacuten a los que desarrollan la tarea cuando se realizan mejoras en el procesoCon fines de anaacutelisis de algoritmo de programacioacuten puede ser ejecutado en un ordenador y con un IDE como Free DFD

DIAGRAMAS CHAPIN O DIAGRAMAS NASSI-SCHNEIDERMAN (N-S)

Es una descripcioacuten de algoritmos basados en la utilizacioacuten de siacutembolos graacuteficos estos se constituyen utilizan como siacutembolo baacutesico el rectaacutengulo dentro del cual aparecen sentencias en lenguaje algoriacutetmico que ayuda a describir las acciones que se realizan

TEXTUAL (SEUDOCOacuteDIGO)

Es un conjunto pequentildeo y completo de sentencias mediante las cuales podemos expresar todas las acciones a llevar a cabo para realizar una tarea mediante un ordenador sus elementos son palabras y secuencias

Ejemplo VARIABLES Precio precio final entero Porcentaje descuento real INICIO escribe(`precio `) lee(precio) escribe(`Porcentaje `) lee(porcentaje) FIN

REGLAS GENERALES

Comienza con la palabra ldquoiniciordquo y termina con la palabra ldquofinrdquo Cada instruccioacuten se debe escribir en una liacutenea Para su descripcioacuten se utilizan palabras reservadas que tienen un significado especiacutefico (ldquoIniciordquo ldquoFinrdquo ldquoSirdquo ldquoEntoncesrdquo ldquoSi nordquo ldquoFin sirdquo ldquoMientrasrdquo ldquoFin Mientrasrdquo ldquoSeguirrdquo ldquoFin Seguirrdquo)Debe escribirse indentado (tabulando) para mostrar claramente las dependencias de unas instrucciones del programa con respecto a otrasCada una de las estructuras que definen un programa tendraacute un punto de comienzo y uno de fin especificados por las palabras reservadas que definen la estructura

VENTAJAS

Se leen de arriba abajoPermite el uso de teacutecnicas decentesFavorece la participacioacuten del programa en moacutedulos pequentildeosResaltan mas las partes generales No permite la violacioacuten de las condiciones estructuradasEl aacutembito de cada bloque o estructura esta perfectamente definido

INCONVENIENTES

No se reconstruyen faacutecilmente si cambia la loacutegica del programaNo permite representar la conexioacuten de varios moacutedulos entre si

METODOLOGIgraveA DE LA PROGRAMACIOgraveN

Se entiende como metodologiacutea de la programacioacuten al conjunto de normas meacutetodos y anotaciones que nos indican la forma de programar

ESTRUCTURA GENERAL DE UN PROGRAMA

Todo programa contiene dos bloques bien diferenciados para la descripcioacuten de los datos

PARTES PRINCIPALES DE UN PROGRAMA

BLOQUES DE DECLARACIONES En el se especifican todos los objetos que utiliza el programa (constantes variables tablas de registro archivos etc) indicando siempre sus caracteriacutesticas

BLOQUE DE INSTRUCCIONES Estaacute constituido por el conjunto de operaciones que se han de realizar para la obtencioacuten de los resultados deseados

SALIDA DE RESULTADOS

Es el conjunto de instrucciones que toman los datos finales (resultados) y los enviacutean a los dispositivos externos (memoria datos central de salida)

PROCESO DE DATOS O ALGORITMODatos de entrada proceso resultados

ENTRADA DE DATOS

La constituye n todas las instrucciones que toman los datos de entrada y los almacenan en la memoria central para que puedan ser

procesadosCLASIFICACION DE LAS INSTRUCCIONES

INTRUCCIONES D DECLARACION Su misioacuten es anunciar la utilizacioacuten de objetos en un programa indicado que identificador tipo y otras caracteriacutesticas corresponden a cada uno de ellosINSTRUCCIONES PRIMITIVAS Son aquellas que ejecutan el proceso de modo inmediato Las instrucciones primitivas pueden ser de entrada de asignacioacuten o de salida se dividen en entradas de asignacioacuten y de salida

INSTRUCCIONES DE CONTROL Son instrucciones que no realizan trabajo efectivo salvo la evaluacioacuten de expresiones generalmente loacutegicas con el objetivo de controlar la ejecucioacuten de otras instrucciones o alterar el orden de ejecucioacuten normal de las instrucciones de un programaINSTRUCCIONES COMPUESTAS Una instruccioacuten compuesta es aquella que representa a un conjunto de instrucciones que estaacuten definidas en otra parte en general son llamadas a sus programas (funciones subrutinas paacuterrafos etc)

COMENTARIOS Son frases que se incluyen de forma moderada en el disentildeo de un algoritmo (en la codificacioacuten suele ser maacutes recomendable su uso) con intencioacuten de aclarar el cometido o funcioacuten de un objeto o conjunto de instrucciones

VARIABLES AUXILIARES DE UN PROGRAMA

Son objetos que utiliza un programa y por la funcioacuten que realizan dentro del mismo toman un nombre especial Contadores acumuladores e interruptores

CONTADORES

Un contador es una variable destinada a almacenar un valor que se iraacute incrementando o decrementando en una cantidad constante Se suelen utilizar mucho en procesos repetitivos para contabilizar el nuacutemero de veces que se repite un conjunto de acciones o eventos es decir en los cuerpos de las instrucciones repetitivas

ACUMULADORESUn acumulador o totalizador es una variable cuya misioacuten es acumular cantidades sucesivas obtenidas al realizar la misma operacioacuten La diferencia de un contador es que el incremento o decremento es variable en lugar de constante como en el caso del contador Para utilizarlos hay que realizar sobre ellos dos operaciones baacutesicas Inicializacioacuten Todo acumulador necesita ser inicializado con el valor neutro de la operacioacuten que va a acumular que en el caso de la suma es 0 y del producto es 1

SUMA 0 PRODUCTO 1

Acumulacioacuten Cuando se hace presente en la memoria el elemento a acumular por la realizacioacuten de una lectura o un calculo se efectuacutea la acumulacioacuten del mismo por medio de la asignacioacuten

SUMA + elementoPRODUCTO elemento

INTERRUPTORES O CONMUTADORES

Un interruptor o conmutador es un campo de memoria (variable) que toman diversos valores a lo largo de la ejecucioacuten del programa Los valores que toma son normalmente 1 o siacute (encendidoabierto) y 0 o no (apagadocerrado) (de ahiacute su nombre de interruptor)a) Recordar en un determinado lugar del programa la ocurrencia o no de un suceso b) Realizar de forma alternativa independiente dos procesos alternativos

SUBPROGRAMA

Un subprograma se utiliza por el programa para un fin especiacutefico El subprograma recibe datos del programa y le devuelve resultados Se dice que el programa llama o invoca al subprograma El subprograma ejecuta una tarea a continuacioacuten retorna o devuelve el control al programa Esta accioacuten puede suceder en diferentes partes del programa Cada vez que el subprograma es llamado el control vuelve al lugar desde donde fue hecha la llamada

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 8: PROYECTO  METODOLOGIA DENYS.pptx

g) Colisioacuten de estructuras h) Inversioacuten de programas F) Meacutetodo de Warnier a) Introduccioacuten b) Estructuras baacutesicas c) Fases del meacutetodo d) Estudio de datos de salida e) Estudio de datos de entrada f) Cuadro de descomposicioacuten de secuencia g) Cuadro de secuencias de Warnier h) Lista de introduccioacuten y asignacioacuten de las mismas DIFERENCIAS

Es un paradigma de la programacioacuten que proporciona lineamientos para desarrollar un proyecto de sistema de informacioacuten

iquest Q u eacute e s e l C i c l o d e V i d a d e l o s S i s t e m a s d e I n f o r m a c i oacute n

INTRODUCCION A LA PROGRAMACION DE LAS COMPUTADORAS

FASE 1

FASE 2

FASE 3

FASE N

FASE N + 1

Desarro

llo e im

plementacioacuten

Las fases se deben realizar en forma secuencial Sin embargo el analista puede volver a alguno de los pasos anteriores

Cada posible conjunto de fases actividades meacutetodos herramientas mejores praacutecticas forman una metodologiacutea diferente

Fases variacutean de autor en autor y seguacuten las organizaciones que los usen

Las etapas del proceso para el desarrollo de sistemas estaacuten formados por fases

ERRORESERRORES DE COMPILACION Los errores en tiempo de compilacioacuten o sintaacutecticos corresponden al incumplimiento de las reglas sintaacutecticas del lenguaje Estos errores son los maacutes faacuteciles de corregir ya que son detectados por el compilador el cual daraacute informacioacuten sobe el lugar donde estaacute y la naturaleza de cada uno de ellos mediante un mensaje de erro ERRORES DE EJECUCIOgraveN son errores que aparecen mientras se ejecuta su programa Estos errores aparecen normalmente cuando su programa intenta una operacioacuten que es imposible que se lleve a cabo Se detectan porque se produce una parada anormal del programa durante su ejecucioacuten y se dice entonces que el programa se ha caiacutedo o que ha sido abortado por el sistema ERRORES DE LOGICOS Corresponden a la obtencioacuten por el programa de resultados que no son correctos y la uacutenica manera de detectarlos es realizando un numero suficiente de ejecuciones de prueba con una gama lo maacutes amplia posible de juegos de datos de prueba comparando los datos producidos por el programa con los obtenidos a mano para esos mismos datos

CALIDAD DE LOS PROGRAMAS

LEGIBILIDAD La le

gibilidad

es el conjunto de

caracteriacutestic

as tipograacutefic

as y

linguumliacutestic

as del texto escrito

que permite

n leerlo

y

comprenderlo con fa

cilidad

FIABILIDAD El

programa debe ser

claro y sencillo de tal

forma que facilite su

lectura y compresioacuten

PORTABILIDAD Ha de

ser capaz de

recuperarse frente a

errores o usos

inadecuados

Modificabilidad El programa ha de facilitar su mantenimiento es decir las modificaciones y actualizaciones necesarias para adaptarlo a 1 nueva situacioacuten

EFICIENCIA Se deben

aprovechar al maacuteximo los

recursos del ordenador

minimizando la memoria

utilizada y el tiempo de

proceso o ejecucioacuten

siempre que no sea a costa

de las anteriores

caracteriacutesticas

METODOLOGIacuteA DE LA PROGRAMACIOacuteN

Conjunto o sistema de meacutetodos principios y reglas que permiten enfrentar de manera sistemaacutetica el desarrollo de un programa que resuelve un problema algoriacutetmico

PROGRAMACION MODULARConsiste en dividir los problemas maacutes pequentildeos en subproblemas con el fin de resolver una tarea sencilla y que no se vuelva tediosa A estos subproblemas en programacioacuten se denominan subprogramas de ahiacute programacioacuten modular

PROGRAMACIOacuteN ESTRUCTURADA Se refiere al control de ejecucioacutensiendo eacuteste una de las cuestiones maacutes importantes que hay que tener en cuenta al construir un programa en un lenguaje de alto nivel La regla general es que las instrucciones se ejecuten sucesivamente una tras otra pero diversas partes del programa se ejecutan o no dependiendo de que se cumpla alguna condicioacuten

DOCUMENTACIOacuteN DE PROGRAMAS

Documentar es una tarea tan necesaria e importante como escribir el coacutedigo el coacutedigo indica como funciona el programa y la documentacioacuten indica porqueacute lo hace

DOCUMENTACIOacuteN EXTERNA es aquella que se encuentra independiente del programa fuente Se encuentra en un Manual impreso y describe con profundidad sus caracteriacutestica teacutecnicas y funcionamientoDOCUMENTACION INTERNA Documento que le indica al usuario (operador) conocer utilizar y operar correctamente el sistema

OBJETOS DE UN PROGRAMA

Los datos son los objetos sobre los que un ordenador opera Se pueden clasificar en los siguientes tipos1- SIMPLES numeacutericos enteros loacutegicos reales2- ESTRUCTURADOS tablas registros conjuntos ficheros grafos3- DEFINIDOS POR EL USUARIO alfabeacuteticos (AB a b) diacutegitos (09) especiales ($lt)

IDENTIFICADORESSon los nombres que se dan a los programas variables constantes subprogramas y otros objetos o entidades de diacutegitos Deben escribirse de acuerdo a unas reglas que cada lenguaje establece

TIPOS DE DATOSUn tipo de dato es un atributo de una parte de los datos que indica al programador algo sobre la clase de datos sobre los que se va a procesar Un tipo de dato define un conjunto de valores y las operaciones sobre estos valores

TIPOS ELEMENTALES NUMERICOS

Los tipos simples son numeacutericos (enteros reales) Loacutegicos (booleanos) Caraacutecter (caracteres cadenas de caracteres)El tipo de dato numeacuterico es el conjunto de los valores numeacutericos

Se pueden representar de dos formasEnteros (nuacutemeros completos que no tienen componentes fraccionarios)Ejemplos 16 3868 -1256 0Reales (consta de una parte entera y una parte decimal)Ejemplos -1230 01 49827 -0002

TIPOS DE DATOS DE CARAgraveCTER

Caraacutecter (conjunto finito y ordenado de caracteres que la computadora reconoce)La mayoriacutea reconoce los siguientes tipos de caracteres Caracteres Alfabeacuteticos A B C hellip Z a b c hellip zCaracteres Numeacutericos 0 1 2 hellip 9Caracteres Especiales + - ^ lt gt $ hellipEjemplos lsquoarsquo lsquoArsquo lsquo0rsquo lsquo_rsquo

TIPOS DE DATOS BOLEANOS

El tipo de dato loacutegico o booleano es en computacioacuten aquel que puede representar valores de loacutegica binaria esto es 2 valores valores que normalmente representan falso o verdadero Se utiliza normalmente en la programacioacuten estadiacutestica electroacutenica matemaacuteticas (Aacutelgebra booleana) etcPara generar un dato o valor loacutegico a partir de otros tipos de datos tiacutepicamente se emplean los operadores relacionales (u operadores de relacioacuten) por ejemplo 0 es igual a falso y 1 es igual a verdadero(3gt2)= 1 = verdadero(7gt9)= 0 = falso

Un ejemplo de este tipo de expresiones seriacuteanverdadero AND falso --gt falsofalso OR verdadero --gt verdaderoNOT verdadero --gt falso

TIPOS DE DATOS ESTRUCTURADOS

Son agrupaciones de otros tipos de datosLos tipos de datos estructurados maacutes comunes son vectores y matrices (array) cadenas de caracteres (string) registros y uniones

TIPOS DE DATOS ESTRUCTURADOS MATRICES O ARREGLOS

Un arreglo(matriz o vector) es un conjunto finito y ordenado de elementos homogeacuteneos La propiedad homogeacuteneo quiere decir que los elementos son del mismo tipo de datosLa propiedad ordenado significa que el elemento primero segundo hellip eneacutesimo de un arreglo puede ser identificado

TIPOS DE DATOS LISTASUna lista enlazada es una de las estructuras de datos fundamentales y puede ser usada para implementar otras estructuras de datosConsiste en una secuencia de nodos en los que se guardan campos de datos arbitrarios y una o dos referencias enlaces o punteros al nodo anterior o posterior

Una lista enlazada es un tipo de dato auto referenciado porque contienen un puntero o enlace (en ingleacutes link del mismo significado) a otro dato del mismo tipo Existen diferentes tipos de listas enlazadas Lista Enlazadas Simples Listas Doblemente Enlazadas Listas Enlazadas Circulares y Listas Enlazadas Doblemente Circulares

TIPOS DE DATOS ARBOLES

Es una estructura no lineal y dinaacutemica de datos Dinaacutemica puede cambiar durante la ejecucioacuten de un programaNo lineal a cada elemento del aacuterbol pueden seguirle varios elementos que estaacuten formados por un conjunto de nodos y un conjunto de aristas que conectan pares de nodos

TIPOS DE DATOS CONSTANTESUna constante es un dato cuyo valor no puede cambiar durante la ejecucioacuten del programaRecibe un valor en el momento de la compilacioacuten y este permanece inalterado durante todo el programa Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

TIPOS DE DATOS VARIABLESUna variable es un nombre asociado a un elemento de datos que estaacute situado en posiciones contiguas de la memoria principal y su valor puede cambiar durante la ejecucioacuten de un programa En la declaracioacuten de una variable se debe indicar el tipo al que pertenece Asiacute tendremos variables enteras reales booleanas etc Por otro lado distinguimos tres partes fundamentales en la vida de una variable Declaracioacuten Iniciacioacuten Utilizacioacuten

TIPOS DE EXPRECIONES

Una expresioacuten es una combinacioacuten de variables operadores y llamadas de meacutetodos construida de acuerdo a la sintaxis del lenguaje que devuelve un valor El tipo de dato del valor regresado por una expresioacuten depende de los elementos usados en la expresioacuten

OPERADORESLos operadores son siacutembolos especiales que por lo comuacuten se utilizan en expresiones

La tabla siguiente muestra los distintos tipos de operadores

Operador Significado Ejemplo

Operadores aritmeacuteticos

+ Suma a + b

- Resta a - b

Multiplicacioacuten a b

TABLA DE VERDAD DE LOS OPERADORES

LOgraveGICOSSon aquellas que evaluacutean maacutes de una condicioacuten en una sola expresioacuten para esto hacen uso de los operadores loacutegicos

ORDEN DE EVALUCION DE LOS OPERADORES

Cuando en una expresioacuten aparece maacutes de un operador es necesario definir un orden de evaluacioacuten para los operadores Este orden viene dado por las siguientes reglas

1- Todas las sub expresiones entre pareacutentesis se evaluacutean primero En los pareacutentesis anidados se evaluacutea primero el maacutes interior2- En una misma expresioacuten los operadores se evaluacutean seguacuten su orden de prioridad (los operadores en la misma liacutenea de la siguiente tabla tienen el mismo nivel de procedencia)

ALGORITMOS

Se define como el conjunto ordenado de pasos a seguir para resolver un problema concreto sin ambiguumledad alguna en un tiempo finito

CARACTERISTICAS

SER FINITO Tiene que acabar siempre tras un nuacutemero finito de pasosREPETITIVO Debe repetirse todas las veces que sea necesario dando siempre ideacutenticos resultados para las mismas condicionesVALIDO que haga lo que se pretende que haga y devuelva los resultados esperadosDEFINIBLE Cada paso debe quedar definido de un modo preciso y sin ambiguumledadesPRECISION Debe ser concreto utilizando solo el numero de pasos para llegar a una solucioacuten claraRECIBE DATOS DE ENTRADA Es normal que reciba datos desde el exterior que luego utiliza y trataPROPORCIONA RESULTADOS DE SALIDA Produce uno o varios resultados en su ejecucioacuten que enviacutea al exterior como valor de salidaSER EFECTIVO Que resuelva el problema de forma raacutepida y eficiente

GRAacuteFICA (DIAGRAMAS DE FLUJO)

Son esquemas para representar y expresar algoritmos Estos diagramas utilizan siacutembolos con significados definidos que representan los pasos del algoritmo y representan el flujo de ejecucioacuten mediante flechas que conectan los puntos de inicio y de fin de proceso

ESTRUCTURA SECUENCIALINICIO

OPERACIOacuteN DE ENTRADASALIDA

FINEST

RUCTURA

CONDICIONAL

DIRECCION

REGLAS GENERALESEstablecer el alcance del proceso de esta manera quedaraacute fijado el comienzo y el final del diagramaIdentificar y listar las principales actividadessubprocesos que estaacuten incluidos en el proceso y su orden cronoloacutegicoIdentificar y listar los puntos de decisioacutenConstruir el diagrama respetando la secuencia cronoloacutegica y asignando los correspondientes siacutembolosAsignar un tiacutetulo al diagrama y verificar que esteacute completo y describa con exactitud el proceso elegido

VENTAJASFavorecen la comprensioacuten del proceso al mostrarlo como un dibujo

Permiten identificar los problemas y las oportunidades de mejora del procesoMuestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan facilitando el anaacutelisis de las mismasSon una excelente herramienta para capacitar a los nuevos empleados y tambieacuten a los que desarrollan la tarea cuando se realizan mejoras en el procesoCon fines de anaacutelisis de algoritmo de programacioacuten puede ser ejecutado en un ordenador y con un IDE como Free DFD

DIAGRAMAS CHAPIN O DIAGRAMAS NASSI-SCHNEIDERMAN (N-S)

Es una descripcioacuten de algoritmos basados en la utilizacioacuten de siacutembolos graacuteficos estos se constituyen utilizan como siacutembolo baacutesico el rectaacutengulo dentro del cual aparecen sentencias en lenguaje algoriacutetmico que ayuda a describir las acciones que se realizan

TEXTUAL (SEUDOCOacuteDIGO)

Es un conjunto pequentildeo y completo de sentencias mediante las cuales podemos expresar todas las acciones a llevar a cabo para realizar una tarea mediante un ordenador sus elementos son palabras y secuencias

Ejemplo VARIABLES Precio precio final entero Porcentaje descuento real INICIO escribe(`precio `) lee(precio) escribe(`Porcentaje `) lee(porcentaje) FIN

REGLAS GENERALES

Comienza con la palabra ldquoiniciordquo y termina con la palabra ldquofinrdquo Cada instruccioacuten se debe escribir en una liacutenea Para su descripcioacuten se utilizan palabras reservadas que tienen un significado especiacutefico (ldquoIniciordquo ldquoFinrdquo ldquoSirdquo ldquoEntoncesrdquo ldquoSi nordquo ldquoFin sirdquo ldquoMientrasrdquo ldquoFin Mientrasrdquo ldquoSeguirrdquo ldquoFin Seguirrdquo)Debe escribirse indentado (tabulando) para mostrar claramente las dependencias de unas instrucciones del programa con respecto a otrasCada una de las estructuras que definen un programa tendraacute un punto de comienzo y uno de fin especificados por las palabras reservadas que definen la estructura

VENTAJAS

Se leen de arriba abajoPermite el uso de teacutecnicas decentesFavorece la participacioacuten del programa en moacutedulos pequentildeosResaltan mas las partes generales No permite la violacioacuten de las condiciones estructuradasEl aacutembito de cada bloque o estructura esta perfectamente definido

INCONVENIENTES

No se reconstruyen faacutecilmente si cambia la loacutegica del programaNo permite representar la conexioacuten de varios moacutedulos entre si

METODOLOGIgraveA DE LA PROGRAMACIOgraveN

Se entiende como metodologiacutea de la programacioacuten al conjunto de normas meacutetodos y anotaciones que nos indican la forma de programar

ESTRUCTURA GENERAL DE UN PROGRAMA

Todo programa contiene dos bloques bien diferenciados para la descripcioacuten de los datos

PARTES PRINCIPALES DE UN PROGRAMA

BLOQUES DE DECLARACIONES En el se especifican todos los objetos que utiliza el programa (constantes variables tablas de registro archivos etc) indicando siempre sus caracteriacutesticas

BLOQUE DE INSTRUCCIONES Estaacute constituido por el conjunto de operaciones que se han de realizar para la obtencioacuten de los resultados deseados

SALIDA DE RESULTADOS

Es el conjunto de instrucciones que toman los datos finales (resultados) y los enviacutean a los dispositivos externos (memoria datos central de salida)

PROCESO DE DATOS O ALGORITMODatos de entrada proceso resultados

ENTRADA DE DATOS

La constituye n todas las instrucciones que toman los datos de entrada y los almacenan en la memoria central para que puedan ser

procesadosCLASIFICACION DE LAS INSTRUCCIONES

INTRUCCIONES D DECLARACION Su misioacuten es anunciar la utilizacioacuten de objetos en un programa indicado que identificador tipo y otras caracteriacutesticas corresponden a cada uno de ellosINSTRUCCIONES PRIMITIVAS Son aquellas que ejecutan el proceso de modo inmediato Las instrucciones primitivas pueden ser de entrada de asignacioacuten o de salida se dividen en entradas de asignacioacuten y de salida

INSTRUCCIONES DE CONTROL Son instrucciones que no realizan trabajo efectivo salvo la evaluacioacuten de expresiones generalmente loacutegicas con el objetivo de controlar la ejecucioacuten de otras instrucciones o alterar el orden de ejecucioacuten normal de las instrucciones de un programaINSTRUCCIONES COMPUESTAS Una instruccioacuten compuesta es aquella que representa a un conjunto de instrucciones que estaacuten definidas en otra parte en general son llamadas a sus programas (funciones subrutinas paacuterrafos etc)

COMENTARIOS Son frases que se incluyen de forma moderada en el disentildeo de un algoritmo (en la codificacioacuten suele ser maacutes recomendable su uso) con intencioacuten de aclarar el cometido o funcioacuten de un objeto o conjunto de instrucciones

VARIABLES AUXILIARES DE UN PROGRAMA

Son objetos que utiliza un programa y por la funcioacuten que realizan dentro del mismo toman un nombre especial Contadores acumuladores e interruptores

CONTADORES

Un contador es una variable destinada a almacenar un valor que se iraacute incrementando o decrementando en una cantidad constante Se suelen utilizar mucho en procesos repetitivos para contabilizar el nuacutemero de veces que se repite un conjunto de acciones o eventos es decir en los cuerpos de las instrucciones repetitivas

ACUMULADORESUn acumulador o totalizador es una variable cuya misioacuten es acumular cantidades sucesivas obtenidas al realizar la misma operacioacuten La diferencia de un contador es que el incremento o decremento es variable en lugar de constante como en el caso del contador Para utilizarlos hay que realizar sobre ellos dos operaciones baacutesicas Inicializacioacuten Todo acumulador necesita ser inicializado con el valor neutro de la operacioacuten que va a acumular que en el caso de la suma es 0 y del producto es 1

SUMA 0 PRODUCTO 1

Acumulacioacuten Cuando se hace presente en la memoria el elemento a acumular por la realizacioacuten de una lectura o un calculo se efectuacutea la acumulacioacuten del mismo por medio de la asignacioacuten

SUMA + elementoPRODUCTO elemento

INTERRUPTORES O CONMUTADORES

Un interruptor o conmutador es un campo de memoria (variable) que toman diversos valores a lo largo de la ejecucioacuten del programa Los valores que toma son normalmente 1 o siacute (encendidoabierto) y 0 o no (apagadocerrado) (de ahiacute su nombre de interruptor)a) Recordar en un determinado lugar del programa la ocurrencia o no de un suceso b) Realizar de forma alternativa independiente dos procesos alternativos

SUBPROGRAMA

Un subprograma se utiliza por el programa para un fin especiacutefico El subprograma recibe datos del programa y le devuelve resultados Se dice que el programa llama o invoca al subprograma El subprograma ejecuta una tarea a continuacioacuten retorna o devuelve el control al programa Esta accioacuten puede suceder en diferentes partes del programa Cada vez que el subprograma es llamado el control vuelve al lugar desde donde fue hecha la llamada

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 9: PROYECTO  METODOLOGIA DENYS.pptx

Es un paradigma de la programacioacuten que proporciona lineamientos para desarrollar un proyecto de sistema de informacioacuten

iquest Q u eacute e s e l C i c l o d e V i d a d e l o s S i s t e m a s d e I n f o r m a c i oacute n

INTRODUCCION A LA PROGRAMACION DE LAS COMPUTADORAS

FASE 1

FASE 2

FASE 3

FASE N

FASE N + 1

Desarro

llo e im

plementacioacuten

Las fases se deben realizar en forma secuencial Sin embargo el analista puede volver a alguno de los pasos anteriores

Cada posible conjunto de fases actividades meacutetodos herramientas mejores praacutecticas forman una metodologiacutea diferente

Fases variacutean de autor en autor y seguacuten las organizaciones que los usen

Las etapas del proceso para el desarrollo de sistemas estaacuten formados por fases

ERRORESERRORES DE COMPILACION Los errores en tiempo de compilacioacuten o sintaacutecticos corresponden al incumplimiento de las reglas sintaacutecticas del lenguaje Estos errores son los maacutes faacuteciles de corregir ya que son detectados por el compilador el cual daraacute informacioacuten sobe el lugar donde estaacute y la naturaleza de cada uno de ellos mediante un mensaje de erro ERRORES DE EJECUCIOgraveN son errores que aparecen mientras se ejecuta su programa Estos errores aparecen normalmente cuando su programa intenta una operacioacuten que es imposible que se lleve a cabo Se detectan porque se produce una parada anormal del programa durante su ejecucioacuten y se dice entonces que el programa se ha caiacutedo o que ha sido abortado por el sistema ERRORES DE LOGICOS Corresponden a la obtencioacuten por el programa de resultados que no son correctos y la uacutenica manera de detectarlos es realizando un numero suficiente de ejecuciones de prueba con una gama lo maacutes amplia posible de juegos de datos de prueba comparando los datos producidos por el programa con los obtenidos a mano para esos mismos datos

CALIDAD DE LOS PROGRAMAS

LEGIBILIDAD La le

gibilidad

es el conjunto de

caracteriacutestic

as tipograacutefic

as y

linguumliacutestic

as del texto escrito

que permite

n leerlo

y

comprenderlo con fa

cilidad

FIABILIDAD El

programa debe ser

claro y sencillo de tal

forma que facilite su

lectura y compresioacuten

PORTABILIDAD Ha de

ser capaz de

recuperarse frente a

errores o usos

inadecuados

Modificabilidad El programa ha de facilitar su mantenimiento es decir las modificaciones y actualizaciones necesarias para adaptarlo a 1 nueva situacioacuten

EFICIENCIA Se deben

aprovechar al maacuteximo los

recursos del ordenador

minimizando la memoria

utilizada y el tiempo de

proceso o ejecucioacuten

siempre que no sea a costa

de las anteriores

caracteriacutesticas

METODOLOGIacuteA DE LA PROGRAMACIOacuteN

Conjunto o sistema de meacutetodos principios y reglas que permiten enfrentar de manera sistemaacutetica el desarrollo de un programa que resuelve un problema algoriacutetmico

PROGRAMACION MODULARConsiste en dividir los problemas maacutes pequentildeos en subproblemas con el fin de resolver una tarea sencilla y que no se vuelva tediosa A estos subproblemas en programacioacuten se denominan subprogramas de ahiacute programacioacuten modular

PROGRAMACIOacuteN ESTRUCTURADA Se refiere al control de ejecucioacutensiendo eacuteste una de las cuestiones maacutes importantes que hay que tener en cuenta al construir un programa en un lenguaje de alto nivel La regla general es que las instrucciones se ejecuten sucesivamente una tras otra pero diversas partes del programa se ejecutan o no dependiendo de que se cumpla alguna condicioacuten

DOCUMENTACIOacuteN DE PROGRAMAS

Documentar es una tarea tan necesaria e importante como escribir el coacutedigo el coacutedigo indica como funciona el programa y la documentacioacuten indica porqueacute lo hace

DOCUMENTACIOacuteN EXTERNA es aquella que se encuentra independiente del programa fuente Se encuentra en un Manual impreso y describe con profundidad sus caracteriacutestica teacutecnicas y funcionamientoDOCUMENTACION INTERNA Documento que le indica al usuario (operador) conocer utilizar y operar correctamente el sistema

OBJETOS DE UN PROGRAMA

Los datos son los objetos sobre los que un ordenador opera Se pueden clasificar en los siguientes tipos1- SIMPLES numeacutericos enteros loacutegicos reales2- ESTRUCTURADOS tablas registros conjuntos ficheros grafos3- DEFINIDOS POR EL USUARIO alfabeacuteticos (AB a b) diacutegitos (09) especiales ($lt)

IDENTIFICADORESSon los nombres que se dan a los programas variables constantes subprogramas y otros objetos o entidades de diacutegitos Deben escribirse de acuerdo a unas reglas que cada lenguaje establece

TIPOS DE DATOSUn tipo de dato es un atributo de una parte de los datos que indica al programador algo sobre la clase de datos sobre los que se va a procesar Un tipo de dato define un conjunto de valores y las operaciones sobre estos valores

TIPOS ELEMENTALES NUMERICOS

Los tipos simples son numeacutericos (enteros reales) Loacutegicos (booleanos) Caraacutecter (caracteres cadenas de caracteres)El tipo de dato numeacuterico es el conjunto de los valores numeacutericos

Se pueden representar de dos formasEnteros (nuacutemeros completos que no tienen componentes fraccionarios)Ejemplos 16 3868 -1256 0Reales (consta de una parte entera y una parte decimal)Ejemplos -1230 01 49827 -0002

TIPOS DE DATOS DE CARAgraveCTER

Caraacutecter (conjunto finito y ordenado de caracteres que la computadora reconoce)La mayoriacutea reconoce los siguientes tipos de caracteres Caracteres Alfabeacuteticos A B C hellip Z a b c hellip zCaracteres Numeacutericos 0 1 2 hellip 9Caracteres Especiales + - ^ lt gt $ hellipEjemplos lsquoarsquo lsquoArsquo lsquo0rsquo lsquo_rsquo

TIPOS DE DATOS BOLEANOS

El tipo de dato loacutegico o booleano es en computacioacuten aquel que puede representar valores de loacutegica binaria esto es 2 valores valores que normalmente representan falso o verdadero Se utiliza normalmente en la programacioacuten estadiacutestica electroacutenica matemaacuteticas (Aacutelgebra booleana) etcPara generar un dato o valor loacutegico a partir de otros tipos de datos tiacutepicamente se emplean los operadores relacionales (u operadores de relacioacuten) por ejemplo 0 es igual a falso y 1 es igual a verdadero(3gt2)= 1 = verdadero(7gt9)= 0 = falso

Un ejemplo de este tipo de expresiones seriacuteanverdadero AND falso --gt falsofalso OR verdadero --gt verdaderoNOT verdadero --gt falso

TIPOS DE DATOS ESTRUCTURADOS

Son agrupaciones de otros tipos de datosLos tipos de datos estructurados maacutes comunes son vectores y matrices (array) cadenas de caracteres (string) registros y uniones

TIPOS DE DATOS ESTRUCTURADOS MATRICES O ARREGLOS

Un arreglo(matriz o vector) es un conjunto finito y ordenado de elementos homogeacuteneos La propiedad homogeacuteneo quiere decir que los elementos son del mismo tipo de datosLa propiedad ordenado significa que el elemento primero segundo hellip eneacutesimo de un arreglo puede ser identificado

TIPOS DE DATOS LISTASUna lista enlazada es una de las estructuras de datos fundamentales y puede ser usada para implementar otras estructuras de datosConsiste en una secuencia de nodos en los que se guardan campos de datos arbitrarios y una o dos referencias enlaces o punteros al nodo anterior o posterior

Una lista enlazada es un tipo de dato auto referenciado porque contienen un puntero o enlace (en ingleacutes link del mismo significado) a otro dato del mismo tipo Existen diferentes tipos de listas enlazadas Lista Enlazadas Simples Listas Doblemente Enlazadas Listas Enlazadas Circulares y Listas Enlazadas Doblemente Circulares

TIPOS DE DATOS ARBOLES

Es una estructura no lineal y dinaacutemica de datos Dinaacutemica puede cambiar durante la ejecucioacuten de un programaNo lineal a cada elemento del aacuterbol pueden seguirle varios elementos que estaacuten formados por un conjunto de nodos y un conjunto de aristas que conectan pares de nodos

TIPOS DE DATOS CONSTANTESUna constante es un dato cuyo valor no puede cambiar durante la ejecucioacuten del programaRecibe un valor en el momento de la compilacioacuten y este permanece inalterado durante todo el programa Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

TIPOS DE DATOS VARIABLESUna variable es un nombre asociado a un elemento de datos que estaacute situado en posiciones contiguas de la memoria principal y su valor puede cambiar durante la ejecucioacuten de un programa En la declaracioacuten de una variable se debe indicar el tipo al que pertenece Asiacute tendremos variables enteras reales booleanas etc Por otro lado distinguimos tres partes fundamentales en la vida de una variable Declaracioacuten Iniciacioacuten Utilizacioacuten

TIPOS DE EXPRECIONES

Una expresioacuten es una combinacioacuten de variables operadores y llamadas de meacutetodos construida de acuerdo a la sintaxis del lenguaje que devuelve un valor El tipo de dato del valor regresado por una expresioacuten depende de los elementos usados en la expresioacuten

OPERADORESLos operadores son siacutembolos especiales que por lo comuacuten se utilizan en expresiones

La tabla siguiente muestra los distintos tipos de operadores

Operador Significado Ejemplo

Operadores aritmeacuteticos

+ Suma a + b

- Resta a - b

Multiplicacioacuten a b

TABLA DE VERDAD DE LOS OPERADORES

LOgraveGICOSSon aquellas que evaluacutean maacutes de una condicioacuten en una sola expresioacuten para esto hacen uso de los operadores loacutegicos

ORDEN DE EVALUCION DE LOS OPERADORES

Cuando en una expresioacuten aparece maacutes de un operador es necesario definir un orden de evaluacioacuten para los operadores Este orden viene dado por las siguientes reglas

1- Todas las sub expresiones entre pareacutentesis se evaluacutean primero En los pareacutentesis anidados se evaluacutea primero el maacutes interior2- En una misma expresioacuten los operadores se evaluacutean seguacuten su orden de prioridad (los operadores en la misma liacutenea de la siguiente tabla tienen el mismo nivel de procedencia)

ALGORITMOS

Se define como el conjunto ordenado de pasos a seguir para resolver un problema concreto sin ambiguumledad alguna en un tiempo finito

CARACTERISTICAS

SER FINITO Tiene que acabar siempre tras un nuacutemero finito de pasosREPETITIVO Debe repetirse todas las veces que sea necesario dando siempre ideacutenticos resultados para las mismas condicionesVALIDO que haga lo que se pretende que haga y devuelva los resultados esperadosDEFINIBLE Cada paso debe quedar definido de un modo preciso y sin ambiguumledadesPRECISION Debe ser concreto utilizando solo el numero de pasos para llegar a una solucioacuten claraRECIBE DATOS DE ENTRADA Es normal que reciba datos desde el exterior que luego utiliza y trataPROPORCIONA RESULTADOS DE SALIDA Produce uno o varios resultados en su ejecucioacuten que enviacutea al exterior como valor de salidaSER EFECTIVO Que resuelva el problema de forma raacutepida y eficiente

GRAacuteFICA (DIAGRAMAS DE FLUJO)

Son esquemas para representar y expresar algoritmos Estos diagramas utilizan siacutembolos con significados definidos que representan los pasos del algoritmo y representan el flujo de ejecucioacuten mediante flechas que conectan los puntos de inicio y de fin de proceso

ESTRUCTURA SECUENCIALINICIO

OPERACIOacuteN DE ENTRADASALIDA

FINEST

RUCTURA

CONDICIONAL

DIRECCION

REGLAS GENERALESEstablecer el alcance del proceso de esta manera quedaraacute fijado el comienzo y el final del diagramaIdentificar y listar las principales actividadessubprocesos que estaacuten incluidos en el proceso y su orden cronoloacutegicoIdentificar y listar los puntos de decisioacutenConstruir el diagrama respetando la secuencia cronoloacutegica y asignando los correspondientes siacutembolosAsignar un tiacutetulo al diagrama y verificar que esteacute completo y describa con exactitud el proceso elegido

VENTAJASFavorecen la comprensioacuten del proceso al mostrarlo como un dibujo

Permiten identificar los problemas y las oportunidades de mejora del procesoMuestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan facilitando el anaacutelisis de las mismasSon una excelente herramienta para capacitar a los nuevos empleados y tambieacuten a los que desarrollan la tarea cuando se realizan mejoras en el procesoCon fines de anaacutelisis de algoritmo de programacioacuten puede ser ejecutado en un ordenador y con un IDE como Free DFD

DIAGRAMAS CHAPIN O DIAGRAMAS NASSI-SCHNEIDERMAN (N-S)

Es una descripcioacuten de algoritmos basados en la utilizacioacuten de siacutembolos graacuteficos estos se constituyen utilizan como siacutembolo baacutesico el rectaacutengulo dentro del cual aparecen sentencias en lenguaje algoriacutetmico que ayuda a describir las acciones que se realizan

TEXTUAL (SEUDOCOacuteDIGO)

Es un conjunto pequentildeo y completo de sentencias mediante las cuales podemos expresar todas las acciones a llevar a cabo para realizar una tarea mediante un ordenador sus elementos son palabras y secuencias

Ejemplo VARIABLES Precio precio final entero Porcentaje descuento real INICIO escribe(`precio `) lee(precio) escribe(`Porcentaje `) lee(porcentaje) FIN

REGLAS GENERALES

Comienza con la palabra ldquoiniciordquo y termina con la palabra ldquofinrdquo Cada instruccioacuten se debe escribir en una liacutenea Para su descripcioacuten se utilizan palabras reservadas que tienen un significado especiacutefico (ldquoIniciordquo ldquoFinrdquo ldquoSirdquo ldquoEntoncesrdquo ldquoSi nordquo ldquoFin sirdquo ldquoMientrasrdquo ldquoFin Mientrasrdquo ldquoSeguirrdquo ldquoFin Seguirrdquo)Debe escribirse indentado (tabulando) para mostrar claramente las dependencias de unas instrucciones del programa con respecto a otrasCada una de las estructuras que definen un programa tendraacute un punto de comienzo y uno de fin especificados por las palabras reservadas que definen la estructura

VENTAJAS

Se leen de arriba abajoPermite el uso de teacutecnicas decentesFavorece la participacioacuten del programa en moacutedulos pequentildeosResaltan mas las partes generales No permite la violacioacuten de las condiciones estructuradasEl aacutembito de cada bloque o estructura esta perfectamente definido

INCONVENIENTES

No se reconstruyen faacutecilmente si cambia la loacutegica del programaNo permite representar la conexioacuten de varios moacutedulos entre si

METODOLOGIgraveA DE LA PROGRAMACIOgraveN

Se entiende como metodologiacutea de la programacioacuten al conjunto de normas meacutetodos y anotaciones que nos indican la forma de programar

ESTRUCTURA GENERAL DE UN PROGRAMA

Todo programa contiene dos bloques bien diferenciados para la descripcioacuten de los datos

PARTES PRINCIPALES DE UN PROGRAMA

BLOQUES DE DECLARACIONES En el se especifican todos los objetos que utiliza el programa (constantes variables tablas de registro archivos etc) indicando siempre sus caracteriacutesticas

BLOQUE DE INSTRUCCIONES Estaacute constituido por el conjunto de operaciones que se han de realizar para la obtencioacuten de los resultados deseados

SALIDA DE RESULTADOS

Es el conjunto de instrucciones que toman los datos finales (resultados) y los enviacutean a los dispositivos externos (memoria datos central de salida)

PROCESO DE DATOS O ALGORITMODatos de entrada proceso resultados

ENTRADA DE DATOS

La constituye n todas las instrucciones que toman los datos de entrada y los almacenan en la memoria central para que puedan ser

procesadosCLASIFICACION DE LAS INSTRUCCIONES

INTRUCCIONES D DECLARACION Su misioacuten es anunciar la utilizacioacuten de objetos en un programa indicado que identificador tipo y otras caracteriacutesticas corresponden a cada uno de ellosINSTRUCCIONES PRIMITIVAS Son aquellas que ejecutan el proceso de modo inmediato Las instrucciones primitivas pueden ser de entrada de asignacioacuten o de salida se dividen en entradas de asignacioacuten y de salida

INSTRUCCIONES DE CONTROL Son instrucciones que no realizan trabajo efectivo salvo la evaluacioacuten de expresiones generalmente loacutegicas con el objetivo de controlar la ejecucioacuten de otras instrucciones o alterar el orden de ejecucioacuten normal de las instrucciones de un programaINSTRUCCIONES COMPUESTAS Una instruccioacuten compuesta es aquella que representa a un conjunto de instrucciones que estaacuten definidas en otra parte en general son llamadas a sus programas (funciones subrutinas paacuterrafos etc)

COMENTARIOS Son frases que se incluyen de forma moderada en el disentildeo de un algoritmo (en la codificacioacuten suele ser maacutes recomendable su uso) con intencioacuten de aclarar el cometido o funcioacuten de un objeto o conjunto de instrucciones

VARIABLES AUXILIARES DE UN PROGRAMA

Son objetos que utiliza un programa y por la funcioacuten que realizan dentro del mismo toman un nombre especial Contadores acumuladores e interruptores

CONTADORES

Un contador es una variable destinada a almacenar un valor que se iraacute incrementando o decrementando en una cantidad constante Se suelen utilizar mucho en procesos repetitivos para contabilizar el nuacutemero de veces que se repite un conjunto de acciones o eventos es decir en los cuerpos de las instrucciones repetitivas

ACUMULADORESUn acumulador o totalizador es una variable cuya misioacuten es acumular cantidades sucesivas obtenidas al realizar la misma operacioacuten La diferencia de un contador es que el incremento o decremento es variable en lugar de constante como en el caso del contador Para utilizarlos hay que realizar sobre ellos dos operaciones baacutesicas Inicializacioacuten Todo acumulador necesita ser inicializado con el valor neutro de la operacioacuten que va a acumular que en el caso de la suma es 0 y del producto es 1

SUMA 0 PRODUCTO 1

Acumulacioacuten Cuando se hace presente en la memoria el elemento a acumular por la realizacioacuten de una lectura o un calculo se efectuacutea la acumulacioacuten del mismo por medio de la asignacioacuten

SUMA + elementoPRODUCTO elemento

INTERRUPTORES O CONMUTADORES

Un interruptor o conmutador es un campo de memoria (variable) que toman diversos valores a lo largo de la ejecucioacuten del programa Los valores que toma son normalmente 1 o siacute (encendidoabierto) y 0 o no (apagadocerrado) (de ahiacute su nombre de interruptor)a) Recordar en un determinado lugar del programa la ocurrencia o no de un suceso b) Realizar de forma alternativa independiente dos procesos alternativos

SUBPROGRAMA

Un subprograma se utiliza por el programa para un fin especiacutefico El subprograma recibe datos del programa y le devuelve resultados Se dice que el programa llama o invoca al subprograma El subprograma ejecuta una tarea a continuacioacuten retorna o devuelve el control al programa Esta accioacuten puede suceder en diferentes partes del programa Cada vez que el subprograma es llamado el control vuelve al lugar desde donde fue hecha la llamada

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 10: PROYECTO  METODOLOGIA DENYS.pptx

FASE 1

FASE 2

FASE 3

FASE N

FASE N + 1

Desarro

llo e im

plementacioacuten

Las fases se deben realizar en forma secuencial Sin embargo el analista puede volver a alguno de los pasos anteriores

Cada posible conjunto de fases actividades meacutetodos herramientas mejores praacutecticas forman una metodologiacutea diferente

Fases variacutean de autor en autor y seguacuten las organizaciones que los usen

Las etapas del proceso para el desarrollo de sistemas estaacuten formados por fases

ERRORESERRORES DE COMPILACION Los errores en tiempo de compilacioacuten o sintaacutecticos corresponden al incumplimiento de las reglas sintaacutecticas del lenguaje Estos errores son los maacutes faacuteciles de corregir ya que son detectados por el compilador el cual daraacute informacioacuten sobe el lugar donde estaacute y la naturaleza de cada uno de ellos mediante un mensaje de erro ERRORES DE EJECUCIOgraveN son errores que aparecen mientras se ejecuta su programa Estos errores aparecen normalmente cuando su programa intenta una operacioacuten que es imposible que se lleve a cabo Se detectan porque se produce una parada anormal del programa durante su ejecucioacuten y se dice entonces que el programa se ha caiacutedo o que ha sido abortado por el sistema ERRORES DE LOGICOS Corresponden a la obtencioacuten por el programa de resultados que no son correctos y la uacutenica manera de detectarlos es realizando un numero suficiente de ejecuciones de prueba con una gama lo maacutes amplia posible de juegos de datos de prueba comparando los datos producidos por el programa con los obtenidos a mano para esos mismos datos

CALIDAD DE LOS PROGRAMAS

LEGIBILIDAD La le

gibilidad

es el conjunto de

caracteriacutestic

as tipograacutefic

as y

linguumliacutestic

as del texto escrito

que permite

n leerlo

y

comprenderlo con fa

cilidad

FIABILIDAD El

programa debe ser

claro y sencillo de tal

forma que facilite su

lectura y compresioacuten

PORTABILIDAD Ha de

ser capaz de

recuperarse frente a

errores o usos

inadecuados

Modificabilidad El programa ha de facilitar su mantenimiento es decir las modificaciones y actualizaciones necesarias para adaptarlo a 1 nueva situacioacuten

EFICIENCIA Se deben

aprovechar al maacuteximo los

recursos del ordenador

minimizando la memoria

utilizada y el tiempo de

proceso o ejecucioacuten

siempre que no sea a costa

de las anteriores

caracteriacutesticas

METODOLOGIacuteA DE LA PROGRAMACIOacuteN

Conjunto o sistema de meacutetodos principios y reglas que permiten enfrentar de manera sistemaacutetica el desarrollo de un programa que resuelve un problema algoriacutetmico

PROGRAMACION MODULARConsiste en dividir los problemas maacutes pequentildeos en subproblemas con el fin de resolver una tarea sencilla y que no se vuelva tediosa A estos subproblemas en programacioacuten se denominan subprogramas de ahiacute programacioacuten modular

PROGRAMACIOacuteN ESTRUCTURADA Se refiere al control de ejecucioacutensiendo eacuteste una de las cuestiones maacutes importantes que hay que tener en cuenta al construir un programa en un lenguaje de alto nivel La regla general es que las instrucciones se ejecuten sucesivamente una tras otra pero diversas partes del programa se ejecutan o no dependiendo de que se cumpla alguna condicioacuten

DOCUMENTACIOacuteN DE PROGRAMAS

Documentar es una tarea tan necesaria e importante como escribir el coacutedigo el coacutedigo indica como funciona el programa y la documentacioacuten indica porqueacute lo hace

DOCUMENTACIOacuteN EXTERNA es aquella que se encuentra independiente del programa fuente Se encuentra en un Manual impreso y describe con profundidad sus caracteriacutestica teacutecnicas y funcionamientoDOCUMENTACION INTERNA Documento que le indica al usuario (operador) conocer utilizar y operar correctamente el sistema

OBJETOS DE UN PROGRAMA

Los datos son los objetos sobre los que un ordenador opera Se pueden clasificar en los siguientes tipos1- SIMPLES numeacutericos enteros loacutegicos reales2- ESTRUCTURADOS tablas registros conjuntos ficheros grafos3- DEFINIDOS POR EL USUARIO alfabeacuteticos (AB a b) diacutegitos (09) especiales ($lt)

IDENTIFICADORESSon los nombres que se dan a los programas variables constantes subprogramas y otros objetos o entidades de diacutegitos Deben escribirse de acuerdo a unas reglas que cada lenguaje establece

TIPOS DE DATOSUn tipo de dato es un atributo de una parte de los datos que indica al programador algo sobre la clase de datos sobre los que se va a procesar Un tipo de dato define un conjunto de valores y las operaciones sobre estos valores

TIPOS ELEMENTALES NUMERICOS

Los tipos simples son numeacutericos (enteros reales) Loacutegicos (booleanos) Caraacutecter (caracteres cadenas de caracteres)El tipo de dato numeacuterico es el conjunto de los valores numeacutericos

Se pueden representar de dos formasEnteros (nuacutemeros completos que no tienen componentes fraccionarios)Ejemplos 16 3868 -1256 0Reales (consta de una parte entera y una parte decimal)Ejemplos -1230 01 49827 -0002

TIPOS DE DATOS DE CARAgraveCTER

Caraacutecter (conjunto finito y ordenado de caracteres que la computadora reconoce)La mayoriacutea reconoce los siguientes tipos de caracteres Caracteres Alfabeacuteticos A B C hellip Z a b c hellip zCaracteres Numeacutericos 0 1 2 hellip 9Caracteres Especiales + - ^ lt gt $ hellipEjemplos lsquoarsquo lsquoArsquo lsquo0rsquo lsquo_rsquo

TIPOS DE DATOS BOLEANOS

El tipo de dato loacutegico o booleano es en computacioacuten aquel que puede representar valores de loacutegica binaria esto es 2 valores valores que normalmente representan falso o verdadero Se utiliza normalmente en la programacioacuten estadiacutestica electroacutenica matemaacuteticas (Aacutelgebra booleana) etcPara generar un dato o valor loacutegico a partir de otros tipos de datos tiacutepicamente se emplean los operadores relacionales (u operadores de relacioacuten) por ejemplo 0 es igual a falso y 1 es igual a verdadero(3gt2)= 1 = verdadero(7gt9)= 0 = falso

Un ejemplo de este tipo de expresiones seriacuteanverdadero AND falso --gt falsofalso OR verdadero --gt verdaderoNOT verdadero --gt falso

TIPOS DE DATOS ESTRUCTURADOS

Son agrupaciones de otros tipos de datosLos tipos de datos estructurados maacutes comunes son vectores y matrices (array) cadenas de caracteres (string) registros y uniones

TIPOS DE DATOS ESTRUCTURADOS MATRICES O ARREGLOS

Un arreglo(matriz o vector) es un conjunto finito y ordenado de elementos homogeacuteneos La propiedad homogeacuteneo quiere decir que los elementos son del mismo tipo de datosLa propiedad ordenado significa que el elemento primero segundo hellip eneacutesimo de un arreglo puede ser identificado

TIPOS DE DATOS LISTASUna lista enlazada es una de las estructuras de datos fundamentales y puede ser usada para implementar otras estructuras de datosConsiste en una secuencia de nodos en los que se guardan campos de datos arbitrarios y una o dos referencias enlaces o punteros al nodo anterior o posterior

Una lista enlazada es un tipo de dato auto referenciado porque contienen un puntero o enlace (en ingleacutes link del mismo significado) a otro dato del mismo tipo Existen diferentes tipos de listas enlazadas Lista Enlazadas Simples Listas Doblemente Enlazadas Listas Enlazadas Circulares y Listas Enlazadas Doblemente Circulares

TIPOS DE DATOS ARBOLES

Es una estructura no lineal y dinaacutemica de datos Dinaacutemica puede cambiar durante la ejecucioacuten de un programaNo lineal a cada elemento del aacuterbol pueden seguirle varios elementos que estaacuten formados por un conjunto de nodos y un conjunto de aristas que conectan pares de nodos

TIPOS DE DATOS CONSTANTESUna constante es un dato cuyo valor no puede cambiar durante la ejecucioacuten del programaRecibe un valor en el momento de la compilacioacuten y este permanece inalterado durante todo el programa Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

TIPOS DE DATOS VARIABLESUna variable es un nombre asociado a un elemento de datos que estaacute situado en posiciones contiguas de la memoria principal y su valor puede cambiar durante la ejecucioacuten de un programa En la declaracioacuten de una variable se debe indicar el tipo al que pertenece Asiacute tendremos variables enteras reales booleanas etc Por otro lado distinguimos tres partes fundamentales en la vida de una variable Declaracioacuten Iniciacioacuten Utilizacioacuten

TIPOS DE EXPRECIONES

Una expresioacuten es una combinacioacuten de variables operadores y llamadas de meacutetodos construida de acuerdo a la sintaxis del lenguaje que devuelve un valor El tipo de dato del valor regresado por una expresioacuten depende de los elementos usados en la expresioacuten

OPERADORESLos operadores son siacutembolos especiales que por lo comuacuten se utilizan en expresiones

La tabla siguiente muestra los distintos tipos de operadores

Operador Significado Ejemplo

Operadores aritmeacuteticos

+ Suma a + b

- Resta a - b

Multiplicacioacuten a b

TABLA DE VERDAD DE LOS OPERADORES

LOgraveGICOSSon aquellas que evaluacutean maacutes de una condicioacuten en una sola expresioacuten para esto hacen uso de los operadores loacutegicos

ORDEN DE EVALUCION DE LOS OPERADORES

Cuando en una expresioacuten aparece maacutes de un operador es necesario definir un orden de evaluacioacuten para los operadores Este orden viene dado por las siguientes reglas

1- Todas las sub expresiones entre pareacutentesis se evaluacutean primero En los pareacutentesis anidados se evaluacutea primero el maacutes interior2- En una misma expresioacuten los operadores se evaluacutean seguacuten su orden de prioridad (los operadores en la misma liacutenea de la siguiente tabla tienen el mismo nivel de procedencia)

ALGORITMOS

Se define como el conjunto ordenado de pasos a seguir para resolver un problema concreto sin ambiguumledad alguna en un tiempo finito

CARACTERISTICAS

SER FINITO Tiene que acabar siempre tras un nuacutemero finito de pasosREPETITIVO Debe repetirse todas las veces que sea necesario dando siempre ideacutenticos resultados para las mismas condicionesVALIDO que haga lo que se pretende que haga y devuelva los resultados esperadosDEFINIBLE Cada paso debe quedar definido de un modo preciso y sin ambiguumledadesPRECISION Debe ser concreto utilizando solo el numero de pasos para llegar a una solucioacuten claraRECIBE DATOS DE ENTRADA Es normal que reciba datos desde el exterior que luego utiliza y trataPROPORCIONA RESULTADOS DE SALIDA Produce uno o varios resultados en su ejecucioacuten que enviacutea al exterior como valor de salidaSER EFECTIVO Que resuelva el problema de forma raacutepida y eficiente

GRAacuteFICA (DIAGRAMAS DE FLUJO)

Son esquemas para representar y expresar algoritmos Estos diagramas utilizan siacutembolos con significados definidos que representan los pasos del algoritmo y representan el flujo de ejecucioacuten mediante flechas que conectan los puntos de inicio y de fin de proceso

ESTRUCTURA SECUENCIALINICIO

OPERACIOacuteN DE ENTRADASALIDA

FINEST

RUCTURA

CONDICIONAL

DIRECCION

REGLAS GENERALESEstablecer el alcance del proceso de esta manera quedaraacute fijado el comienzo y el final del diagramaIdentificar y listar las principales actividadessubprocesos que estaacuten incluidos en el proceso y su orden cronoloacutegicoIdentificar y listar los puntos de decisioacutenConstruir el diagrama respetando la secuencia cronoloacutegica y asignando los correspondientes siacutembolosAsignar un tiacutetulo al diagrama y verificar que esteacute completo y describa con exactitud el proceso elegido

VENTAJASFavorecen la comprensioacuten del proceso al mostrarlo como un dibujo

Permiten identificar los problemas y las oportunidades de mejora del procesoMuestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan facilitando el anaacutelisis de las mismasSon una excelente herramienta para capacitar a los nuevos empleados y tambieacuten a los que desarrollan la tarea cuando se realizan mejoras en el procesoCon fines de anaacutelisis de algoritmo de programacioacuten puede ser ejecutado en un ordenador y con un IDE como Free DFD

DIAGRAMAS CHAPIN O DIAGRAMAS NASSI-SCHNEIDERMAN (N-S)

Es una descripcioacuten de algoritmos basados en la utilizacioacuten de siacutembolos graacuteficos estos se constituyen utilizan como siacutembolo baacutesico el rectaacutengulo dentro del cual aparecen sentencias en lenguaje algoriacutetmico que ayuda a describir las acciones que se realizan

TEXTUAL (SEUDOCOacuteDIGO)

Es un conjunto pequentildeo y completo de sentencias mediante las cuales podemos expresar todas las acciones a llevar a cabo para realizar una tarea mediante un ordenador sus elementos son palabras y secuencias

Ejemplo VARIABLES Precio precio final entero Porcentaje descuento real INICIO escribe(`precio `) lee(precio) escribe(`Porcentaje `) lee(porcentaje) FIN

REGLAS GENERALES

Comienza con la palabra ldquoiniciordquo y termina con la palabra ldquofinrdquo Cada instruccioacuten se debe escribir en una liacutenea Para su descripcioacuten se utilizan palabras reservadas que tienen un significado especiacutefico (ldquoIniciordquo ldquoFinrdquo ldquoSirdquo ldquoEntoncesrdquo ldquoSi nordquo ldquoFin sirdquo ldquoMientrasrdquo ldquoFin Mientrasrdquo ldquoSeguirrdquo ldquoFin Seguirrdquo)Debe escribirse indentado (tabulando) para mostrar claramente las dependencias de unas instrucciones del programa con respecto a otrasCada una de las estructuras que definen un programa tendraacute un punto de comienzo y uno de fin especificados por las palabras reservadas que definen la estructura

VENTAJAS

Se leen de arriba abajoPermite el uso de teacutecnicas decentesFavorece la participacioacuten del programa en moacutedulos pequentildeosResaltan mas las partes generales No permite la violacioacuten de las condiciones estructuradasEl aacutembito de cada bloque o estructura esta perfectamente definido

INCONVENIENTES

No se reconstruyen faacutecilmente si cambia la loacutegica del programaNo permite representar la conexioacuten de varios moacutedulos entre si

METODOLOGIgraveA DE LA PROGRAMACIOgraveN

Se entiende como metodologiacutea de la programacioacuten al conjunto de normas meacutetodos y anotaciones que nos indican la forma de programar

ESTRUCTURA GENERAL DE UN PROGRAMA

Todo programa contiene dos bloques bien diferenciados para la descripcioacuten de los datos

PARTES PRINCIPALES DE UN PROGRAMA

BLOQUES DE DECLARACIONES En el se especifican todos los objetos que utiliza el programa (constantes variables tablas de registro archivos etc) indicando siempre sus caracteriacutesticas

BLOQUE DE INSTRUCCIONES Estaacute constituido por el conjunto de operaciones que se han de realizar para la obtencioacuten de los resultados deseados

SALIDA DE RESULTADOS

Es el conjunto de instrucciones que toman los datos finales (resultados) y los enviacutean a los dispositivos externos (memoria datos central de salida)

PROCESO DE DATOS O ALGORITMODatos de entrada proceso resultados

ENTRADA DE DATOS

La constituye n todas las instrucciones que toman los datos de entrada y los almacenan en la memoria central para que puedan ser

procesadosCLASIFICACION DE LAS INSTRUCCIONES

INTRUCCIONES D DECLARACION Su misioacuten es anunciar la utilizacioacuten de objetos en un programa indicado que identificador tipo y otras caracteriacutesticas corresponden a cada uno de ellosINSTRUCCIONES PRIMITIVAS Son aquellas que ejecutan el proceso de modo inmediato Las instrucciones primitivas pueden ser de entrada de asignacioacuten o de salida se dividen en entradas de asignacioacuten y de salida

INSTRUCCIONES DE CONTROL Son instrucciones que no realizan trabajo efectivo salvo la evaluacioacuten de expresiones generalmente loacutegicas con el objetivo de controlar la ejecucioacuten de otras instrucciones o alterar el orden de ejecucioacuten normal de las instrucciones de un programaINSTRUCCIONES COMPUESTAS Una instruccioacuten compuesta es aquella que representa a un conjunto de instrucciones que estaacuten definidas en otra parte en general son llamadas a sus programas (funciones subrutinas paacuterrafos etc)

COMENTARIOS Son frases que se incluyen de forma moderada en el disentildeo de un algoritmo (en la codificacioacuten suele ser maacutes recomendable su uso) con intencioacuten de aclarar el cometido o funcioacuten de un objeto o conjunto de instrucciones

VARIABLES AUXILIARES DE UN PROGRAMA

Son objetos que utiliza un programa y por la funcioacuten que realizan dentro del mismo toman un nombre especial Contadores acumuladores e interruptores

CONTADORES

Un contador es una variable destinada a almacenar un valor que se iraacute incrementando o decrementando en una cantidad constante Se suelen utilizar mucho en procesos repetitivos para contabilizar el nuacutemero de veces que se repite un conjunto de acciones o eventos es decir en los cuerpos de las instrucciones repetitivas

ACUMULADORESUn acumulador o totalizador es una variable cuya misioacuten es acumular cantidades sucesivas obtenidas al realizar la misma operacioacuten La diferencia de un contador es que el incremento o decremento es variable en lugar de constante como en el caso del contador Para utilizarlos hay que realizar sobre ellos dos operaciones baacutesicas Inicializacioacuten Todo acumulador necesita ser inicializado con el valor neutro de la operacioacuten que va a acumular que en el caso de la suma es 0 y del producto es 1

SUMA 0 PRODUCTO 1

Acumulacioacuten Cuando se hace presente en la memoria el elemento a acumular por la realizacioacuten de una lectura o un calculo se efectuacutea la acumulacioacuten del mismo por medio de la asignacioacuten

SUMA + elementoPRODUCTO elemento

INTERRUPTORES O CONMUTADORES

Un interruptor o conmutador es un campo de memoria (variable) que toman diversos valores a lo largo de la ejecucioacuten del programa Los valores que toma son normalmente 1 o siacute (encendidoabierto) y 0 o no (apagadocerrado) (de ahiacute su nombre de interruptor)a) Recordar en un determinado lugar del programa la ocurrencia o no de un suceso b) Realizar de forma alternativa independiente dos procesos alternativos

SUBPROGRAMA

Un subprograma se utiliza por el programa para un fin especiacutefico El subprograma recibe datos del programa y le devuelve resultados Se dice que el programa llama o invoca al subprograma El subprograma ejecuta una tarea a continuacioacuten retorna o devuelve el control al programa Esta accioacuten puede suceder en diferentes partes del programa Cada vez que el subprograma es llamado el control vuelve al lugar desde donde fue hecha la llamada

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 11: PROYECTO  METODOLOGIA DENYS.pptx

ERRORESERRORES DE COMPILACION Los errores en tiempo de compilacioacuten o sintaacutecticos corresponden al incumplimiento de las reglas sintaacutecticas del lenguaje Estos errores son los maacutes faacuteciles de corregir ya que son detectados por el compilador el cual daraacute informacioacuten sobe el lugar donde estaacute y la naturaleza de cada uno de ellos mediante un mensaje de erro ERRORES DE EJECUCIOgraveN son errores que aparecen mientras se ejecuta su programa Estos errores aparecen normalmente cuando su programa intenta una operacioacuten que es imposible que se lleve a cabo Se detectan porque se produce una parada anormal del programa durante su ejecucioacuten y se dice entonces que el programa se ha caiacutedo o que ha sido abortado por el sistema ERRORES DE LOGICOS Corresponden a la obtencioacuten por el programa de resultados que no son correctos y la uacutenica manera de detectarlos es realizando un numero suficiente de ejecuciones de prueba con una gama lo maacutes amplia posible de juegos de datos de prueba comparando los datos producidos por el programa con los obtenidos a mano para esos mismos datos

CALIDAD DE LOS PROGRAMAS

LEGIBILIDAD La le

gibilidad

es el conjunto de

caracteriacutestic

as tipograacutefic

as y

linguumliacutestic

as del texto escrito

que permite

n leerlo

y

comprenderlo con fa

cilidad

FIABILIDAD El

programa debe ser

claro y sencillo de tal

forma que facilite su

lectura y compresioacuten

PORTABILIDAD Ha de

ser capaz de

recuperarse frente a

errores o usos

inadecuados

Modificabilidad El programa ha de facilitar su mantenimiento es decir las modificaciones y actualizaciones necesarias para adaptarlo a 1 nueva situacioacuten

EFICIENCIA Se deben

aprovechar al maacuteximo los

recursos del ordenador

minimizando la memoria

utilizada y el tiempo de

proceso o ejecucioacuten

siempre que no sea a costa

de las anteriores

caracteriacutesticas

METODOLOGIacuteA DE LA PROGRAMACIOacuteN

Conjunto o sistema de meacutetodos principios y reglas que permiten enfrentar de manera sistemaacutetica el desarrollo de un programa que resuelve un problema algoriacutetmico

PROGRAMACION MODULARConsiste en dividir los problemas maacutes pequentildeos en subproblemas con el fin de resolver una tarea sencilla y que no se vuelva tediosa A estos subproblemas en programacioacuten se denominan subprogramas de ahiacute programacioacuten modular

PROGRAMACIOacuteN ESTRUCTURADA Se refiere al control de ejecucioacutensiendo eacuteste una de las cuestiones maacutes importantes que hay que tener en cuenta al construir un programa en un lenguaje de alto nivel La regla general es que las instrucciones se ejecuten sucesivamente una tras otra pero diversas partes del programa se ejecutan o no dependiendo de que se cumpla alguna condicioacuten

DOCUMENTACIOacuteN DE PROGRAMAS

Documentar es una tarea tan necesaria e importante como escribir el coacutedigo el coacutedigo indica como funciona el programa y la documentacioacuten indica porqueacute lo hace

DOCUMENTACIOacuteN EXTERNA es aquella que se encuentra independiente del programa fuente Se encuentra en un Manual impreso y describe con profundidad sus caracteriacutestica teacutecnicas y funcionamientoDOCUMENTACION INTERNA Documento que le indica al usuario (operador) conocer utilizar y operar correctamente el sistema

OBJETOS DE UN PROGRAMA

Los datos son los objetos sobre los que un ordenador opera Se pueden clasificar en los siguientes tipos1- SIMPLES numeacutericos enteros loacutegicos reales2- ESTRUCTURADOS tablas registros conjuntos ficheros grafos3- DEFINIDOS POR EL USUARIO alfabeacuteticos (AB a b) diacutegitos (09) especiales ($lt)

IDENTIFICADORESSon los nombres que se dan a los programas variables constantes subprogramas y otros objetos o entidades de diacutegitos Deben escribirse de acuerdo a unas reglas que cada lenguaje establece

TIPOS DE DATOSUn tipo de dato es un atributo de una parte de los datos que indica al programador algo sobre la clase de datos sobre los que se va a procesar Un tipo de dato define un conjunto de valores y las operaciones sobre estos valores

TIPOS ELEMENTALES NUMERICOS

Los tipos simples son numeacutericos (enteros reales) Loacutegicos (booleanos) Caraacutecter (caracteres cadenas de caracteres)El tipo de dato numeacuterico es el conjunto de los valores numeacutericos

Se pueden representar de dos formasEnteros (nuacutemeros completos que no tienen componentes fraccionarios)Ejemplos 16 3868 -1256 0Reales (consta de una parte entera y una parte decimal)Ejemplos -1230 01 49827 -0002

TIPOS DE DATOS DE CARAgraveCTER

Caraacutecter (conjunto finito y ordenado de caracteres que la computadora reconoce)La mayoriacutea reconoce los siguientes tipos de caracteres Caracteres Alfabeacuteticos A B C hellip Z a b c hellip zCaracteres Numeacutericos 0 1 2 hellip 9Caracteres Especiales + - ^ lt gt $ hellipEjemplos lsquoarsquo lsquoArsquo lsquo0rsquo lsquo_rsquo

TIPOS DE DATOS BOLEANOS

El tipo de dato loacutegico o booleano es en computacioacuten aquel que puede representar valores de loacutegica binaria esto es 2 valores valores que normalmente representan falso o verdadero Se utiliza normalmente en la programacioacuten estadiacutestica electroacutenica matemaacuteticas (Aacutelgebra booleana) etcPara generar un dato o valor loacutegico a partir de otros tipos de datos tiacutepicamente se emplean los operadores relacionales (u operadores de relacioacuten) por ejemplo 0 es igual a falso y 1 es igual a verdadero(3gt2)= 1 = verdadero(7gt9)= 0 = falso

Un ejemplo de este tipo de expresiones seriacuteanverdadero AND falso --gt falsofalso OR verdadero --gt verdaderoNOT verdadero --gt falso

TIPOS DE DATOS ESTRUCTURADOS

Son agrupaciones de otros tipos de datosLos tipos de datos estructurados maacutes comunes son vectores y matrices (array) cadenas de caracteres (string) registros y uniones

TIPOS DE DATOS ESTRUCTURADOS MATRICES O ARREGLOS

Un arreglo(matriz o vector) es un conjunto finito y ordenado de elementos homogeacuteneos La propiedad homogeacuteneo quiere decir que los elementos son del mismo tipo de datosLa propiedad ordenado significa que el elemento primero segundo hellip eneacutesimo de un arreglo puede ser identificado

TIPOS DE DATOS LISTASUna lista enlazada es una de las estructuras de datos fundamentales y puede ser usada para implementar otras estructuras de datosConsiste en una secuencia de nodos en los que se guardan campos de datos arbitrarios y una o dos referencias enlaces o punteros al nodo anterior o posterior

Una lista enlazada es un tipo de dato auto referenciado porque contienen un puntero o enlace (en ingleacutes link del mismo significado) a otro dato del mismo tipo Existen diferentes tipos de listas enlazadas Lista Enlazadas Simples Listas Doblemente Enlazadas Listas Enlazadas Circulares y Listas Enlazadas Doblemente Circulares

TIPOS DE DATOS ARBOLES

Es una estructura no lineal y dinaacutemica de datos Dinaacutemica puede cambiar durante la ejecucioacuten de un programaNo lineal a cada elemento del aacuterbol pueden seguirle varios elementos que estaacuten formados por un conjunto de nodos y un conjunto de aristas que conectan pares de nodos

TIPOS DE DATOS CONSTANTESUna constante es un dato cuyo valor no puede cambiar durante la ejecucioacuten del programaRecibe un valor en el momento de la compilacioacuten y este permanece inalterado durante todo el programa Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

TIPOS DE DATOS VARIABLESUna variable es un nombre asociado a un elemento de datos que estaacute situado en posiciones contiguas de la memoria principal y su valor puede cambiar durante la ejecucioacuten de un programa En la declaracioacuten de una variable se debe indicar el tipo al que pertenece Asiacute tendremos variables enteras reales booleanas etc Por otro lado distinguimos tres partes fundamentales en la vida de una variable Declaracioacuten Iniciacioacuten Utilizacioacuten

TIPOS DE EXPRECIONES

Una expresioacuten es una combinacioacuten de variables operadores y llamadas de meacutetodos construida de acuerdo a la sintaxis del lenguaje que devuelve un valor El tipo de dato del valor regresado por una expresioacuten depende de los elementos usados en la expresioacuten

OPERADORESLos operadores son siacutembolos especiales que por lo comuacuten se utilizan en expresiones

La tabla siguiente muestra los distintos tipos de operadores

Operador Significado Ejemplo

Operadores aritmeacuteticos

+ Suma a + b

- Resta a - b

Multiplicacioacuten a b

TABLA DE VERDAD DE LOS OPERADORES

LOgraveGICOSSon aquellas que evaluacutean maacutes de una condicioacuten en una sola expresioacuten para esto hacen uso de los operadores loacutegicos

ORDEN DE EVALUCION DE LOS OPERADORES

Cuando en una expresioacuten aparece maacutes de un operador es necesario definir un orden de evaluacioacuten para los operadores Este orden viene dado por las siguientes reglas

1- Todas las sub expresiones entre pareacutentesis se evaluacutean primero En los pareacutentesis anidados se evaluacutea primero el maacutes interior2- En una misma expresioacuten los operadores se evaluacutean seguacuten su orden de prioridad (los operadores en la misma liacutenea de la siguiente tabla tienen el mismo nivel de procedencia)

ALGORITMOS

Se define como el conjunto ordenado de pasos a seguir para resolver un problema concreto sin ambiguumledad alguna en un tiempo finito

CARACTERISTICAS

SER FINITO Tiene que acabar siempre tras un nuacutemero finito de pasosREPETITIVO Debe repetirse todas las veces que sea necesario dando siempre ideacutenticos resultados para las mismas condicionesVALIDO que haga lo que se pretende que haga y devuelva los resultados esperadosDEFINIBLE Cada paso debe quedar definido de un modo preciso y sin ambiguumledadesPRECISION Debe ser concreto utilizando solo el numero de pasos para llegar a una solucioacuten claraRECIBE DATOS DE ENTRADA Es normal que reciba datos desde el exterior que luego utiliza y trataPROPORCIONA RESULTADOS DE SALIDA Produce uno o varios resultados en su ejecucioacuten que enviacutea al exterior como valor de salidaSER EFECTIVO Que resuelva el problema de forma raacutepida y eficiente

GRAacuteFICA (DIAGRAMAS DE FLUJO)

Son esquemas para representar y expresar algoritmos Estos diagramas utilizan siacutembolos con significados definidos que representan los pasos del algoritmo y representan el flujo de ejecucioacuten mediante flechas que conectan los puntos de inicio y de fin de proceso

ESTRUCTURA SECUENCIALINICIO

OPERACIOacuteN DE ENTRADASALIDA

FINEST

RUCTURA

CONDICIONAL

DIRECCION

REGLAS GENERALESEstablecer el alcance del proceso de esta manera quedaraacute fijado el comienzo y el final del diagramaIdentificar y listar las principales actividadessubprocesos que estaacuten incluidos en el proceso y su orden cronoloacutegicoIdentificar y listar los puntos de decisioacutenConstruir el diagrama respetando la secuencia cronoloacutegica y asignando los correspondientes siacutembolosAsignar un tiacutetulo al diagrama y verificar que esteacute completo y describa con exactitud el proceso elegido

VENTAJASFavorecen la comprensioacuten del proceso al mostrarlo como un dibujo

Permiten identificar los problemas y las oportunidades de mejora del procesoMuestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan facilitando el anaacutelisis de las mismasSon una excelente herramienta para capacitar a los nuevos empleados y tambieacuten a los que desarrollan la tarea cuando se realizan mejoras en el procesoCon fines de anaacutelisis de algoritmo de programacioacuten puede ser ejecutado en un ordenador y con un IDE como Free DFD

DIAGRAMAS CHAPIN O DIAGRAMAS NASSI-SCHNEIDERMAN (N-S)

Es una descripcioacuten de algoritmos basados en la utilizacioacuten de siacutembolos graacuteficos estos se constituyen utilizan como siacutembolo baacutesico el rectaacutengulo dentro del cual aparecen sentencias en lenguaje algoriacutetmico que ayuda a describir las acciones que se realizan

TEXTUAL (SEUDOCOacuteDIGO)

Es un conjunto pequentildeo y completo de sentencias mediante las cuales podemos expresar todas las acciones a llevar a cabo para realizar una tarea mediante un ordenador sus elementos son palabras y secuencias

Ejemplo VARIABLES Precio precio final entero Porcentaje descuento real INICIO escribe(`precio `) lee(precio) escribe(`Porcentaje `) lee(porcentaje) FIN

REGLAS GENERALES

Comienza con la palabra ldquoiniciordquo y termina con la palabra ldquofinrdquo Cada instruccioacuten se debe escribir en una liacutenea Para su descripcioacuten se utilizan palabras reservadas que tienen un significado especiacutefico (ldquoIniciordquo ldquoFinrdquo ldquoSirdquo ldquoEntoncesrdquo ldquoSi nordquo ldquoFin sirdquo ldquoMientrasrdquo ldquoFin Mientrasrdquo ldquoSeguirrdquo ldquoFin Seguirrdquo)Debe escribirse indentado (tabulando) para mostrar claramente las dependencias de unas instrucciones del programa con respecto a otrasCada una de las estructuras que definen un programa tendraacute un punto de comienzo y uno de fin especificados por las palabras reservadas que definen la estructura

VENTAJAS

Se leen de arriba abajoPermite el uso de teacutecnicas decentesFavorece la participacioacuten del programa en moacutedulos pequentildeosResaltan mas las partes generales No permite la violacioacuten de las condiciones estructuradasEl aacutembito de cada bloque o estructura esta perfectamente definido

INCONVENIENTES

No se reconstruyen faacutecilmente si cambia la loacutegica del programaNo permite representar la conexioacuten de varios moacutedulos entre si

METODOLOGIgraveA DE LA PROGRAMACIOgraveN

Se entiende como metodologiacutea de la programacioacuten al conjunto de normas meacutetodos y anotaciones que nos indican la forma de programar

ESTRUCTURA GENERAL DE UN PROGRAMA

Todo programa contiene dos bloques bien diferenciados para la descripcioacuten de los datos

PARTES PRINCIPALES DE UN PROGRAMA

BLOQUES DE DECLARACIONES En el se especifican todos los objetos que utiliza el programa (constantes variables tablas de registro archivos etc) indicando siempre sus caracteriacutesticas

BLOQUE DE INSTRUCCIONES Estaacute constituido por el conjunto de operaciones que se han de realizar para la obtencioacuten de los resultados deseados

SALIDA DE RESULTADOS

Es el conjunto de instrucciones que toman los datos finales (resultados) y los enviacutean a los dispositivos externos (memoria datos central de salida)

PROCESO DE DATOS O ALGORITMODatos de entrada proceso resultados

ENTRADA DE DATOS

La constituye n todas las instrucciones que toman los datos de entrada y los almacenan en la memoria central para que puedan ser

procesadosCLASIFICACION DE LAS INSTRUCCIONES

INTRUCCIONES D DECLARACION Su misioacuten es anunciar la utilizacioacuten de objetos en un programa indicado que identificador tipo y otras caracteriacutesticas corresponden a cada uno de ellosINSTRUCCIONES PRIMITIVAS Son aquellas que ejecutan el proceso de modo inmediato Las instrucciones primitivas pueden ser de entrada de asignacioacuten o de salida se dividen en entradas de asignacioacuten y de salida

INSTRUCCIONES DE CONTROL Son instrucciones que no realizan trabajo efectivo salvo la evaluacioacuten de expresiones generalmente loacutegicas con el objetivo de controlar la ejecucioacuten de otras instrucciones o alterar el orden de ejecucioacuten normal de las instrucciones de un programaINSTRUCCIONES COMPUESTAS Una instruccioacuten compuesta es aquella que representa a un conjunto de instrucciones que estaacuten definidas en otra parte en general son llamadas a sus programas (funciones subrutinas paacuterrafos etc)

COMENTARIOS Son frases que se incluyen de forma moderada en el disentildeo de un algoritmo (en la codificacioacuten suele ser maacutes recomendable su uso) con intencioacuten de aclarar el cometido o funcioacuten de un objeto o conjunto de instrucciones

VARIABLES AUXILIARES DE UN PROGRAMA

Son objetos que utiliza un programa y por la funcioacuten que realizan dentro del mismo toman un nombre especial Contadores acumuladores e interruptores

CONTADORES

Un contador es una variable destinada a almacenar un valor que se iraacute incrementando o decrementando en una cantidad constante Se suelen utilizar mucho en procesos repetitivos para contabilizar el nuacutemero de veces que se repite un conjunto de acciones o eventos es decir en los cuerpos de las instrucciones repetitivas

ACUMULADORESUn acumulador o totalizador es una variable cuya misioacuten es acumular cantidades sucesivas obtenidas al realizar la misma operacioacuten La diferencia de un contador es que el incremento o decremento es variable en lugar de constante como en el caso del contador Para utilizarlos hay que realizar sobre ellos dos operaciones baacutesicas Inicializacioacuten Todo acumulador necesita ser inicializado con el valor neutro de la operacioacuten que va a acumular que en el caso de la suma es 0 y del producto es 1

SUMA 0 PRODUCTO 1

Acumulacioacuten Cuando se hace presente en la memoria el elemento a acumular por la realizacioacuten de una lectura o un calculo se efectuacutea la acumulacioacuten del mismo por medio de la asignacioacuten

SUMA + elementoPRODUCTO elemento

INTERRUPTORES O CONMUTADORES

Un interruptor o conmutador es un campo de memoria (variable) que toman diversos valores a lo largo de la ejecucioacuten del programa Los valores que toma son normalmente 1 o siacute (encendidoabierto) y 0 o no (apagadocerrado) (de ahiacute su nombre de interruptor)a) Recordar en un determinado lugar del programa la ocurrencia o no de un suceso b) Realizar de forma alternativa independiente dos procesos alternativos

SUBPROGRAMA

Un subprograma se utiliza por el programa para un fin especiacutefico El subprograma recibe datos del programa y le devuelve resultados Se dice que el programa llama o invoca al subprograma El subprograma ejecuta una tarea a continuacioacuten retorna o devuelve el control al programa Esta accioacuten puede suceder en diferentes partes del programa Cada vez que el subprograma es llamado el control vuelve al lugar desde donde fue hecha la llamada

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 12: PROYECTO  METODOLOGIA DENYS.pptx

CALIDAD DE LOS PROGRAMAS

LEGIBILIDAD La le

gibilidad

es el conjunto de

caracteriacutestic

as tipograacutefic

as y

linguumliacutestic

as del texto escrito

que permite

n leerlo

y

comprenderlo con fa

cilidad

FIABILIDAD El

programa debe ser

claro y sencillo de tal

forma que facilite su

lectura y compresioacuten

PORTABILIDAD Ha de

ser capaz de

recuperarse frente a

errores o usos

inadecuados

Modificabilidad El programa ha de facilitar su mantenimiento es decir las modificaciones y actualizaciones necesarias para adaptarlo a 1 nueva situacioacuten

EFICIENCIA Se deben

aprovechar al maacuteximo los

recursos del ordenador

minimizando la memoria

utilizada y el tiempo de

proceso o ejecucioacuten

siempre que no sea a costa

de las anteriores

caracteriacutesticas

METODOLOGIacuteA DE LA PROGRAMACIOacuteN

Conjunto o sistema de meacutetodos principios y reglas que permiten enfrentar de manera sistemaacutetica el desarrollo de un programa que resuelve un problema algoriacutetmico

PROGRAMACION MODULARConsiste en dividir los problemas maacutes pequentildeos en subproblemas con el fin de resolver una tarea sencilla y que no se vuelva tediosa A estos subproblemas en programacioacuten se denominan subprogramas de ahiacute programacioacuten modular

PROGRAMACIOacuteN ESTRUCTURADA Se refiere al control de ejecucioacutensiendo eacuteste una de las cuestiones maacutes importantes que hay que tener en cuenta al construir un programa en un lenguaje de alto nivel La regla general es que las instrucciones se ejecuten sucesivamente una tras otra pero diversas partes del programa se ejecutan o no dependiendo de que se cumpla alguna condicioacuten

DOCUMENTACIOacuteN DE PROGRAMAS

Documentar es una tarea tan necesaria e importante como escribir el coacutedigo el coacutedigo indica como funciona el programa y la documentacioacuten indica porqueacute lo hace

DOCUMENTACIOacuteN EXTERNA es aquella que se encuentra independiente del programa fuente Se encuentra en un Manual impreso y describe con profundidad sus caracteriacutestica teacutecnicas y funcionamientoDOCUMENTACION INTERNA Documento que le indica al usuario (operador) conocer utilizar y operar correctamente el sistema

OBJETOS DE UN PROGRAMA

Los datos son los objetos sobre los que un ordenador opera Se pueden clasificar en los siguientes tipos1- SIMPLES numeacutericos enteros loacutegicos reales2- ESTRUCTURADOS tablas registros conjuntos ficheros grafos3- DEFINIDOS POR EL USUARIO alfabeacuteticos (AB a b) diacutegitos (09) especiales ($lt)

IDENTIFICADORESSon los nombres que se dan a los programas variables constantes subprogramas y otros objetos o entidades de diacutegitos Deben escribirse de acuerdo a unas reglas que cada lenguaje establece

TIPOS DE DATOSUn tipo de dato es un atributo de una parte de los datos que indica al programador algo sobre la clase de datos sobre los que se va a procesar Un tipo de dato define un conjunto de valores y las operaciones sobre estos valores

TIPOS ELEMENTALES NUMERICOS

Los tipos simples son numeacutericos (enteros reales) Loacutegicos (booleanos) Caraacutecter (caracteres cadenas de caracteres)El tipo de dato numeacuterico es el conjunto de los valores numeacutericos

Se pueden representar de dos formasEnteros (nuacutemeros completos que no tienen componentes fraccionarios)Ejemplos 16 3868 -1256 0Reales (consta de una parte entera y una parte decimal)Ejemplos -1230 01 49827 -0002

TIPOS DE DATOS DE CARAgraveCTER

Caraacutecter (conjunto finito y ordenado de caracteres que la computadora reconoce)La mayoriacutea reconoce los siguientes tipos de caracteres Caracteres Alfabeacuteticos A B C hellip Z a b c hellip zCaracteres Numeacutericos 0 1 2 hellip 9Caracteres Especiales + - ^ lt gt $ hellipEjemplos lsquoarsquo lsquoArsquo lsquo0rsquo lsquo_rsquo

TIPOS DE DATOS BOLEANOS

El tipo de dato loacutegico o booleano es en computacioacuten aquel que puede representar valores de loacutegica binaria esto es 2 valores valores que normalmente representan falso o verdadero Se utiliza normalmente en la programacioacuten estadiacutestica electroacutenica matemaacuteticas (Aacutelgebra booleana) etcPara generar un dato o valor loacutegico a partir de otros tipos de datos tiacutepicamente se emplean los operadores relacionales (u operadores de relacioacuten) por ejemplo 0 es igual a falso y 1 es igual a verdadero(3gt2)= 1 = verdadero(7gt9)= 0 = falso

Un ejemplo de este tipo de expresiones seriacuteanverdadero AND falso --gt falsofalso OR verdadero --gt verdaderoNOT verdadero --gt falso

TIPOS DE DATOS ESTRUCTURADOS

Son agrupaciones de otros tipos de datosLos tipos de datos estructurados maacutes comunes son vectores y matrices (array) cadenas de caracteres (string) registros y uniones

TIPOS DE DATOS ESTRUCTURADOS MATRICES O ARREGLOS

Un arreglo(matriz o vector) es un conjunto finito y ordenado de elementos homogeacuteneos La propiedad homogeacuteneo quiere decir que los elementos son del mismo tipo de datosLa propiedad ordenado significa que el elemento primero segundo hellip eneacutesimo de un arreglo puede ser identificado

TIPOS DE DATOS LISTASUna lista enlazada es una de las estructuras de datos fundamentales y puede ser usada para implementar otras estructuras de datosConsiste en una secuencia de nodos en los que se guardan campos de datos arbitrarios y una o dos referencias enlaces o punteros al nodo anterior o posterior

Una lista enlazada es un tipo de dato auto referenciado porque contienen un puntero o enlace (en ingleacutes link del mismo significado) a otro dato del mismo tipo Existen diferentes tipos de listas enlazadas Lista Enlazadas Simples Listas Doblemente Enlazadas Listas Enlazadas Circulares y Listas Enlazadas Doblemente Circulares

TIPOS DE DATOS ARBOLES

Es una estructura no lineal y dinaacutemica de datos Dinaacutemica puede cambiar durante la ejecucioacuten de un programaNo lineal a cada elemento del aacuterbol pueden seguirle varios elementos que estaacuten formados por un conjunto de nodos y un conjunto de aristas que conectan pares de nodos

TIPOS DE DATOS CONSTANTESUna constante es un dato cuyo valor no puede cambiar durante la ejecucioacuten del programaRecibe un valor en el momento de la compilacioacuten y este permanece inalterado durante todo el programa Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

TIPOS DE DATOS VARIABLESUna variable es un nombre asociado a un elemento de datos que estaacute situado en posiciones contiguas de la memoria principal y su valor puede cambiar durante la ejecucioacuten de un programa En la declaracioacuten de una variable se debe indicar el tipo al que pertenece Asiacute tendremos variables enteras reales booleanas etc Por otro lado distinguimos tres partes fundamentales en la vida de una variable Declaracioacuten Iniciacioacuten Utilizacioacuten

TIPOS DE EXPRECIONES

Una expresioacuten es una combinacioacuten de variables operadores y llamadas de meacutetodos construida de acuerdo a la sintaxis del lenguaje que devuelve un valor El tipo de dato del valor regresado por una expresioacuten depende de los elementos usados en la expresioacuten

OPERADORESLos operadores son siacutembolos especiales que por lo comuacuten se utilizan en expresiones

La tabla siguiente muestra los distintos tipos de operadores

Operador Significado Ejemplo

Operadores aritmeacuteticos

+ Suma a + b

- Resta a - b

Multiplicacioacuten a b

TABLA DE VERDAD DE LOS OPERADORES

LOgraveGICOSSon aquellas que evaluacutean maacutes de una condicioacuten en una sola expresioacuten para esto hacen uso de los operadores loacutegicos

ORDEN DE EVALUCION DE LOS OPERADORES

Cuando en una expresioacuten aparece maacutes de un operador es necesario definir un orden de evaluacioacuten para los operadores Este orden viene dado por las siguientes reglas

1- Todas las sub expresiones entre pareacutentesis se evaluacutean primero En los pareacutentesis anidados se evaluacutea primero el maacutes interior2- En una misma expresioacuten los operadores se evaluacutean seguacuten su orden de prioridad (los operadores en la misma liacutenea de la siguiente tabla tienen el mismo nivel de procedencia)

ALGORITMOS

Se define como el conjunto ordenado de pasos a seguir para resolver un problema concreto sin ambiguumledad alguna en un tiempo finito

CARACTERISTICAS

SER FINITO Tiene que acabar siempre tras un nuacutemero finito de pasosREPETITIVO Debe repetirse todas las veces que sea necesario dando siempre ideacutenticos resultados para las mismas condicionesVALIDO que haga lo que se pretende que haga y devuelva los resultados esperadosDEFINIBLE Cada paso debe quedar definido de un modo preciso y sin ambiguumledadesPRECISION Debe ser concreto utilizando solo el numero de pasos para llegar a una solucioacuten claraRECIBE DATOS DE ENTRADA Es normal que reciba datos desde el exterior que luego utiliza y trataPROPORCIONA RESULTADOS DE SALIDA Produce uno o varios resultados en su ejecucioacuten que enviacutea al exterior como valor de salidaSER EFECTIVO Que resuelva el problema de forma raacutepida y eficiente

GRAacuteFICA (DIAGRAMAS DE FLUJO)

Son esquemas para representar y expresar algoritmos Estos diagramas utilizan siacutembolos con significados definidos que representan los pasos del algoritmo y representan el flujo de ejecucioacuten mediante flechas que conectan los puntos de inicio y de fin de proceso

ESTRUCTURA SECUENCIALINICIO

OPERACIOacuteN DE ENTRADASALIDA

FINEST

RUCTURA

CONDICIONAL

DIRECCION

REGLAS GENERALESEstablecer el alcance del proceso de esta manera quedaraacute fijado el comienzo y el final del diagramaIdentificar y listar las principales actividadessubprocesos que estaacuten incluidos en el proceso y su orden cronoloacutegicoIdentificar y listar los puntos de decisioacutenConstruir el diagrama respetando la secuencia cronoloacutegica y asignando los correspondientes siacutembolosAsignar un tiacutetulo al diagrama y verificar que esteacute completo y describa con exactitud el proceso elegido

VENTAJASFavorecen la comprensioacuten del proceso al mostrarlo como un dibujo

Permiten identificar los problemas y las oportunidades de mejora del procesoMuestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan facilitando el anaacutelisis de las mismasSon una excelente herramienta para capacitar a los nuevos empleados y tambieacuten a los que desarrollan la tarea cuando se realizan mejoras en el procesoCon fines de anaacutelisis de algoritmo de programacioacuten puede ser ejecutado en un ordenador y con un IDE como Free DFD

DIAGRAMAS CHAPIN O DIAGRAMAS NASSI-SCHNEIDERMAN (N-S)

Es una descripcioacuten de algoritmos basados en la utilizacioacuten de siacutembolos graacuteficos estos se constituyen utilizan como siacutembolo baacutesico el rectaacutengulo dentro del cual aparecen sentencias en lenguaje algoriacutetmico que ayuda a describir las acciones que se realizan

TEXTUAL (SEUDOCOacuteDIGO)

Es un conjunto pequentildeo y completo de sentencias mediante las cuales podemos expresar todas las acciones a llevar a cabo para realizar una tarea mediante un ordenador sus elementos son palabras y secuencias

Ejemplo VARIABLES Precio precio final entero Porcentaje descuento real INICIO escribe(`precio `) lee(precio) escribe(`Porcentaje `) lee(porcentaje) FIN

REGLAS GENERALES

Comienza con la palabra ldquoiniciordquo y termina con la palabra ldquofinrdquo Cada instruccioacuten se debe escribir en una liacutenea Para su descripcioacuten se utilizan palabras reservadas que tienen un significado especiacutefico (ldquoIniciordquo ldquoFinrdquo ldquoSirdquo ldquoEntoncesrdquo ldquoSi nordquo ldquoFin sirdquo ldquoMientrasrdquo ldquoFin Mientrasrdquo ldquoSeguirrdquo ldquoFin Seguirrdquo)Debe escribirse indentado (tabulando) para mostrar claramente las dependencias de unas instrucciones del programa con respecto a otrasCada una de las estructuras que definen un programa tendraacute un punto de comienzo y uno de fin especificados por las palabras reservadas que definen la estructura

VENTAJAS

Se leen de arriba abajoPermite el uso de teacutecnicas decentesFavorece la participacioacuten del programa en moacutedulos pequentildeosResaltan mas las partes generales No permite la violacioacuten de las condiciones estructuradasEl aacutembito de cada bloque o estructura esta perfectamente definido

INCONVENIENTES

No se reconstruyen faacutecilmente si cambia la loacutegica del programaNo permite representar la conexioacuten de varios moacutedulos entre si

METODOLOGIgraveA DE LA PROGRAMACIOgraveN

Se entiende como metodologiacutea de la programacioacuten al conjunto de normas meacutetodos y anotaciones que nos indican la forma de programar

ESTRUCTURA GENERAL DE UN PROGRAMA

Todo programa contiene dos bloques bien diferenciados para la descripcioacuten de los datos

PARTES PRINCIPALES DE UN PROGRAMA

BLOQUES DE DECLARACIONES En el se especifican todos los objetos que utiliza el programa (constantes variables tablas de registro archivos etc) indicando siempre sus caracteriacutesticas

BLOQUE DE INSTRUCCIONES Estaacute constituido por el conjunto de operaciones que se han de realizar para la obtencioacuten de los resultados deseados

SALIDA DE RESULTADOS

Es el conjunto de instrucciones que toman los datos finales (resultados) y los enviacutean a los dispositivos externos (memoria datos central de salida)

PROCESO DE DATOS O ALGORITMODatos de entrada proceso resultados

ENTRADA DE DATOS

La constituye n todas las instrucciones que toman los datos de entrada y los almacenan en la memoria central para que puedan ser

procesadosCLASIFICACION DE LAS INSTRUCCIONES

INTRUCCIONES D DECLARACION Su misioacuten es anunciar la utilizacioacuten de objetos en un programa indicado que identificador tipo y otras caracteriacutesticas corresponden a cada uno de ellosINSTRUCCIONES PRIMITIVAS Son aquellas que ejecutan el proceso de modo inmediato Las instrucciones primitivas pueden ser de entrada de asignacioacuten o de salida se dividen en entradas de asignacioacuten y de salida

INSTRUCCIONES DE CONTROL Son instrucciones que no realizan trabajo efectivo salvo la evaluacioacuten de expresiones generalmente loacutegicas con el objetivo de controlar la ejecucioacuten de otras instrucciones o alterar el orden de ejecucioacuten normal de las instrucciones de un programaINSTRUCCIONES COMPUESTAS Una instruccioacuten compuesta es aquella que representa a un conjunto de instrucciones que estaacuten definidas en otra parte en general son llamadas a sus programas (funciones subrutinas paacuterrafos etc)

COMENTARIOS Son frases que se incluyen de forma moderada en el disentildeo de un algoritmo (en la codificacioacuten suele ser maacutes recomendable su uso) con intencioacuten de aclarar el cometido o funcioacuten de un objeto o conjunto de instrucciones

VARIABLES AUXILIARES DE UN PROGRAMA

Son objetos que utiliza un programa y por la funcioacuten que realizan dentro del mismo toman un nombre especial Contadores acumuladores e interruptores

CONTADORES

Un contador es una variable destinada a almacenar un valor que se iraacute incrementando o decrementando en una cantidad constante Se suelen utilizar mucho en procesos repetitivos para contabilizar el nuacutemero de veces que se repite un conjunto de acciones o eventos es decir en los cuerpos de las instrucciones repetitivas

ACUMULADORESUn acumulador o totalizador es una variable cuya misioacuten es acumular cantidades sucesivas obtenidas al realizar la misma operacioacuten La diferencia de un contador es que el incremento o decremento es variable en lugar de constante como en el caso del contador Para utilizarlos hay que realizar sobre ellos dos operaciones baacutesicas Inicializacioacuten Todo acumulador necesita ser inicializado con el valor neutro de la operacioacuten que va a acumular que en el caso de la suma es 0 y del producto es 1

SUMA 0 PRODUCTO 1

Acumulacioacuten Cuando se hace presente en la memoria el elemento a acumular por la realizacioacuten de una lectura o un calculo se efectuacutea la acumulacioacuten del mismo por medio de la asignacioacuten

SUMA + elementoPRODUCTO elemento

INTERRUPTORES O CONMUTADORES

Un interruptor o conmutador es un campo de memoria (variable) que toman diversos valores a lo largo de la ejecucioacuten del programa Los valores que toma son normalmente 1 o siacute (encendidoabierto) y 0 o no (apagadocerrado) (de ahiacute su nombre de interruptor)a) Recordar en un determinado lugar del programa la ocurrencia o no de un suceso b) Realizar de forma alternativa independiente dos procesos alternativos

SUBPROGRAMA

Un subprograma se utiliza por el programa para un fin especiacutefico El subprograma recibe datos del programa y le devuelve resultados Se dice que el programa llama o invoca al subprograma El subprograma ejecuta una tarea a continuacioacuten retorna o devuelve el control al programa Esta accioacuten puede suceder en diferentes partes del programa Cada vez que el subprograma es llamado el control vuelve al lugar desde donde fue hecha la llamada

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 13: PROYECTO  METODOLOGIA DENYS.pptx

METODOLOGIacuteA DE LA PROGRAMACIOacuteN

Conjunto o sistema de meacutetodos principios y reglas que permiten enfrentar de manera sistemaacutetica el desarrollo de un programa que resuelve un problema algoriacutetmico

PROGRAMACION MODULARConsiste en dividir los problemas maacutes pequentildeos en subproblemas con el fin de resolver una tarea sencilla y que no se vuelva tediosa A estos subproblemas en programacioacuten se denominan subprogramas de ahiacute programacioacuten modular

PROGRAMACIOacuteN ESTRUCTURADA Se refiere al control de ejecucioacutensiendo eacuteste una de las cuestiones maacutes importantes que hay que tener en cuenta al construir un programa en un lenguaje de alto nivel La regla general es que las instrucciones se ejecuten sucesivamente una tras otra pero diversas partes del programa se ejecutan o no dependiendo de que se cumpla alguna condicioacuten

DOCUMENTACIOacuteN DE PROGRAMAS

Documentar es una tarea tan necesaria e importante como escribir el coacutedigo el coacutedigo indica como funciona el programa y la documentacioacuten indica porqueacute lo hace

DOCUMENTACIOacuteN EXTERNA es aquella que se encuentra independiente del programa fuente Se encuentra en un Manual impreso y describe con profundidad sus caracteriacutestica teacutecnicas y funcionamientoDOCUMENTACION INTERNA Documento que le indica al usuario (operador) conocer utilizar y operar correctamente el sistema

OBJETOS DE UN PROGRAMA

Los datos son los objetos sobre los que un ordenador opera Se pueden clasificar en los siguientes tipos1- SIMPLES numeacutericos enteros loacutegicos reales2- ESTRUCTURADOS tablas registros conjuntos ficheros grafos3- DEFINIDOS POR EL USUARIO alfabeacuteticos (AB a b) diacutegitos (09) especiales ($lt)

IDENTIFICADORESSon los nombres que se dan a los programas variables constantes subprogramas y otros objetos o entidades de diacutegitos Deben escribirse de acuerdo a unas reglas que cada lenguaje establece

TIPOS DE DATOSUn tipo de dato es un atributo de una parte de los datos que indica al programador algo sobre la clase de datos sobre los que se va a procesar Un tipo de dato define un conjunto de valores y las operaciones sobre estos valores

TIPOS ELEMENTALES NUMERICOS

Los tipos simples son numeacutericos (enteros reales) Loacutegicos (booleanos) Caraacutecter (caracteres cadenas de caracteres)El tipo de dato numeacuterico es el conjunto de los valores numeacutericos

Se pueden representar de dos formasEnteros (nuacutemeros completos que no tienen componentes fraccionarios)Ejemplos 16 3868 -1256 0Reales (consta de una parte entera y una parte decimal)Ejemplos -1230 01 49827 -0002

TIPOS DE DATOS DE CARAgraveCTER

Caraacutecter (conjunto finito y ordenado de caracteres que la computadora reconoce)La mayoriacutea reconoce los siguientes tipos de caracteres Caracteres Alfabeacuteticos A B C hellip Z a b c hellip zCaracteres Numeacutericos 0 1 2 hellip 9Caracteres Especiales + - ^ lt gt $ hellipEjemplos lsquoarsquo lsquoArsquo lsquo0rsquo lsquo_rsquo

TIPOS DE DATOS BOLEANOS

El tipo de dato loacutegico o booleano es en computacioacuten aquel que puede representar valores de loacutegica binaria esto es 2 valores valores que normalmente representan falso o verdadero Se utiliza normalmente en la programacioacuten estadiacutestica electroacutenica matemaacuteticas (Aacutelgebra booleana) etcPara generar un dato o valor loacutegico a partir de otros tipos de datos tiacutepicamente se emplean los operadores relacionales (u operadores de relacioacuten) por ejemplo 0 es igual a falso y 1 es igual a verdadero(3gt2)= 1 = verdadero(7gt9)= 0 = falso

Un ejemplo de este tipo de expresiones seriacuteanverdadero AND falso --gt falsofalso OR verdadero --gt verdaderoNOT verdadero --gt falso

TIPOS DE DATOS ESTRUCTURADOS

Son agrupaciones de otros tipos de datosLos tipos de datos estructurados maacutes comunes son vectores y matrices (array) cadenas de caracteres (string) registros y uniones

TIPOS DE DATOS ESTRUCTURADOS MATRICES O ARREGLOS

Un arreglo(matriz o vector) es un conjunto finito y ordenado de elementos homogeacuteneos La propiedad homogeacuteneo quiere decir que los elementos son del mismo tipo de datosLa propiedad ordenado significa que el elemento primero segundo hellip eneacutesimo de un arreglo puede ser identificado

TIPOS DE DATOS LISTASUna lista enlazada es una de las estructuras de datos fundamentales y puede ser usada para implementar otras estructuras de datosConsiste en una secuencia de nodos en los que se guardan campos de datos arbitrarios y una o dos referencias enlaces o punteros al nodo anterior o posterior

Una lista enlazada es un tipo de dato auto referenciado porque contienen un puntero o enlace (en ingleacutes link del mismo significado) a otro dato del mismo tipo Existen diferentes tipos de listas enlazadas Lista Enlazadas Simples Listas Doblemente Enlazadas Listas Enlazadas Circulares y Listas Enlazadas Doblemente Circulares

TIPOS DE DATOS ARBOLES

Es una estructura no lineal y dinaacutemica de datos Dinaacutemica puede cambiar durante la ejecucioacuten de un programaNo lineal a cada elemento del aacuterbol pueden seguirle varios elementos que estaacuten formados por un conjunto de nodos y un conjunto de aristas que conectan pares de nodos

TIPOS DE DATOS CONSTANTESUna constante es un dato cuyo valor no puede cambiar durante la ejecucioacuten del programaRecibe un valor en el momento de la compilacioacuten y este permanece inalterado durante todo el programa Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

TIPOS DE DATOS VARIABLESUna variable es un nombre asociado a un elemento de datos que estaacute situado en posiciones contiguas de la memoria principal y su valor puede cambiar durante la ejecucioacuten de un programa En la declaracioacuten de una variable se debe indicar el tipo al que pertenece Asiacute tendremos variables enteras reales booleanas etc Por otro lado distinguimos tres partes fundamentales en la vida de una variable Declaracioacuten Iniciacioacuten Utilizacioacuten

TIPOS DE EXPRECIONES

Una expresioacuten es una combinacioacuten de variables operadores y llamadas de meacutetodos construida de acuerdo a la sintaxis del lenguaje que devuelve un valor El tipo de dato del valor regresado por una expresioacuten depende de los elementos usados en la expresioacuten

OPERADORESLos operadores son siacutembolos especiales que por lo comuacuten se utilizan en expresiones

La tabla siguiente muestra los distintos tipos de operadores

Operador Significado Ejemplo

Operadores aritmeacuteticos

+ Suma a + b

- Resta a - b

Multiplicacioacuten a b

TABLA DE VERDAD DE LOS OPERADORES

LOgraveGICOSSon aquellas que evaluacutean maacutes de una condicioacuten en una sola expresioacuten para esto hacen uso de los operadores loacutegicos

ORDEN DE EVALUCION DE LOS OPERADORES

Cuando en una expresioacuten aparece maacutes de un operador es necesario definir un orden de evaluacioacuten para los operadores Este orden viene dado por las siguientes reglas

1- Todas las sub expresiones entre pareacutentesis se evaluacutean primero En los pareacutentesis anidados se evaluacutea primero el maacutes interior2- En una misma expresioacuten los operadores se evaluacutean seguacuten su orden de prioridad (los operadores en la misma liacutenea de la siguiente tabla tienen el mismo nivel de procedencia)

ALGORITMOS

Se define como el conjunto ordenado de pasos a seguir para resolver un problema concreto sin ambiguumledad alguna en un tiempo finito

CARACTERISTICAS

SER FINITO Tiene que acabar siempre tras un nuacutemero finito de pasosREPETITIVO Debe repetirse todas las veces que sea necesario dando siempre ideacutenticos resultados para las mismas condicionesVALIDO que haga lo que se pretende que haga y devuelva los resultados esperadosDEFINIBLE Cada paso debe quedar definido de un modo preciso y sin ambiguumledadesPRECISION Debe ser concreto utilizando solo el numero de pasos para llegar a una solucioacuten claraRECIBE DATOS DE ENTRADA Es normal que reciba datos desde el exterior que luego utiliza y trataPROPORCIONA RESULTADOS DE SALIDA Produce uno o varios resultados en su ejecucioacuten que enviacutea al exterior como valor de salidaSER EFECTIVO Que resuelva el problema de forma raacutepida y eficiente

GRAacuteFICA (DIAGRAMAS DE FLUJO)

Son esquemas para representar y expresar algoritmos Estos diagramas utilizan siacutembolos con significados definidos que representan los pasos del algoritmo y representan el flujo de ejecucioacuten mediante flechas que conectan los puntos de inicio y de fin de proceso

ESTRUCTURA SECUENCIALINICIO

OPERACIOacuteN DE ENTRADASALIDA

FINEST

RUCTURA

CONDICIONAL

DIRECCION

REGLAS GENERALESEstablecer el alcance del proceso de esta manera quedaraacute fijado el comienzo y el final del diagramaIdentificar y listar las principales actividadessubprocesos que estaacuten incluidos en el proceso y su orden cronoloacutegicoIdentificar y listar los puntos de decisioacutenConstruir el diagrama respetando la secuencia cronoloacutegica y asignando los correspondientes siacutembolosAsignar un tiacutetulo al diagrama y verificar que esteacute completo y describa con exactitud el proceso elegido

VENTAJASFavorecen la comprensioacuten del proceso al mostrarlo como un dibujo

Permiten identificar los problemas y las oportunidades de mejora del procesoMuestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan facilitando el anaacutelisis de las mismasSon una excelente herramienta para capacitar a los nuevos empleados y tambieacuten a los que desarrollan la tarea cuando se realizan mejoras en el procesoCon fines de anaacutelisis de algoritmo de programacioacuten puede ser ejecutado en un ordenador y con un IDE como Free DFD

DIAGRAMAS CHAPIN O DIAGRAMAS NASSI-SCHNEIDERMAN (N-S)

Es una descripcioacuten de algoritmos basados en la utilizacioacuten de siacutembolos graacuteficos estos se constituyen utilizan como siacutembolo baacutesico el rectaacutengulo dentro del cual aparecen sentencias en lenguaje algoriacutetmico que ayuda a describir las acciones que se realizan

TEXTUAL (SEUDOCOacuteDIGO)

Es un conjunto pequentildeo y completo de sentencias mediante las cuales podemos expresar todas las acciones a llevar a cabo para realizar una tarea mediante un ordenador sus elementos son palabras y secuencias

Ejemplo VARIABLES Precio precio final entero Porcentaje descuento real INICIO escribe(`precio `) lee(precio) escribe(`Porcentaje `) lee(porcentaje) FIN

REGLAS GENERALES

Comienza con la palabra ldquoiniciordquo y termina con la palabra ldquofinrdquo Cada instruccioacuten se debe escribir en una liacutenea Para su descripcioacuten se utilizan palabras reservadas que tienen un significado especiacutefico (ldquoIniciordquo ldquoFinrdquo ldquoSirdquo ldquoEntoncesrdquo ldquoSi nordquo ldquoFin sirdquo ldquoMientrasrdquo ldquoFin Mientrasrdquo ldquoSeguirrdquo ldquoFin Seguirrdquo)Debe escribirse indentado (tabulando) para mostrar claramente las dependencias de unas instrucciones del programa con respecto a otrasCada una de las estructuras que definen un programa tendraacute un punto de comienzo y uno de fin especificados por las palabras reservadas que definen la estructura

VENTAJAS

Se leen de arriba abajoPermite el uso de teacutecnicas decentesFavorece la participacioacuten del programa en moacutedulos pequentildeosResaltan mas las partes generales No permite la violacioacuten de las condiciones estructuradasEl aacutembito de cada bloque o estructura esta perfectamente definido

INCONVENIENTES

No se reconstruyen faacutecilmente si cambia la loacutegica del programaNo permite representar la conexioacuten de varios moacutedulos entre si

METODOLOGIgraveA DE LA PROGRAMACIOgraveN

Se entiende como metodologiacutea de la programacioacuten al conjunto de normas meacutetodos y anotaciones que nos indican la forma de programar

ESTRUCTURA GENERAL DE UN PROGRAMA

Todo programa contiene dos bloques bien diferenciados para la descripcioacuten de los datos

PARTES PRINCIPALES DE UN PROGRAMA

BLOQUES DE DECLARACIONES En el se especifican todos los objetos que utiliza el programa (constantes variables tablas de registro archivos etc) indicando siempre sus caracteriacutesticas

BLOQUE DE INSTRUCCIONES Estaacute constituido por el conjunto de operaciones que se han de realizar para la obtencioacuten de los resultados deseados

SALIDA DE RESULTADOS

Es el conjunto de instrucciones que toman los datos finales (resultados) y los enviacutean a los dispositivos externos (memoria datos central de salida)

PROCESO DE DATOS O ALGORITMODatos de entrada proceso resultados

ENTRADA DE DATOS

La constituye n todas las instrucciones que toman los datos de entrada y los almacenan en la memoria central para que puedan ser

procesadosCLASIFICACION DE LAS INSTRUCCIONES

INTRUCCIONES D DECLARACION Su misioacuten es anunciar la utilizacioacuten de objetos en un programa indicado que identificador tipo y otras caracteriacutesticas corresponden a cada uno de ellosINSTRUCCIONES PRIMITIVAS Son aquellas que ejecutan el proceso de modo inmediato Las instrucciones primitivas pueden ser de entrada de asignacioacuten o de salida se dividen en entradas de asignacioacuten y de salida

INSTRUCCIONES DE CONTROL Son instrucciones que no realizan trabajo efectivo salvo la evaluacioacuten de expresiones generalmente loacutegicas con el objetivo de controlar la ejecucioacuten de otras instrucciones o alterar el orden de ejecucioacuten normal de las instrucciones de un programaINSTRUCCIONES COMPUESTAS Una instruccioacuten compuesta es aquella que representa a un conjunto de instrucciones que estaacuten definidas en otra parte en general son llamadas a sus programas (funciones subrutinas paacuterrafos etc)

COMENTARIOS Son frases que se incluyen de forma moderada en el disentildeo de un algoritmo (en la codificacioacuten suele ser maacutes recomendable su uso) con intencioacuten de aclarar el cometido o funcioacuten de un objeto o conjunto de instrucciones

VARIABLES AUXILIARES DE UN PROGRAMA

Son objetos que utiliza un programa y por la funcioacuten que realizan dentro del mismo toman un nombre especial Contadores acumuladores e interruptores

CONTADORES

Un contador es una variable destinada a almacenar un valor que se iraacute incrementando o decrementando en una cantidad constante Se suelen utilizar mucho en procesos repetitivos para contabilizar el nuacutemero de veces que se repite un conjunto de acciones o eventos es decir en los cuerpos de las instrucciones repetitivas

ACUMULADORESUn acumulador o totalizador es una variable cuya misioacuten es acumular cantidades sucesivas obtenidas al realizar la misma operacioacuten La diferencia de un contador es que el incremento o decremento es variable en lugar de constante como en el caso del contador Para utilizarlos hay que realizar sobre ellos dos operaciones baacutesicas Inicializacioacuten Todo acumulador necesita ser inicializado con el valor neutro de la operacioacuten que va a acumular que en el caso de la suma es 0 y del producto es 1

SUMA 0 PRODUCTO 1

Acumulacioacuten Cuando se hace presente en la memoria el elemento a acumular por la realizacioacuten de una lectura o un calculo se efectuacutea la acumulacioacuten del mismo por medio de la asignacioacuten

SUMA + elementoPRODUCTO elemento

INTERRUPTORES O CONMUTADORES

Un interruptor o conmutador es un campo de memoria (variable) que toman diversos valores a lo largo de la ejecucioacuten del programa Los valores que toma son normalmente 1 o siacute (encendidoabierto) y 0 o no (apagadocerrado) (de ahiacute su nombre de interruptor)a) Recordar en un determinado lugar del programa la ocurrencia o no de un suceso b) Realizar de forma alternativa independiente dos procesos alternativos

SUBPROGRAMA

Un subprograma se utiliza por el programa para un fin especiacutefico El subprograma recibe datos del programa y le devuelve resultados Se dice que el programa llama o invoca al subprograma El subprograma ejecuta una tarea a continuacioacuten retorna o devuelve el control al programa Esta accioacuten puede suceder en diferentes partes del programa Cada vez que el subprograma es llamado el control vuelve al lugar desde donde fue hecha la llamada

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 14: PROYECTO  METODOLOGIA DENYS.pptx

DOCUMENTACIOacuteN DE PROGRAMAS

Documentar es una tarea tan necesaria e importante como escribir el coacutedigo el coacutedigo indica como funciona el programa y la documentacioacuten indica porqueacute lo hace

DOCUMENTACIOacuteN EXTERNA es aquella que se encuentra independiente del programa fuente Se encuentra en un Manual impreso y describe con profundidad sus caracteriacutestica teacutecnicas y funcionamientoDOCUMENTACION INTERNA Documento que le indica al usuario (operador) conocer utilizar y operar correctamente el sistema

OBJETOS DE UN PROGRAMA

Los datos son los objetos sobre los que un ordenador opera Se pueden clasificar en los siguientes tipos1- SIMPLES numeacutericos enteros loacutegicos reales2- ESTRUCTURADOS tablas registros conjuntos ficheros grafos3- DEFINIDOS POR EL USUARIO alfabeacuteticos (AB a b) diacutegitos (09) especiales ($lt)

IDENTIFICADORESSon los nombres que se dan a los programas variables constantes subprogramas y otros objetos o entidades de diacutegitos Deben escribirse de acuerdo a unas reglas que cada lenguaje establece

TIPOS DE DATOSUn tipo de dato es un atributo de una parte de los datos que indica al programador algo sobre la clase de datos sobre los que se va a procesar Un tipo de dato define un conjunto de valores y las operaciones sobre estos valores

TIPOS ELEMENTALES NUMERICOS

Los tipos simples son numeacutericos (enteros reales) Loacutegicos (booleanos) Caraacutecter (caracteres cadenas de caracteres)El tipo de dato numeacuterico es el conjunto de los valores numeacutericos

Se pueden representar de dos formasEnteros (nuacutemeros completos que no tienen componentes fraccionarios)Ejemplos 16 3868 -1256 0Reales (consta de una parte entera y una parte decimal)Ejemplos -1230 01 49827 -0002

TIPOS DE DATOS DE CARAgraveCTER

Caraacutecter (conjunto finito y ordenado de caracteres que la computadora reconoce)La mayoriacutea reconoce los siguientes tipos de caracteres Caracteres Alfabeacuteticos A B C hellip Z a b c hellip zCaracteres Numeacutericos 0 1 2 hellip 9Caracteres Especiales + - ^ lt gt $ hellipEjemplos lsquoarsquo lsquoArsquo lsquo0rsquo lsquo_rsquo

TIPOS DE DATOS BOLEANOS

El tipo de dato loacutegico o booleano es en computacioacuten aquel que puede representar valores de loacutegica binaria esto es 2 valores valores que normalmente representan falso o verdadero Se utiliza normalmente en la programacioacuten estadiacutestica electroacutenica matemaacuteticas (Aacutelgebra booleana) etcPara generar un dato o valor loacutegico a partir de otros tipos de datos tiacutepicamente se emplean los operadores relacionales (u operadores de relacioacuten) por ejemplo 0 es igual a falso y 1 es igual a verdadero(3gt2)= 1 = verdadero(7gt9)= 0 = falso

Un ejemplo de este tipo de expresiones seriacuteanverdadero AND falso --gt falsofalso OR verdadero --gt verdaderoNOT verdadero --gt falso

TIPOS DE DATOS ESTRUCTURADOS

Son agrupaciones de otros tipos de datosLos tipos de datos estructurados maacutes comunes son vectores y matrices (array) cadenas de caracteres (string) registros y uniones

TIPOS DE DATOS ESTRUCTURADOS MATRICES O ARREGLOS

Un arreglo(matriz o vector) es un conjunto finito y ordenado de elementos homogeacuteneos La propiedad homogeacuteneo quiere decir que los elementos son del mismo tipo de datosLa propiedad ordenado significa que el elemento primero segundo hellip eneacutesimo de un arreglo puede ser identificado

TIPOS DE DATOS LISTASUna lista enlazada es una de las estructuras de datos fundamentales y puede ser usada para implementar otras estructuras de datosConsiste en una secuencia de nodos en los que se guardan campos de datos arbitrarios y una o dos referencias enlaces o punteros al nodo anterior o posterior

Una lista enlazada es un tipo de dato auto referenciado porque contienen un puntero o enlace (en ingleacutes link del mismo significado) a otro dato del mismo tipo Existen diferentes tipos de listas enlazadas Lista Enlazadas Simples Listas Doblemente Enlazadas Listas Enlazadas Circulares y Listas Enlazadas Doblemente Circulares

TIPOS DE DATOS ARBOLES

Es una estructura no lineal y dinaacutemica de datos Dinaacutemica puede cambiar durante la ejecucioacuten de un programaNo lineal a cada elemento del aacuterbol pueden seguirle varios elementos que estaacuten formados por un conjunto de nodos y un conjunto de aristas que conectan pares de nodos

TIPOS DE DATOS CONSTANTESUna constante es un dato cuyo valor no puede cambiar durante la ejecucioacuten del programaRecibe un valor en el momento de la compilacioacuten y este permanece inalterado durante todo el programa Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

TIPOS DE DATOS VARIABLESUna variable es un nombre asociado a un elemento de datos que estaacute situado en posiciones contiguas de la memoria principal y su valor puede cambiar durante la ejecucioacuten de un programa En la declaracioacuten de una variable se debe indicar el tipo al que pertenece Asiacute tendremos variables enteras reales booleanas etc Por otro lado distinguimos tres partes fundamentales en la vida de una variable Declaracioacuten Iniciacioacuten Utilizacioacuten

TIPOS DE EXPRECIONES

Una expresioacuten es una combinacioacuten de variables operadores y llamadas de meacutetodos construida de acuerdo a la sintaxis del lenguaje que devuelve un valor El tipo de dato del valor regresado por una expresioacuten depende de los elementos usados en la expresioacuten

OPERADORESLos operadores son siacutembolos especiales que por lo comuacuten se utilizan en expresiones

La tabla siguiente muestra los distintos tipos de operadores

Operador Significado Ejemplo

Operadores aritmeacuteticos

+ Suma a + b

- Resta a - b

Multiplicacioacuten a b

TABLA DE VERDAD DE LOS OPERADORES

LOgraveGICOSSon aquellas que evaluacutean maacutes de una condicioacuten en una sola expresioacuten para esto hacen uso de los operadores loacutegicos

ORDEN DE EVALUCION DE LOS OPERADORES

Cuando en una expresioacuten aparece maacutes de un operador es necesario definir un orden de evaluacioacuten para los operadores Este orden viene dado por las siguientes reglas

1- Todas las sub expresiones entre pareacutentesis se evaluacutean primero En los pareacutentesis anidados se evaluacutea primero el maacutes interior2- En una misma expresioacuten los operadores se evaluacutean seguacuten su orden de prioridad (los operadores en la misma liacutenea de la siguiente tabla tienen el mismo nivel de procedencia)

ALGORITMOS

Se define como el conjunto ordenado de pasos a seguir para resolver un problema concreto sin ambiguumledad alguna en un tiempo finito

CARACTERISTICAS

SER FINITO Tiene que acabar siempre tras un nuacutemero finito de pasosREPETITIVO Debe repetirse todas las veces que sea necesario dando siempre ideacutenticos resultados para las mismas condicionesVALIDO que haga lo que se pretende que haga y devuelva los resultados esperadosDEFINIBLE Cada paso debe quedar definido de un modo preciso y sin ambiguumledadesPRECISION Debe ser concreto utilizando solo el numero de pasos para llegar a una solucioacuten claraRECIBE DATOS DE ENTRADA Es normal que reciba datos desde el exterior que luego utiliza y trataPROPORCIONA RESULTADOS DE SALIDA Produce uno o varios resultados en su ejecucioacuten que enviacutea al exterior como valor de salidaSER EFECTIVO Que resuelva el problema de forma raacutepida y eficiente

GRAacuteFICA (DIAGRAMAS DE FLUJO)

Son esquemas para representar y expresar algoritmos Estos diagramas utilizan siacutembolos con significados definidos que representan los pasos del algoritmo y representan el flujo de ejecucioacuten mediante flechas que conectan los puntos de inicio y de fin de proceso

ESTRUCTURA SECUENCIALINICIO

OPERACIOacuteN DE ENTRADASALIDA

FINEST

RUCTURA

CONDICIONAL

DIRECCION

REGLAS GENERALESEstablecer el alcance del proceso de esta manera quedaraacute fijado el comienzo y el final del diagramaIdentificar y listar las principales actividadessubprocesos que estaacuten incluidos en el proceso y su orden cronoloacutegicoIdentificar y listar los puntos de decisioacutenConstruir el diagrama respetando la secuencia cronoloacutegica y asignando los correspondientes siacutembolosAsignar un tiacutetulo al diagrama y verificar que esteacute completo y describa con exactitud el proceso elegido

VENTAJASFavorecen la comprensioacuten del proceso al mostrarlo como un dibujo

Permiten identificar los problemas y las oportunidades de mejora del procesoMuestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan facilitando el anaacutelisis de las mismasSon una excelente herramienta para capacitar a los nuevos empleados y tambieacuten a los que desarrollan la tarea cuando se realizan mejoras en el procesoCon fines de anaacutelisis de algoritmo de programacioacuten puede ser ejecutado en un ordenador y con un IDE como Free DFD

DIAGRAMAS CHAPIN O DIAGRAMAS NASSI-SCHNEIDERMAN (N-S)

Es una descripcioacuten de algoritmos basados en la utilizacioacuten de siacutembolos graacuteficos estos se constituyen utilizan como siacutembolo baacutesico el rectaacutengulo dentro del cual aparecen sentencias en lenguaje algoriacutetmico que ayuda a describir las acciones que se realizan

TEXTUAL (SEUDOCOacuteDIGO)

Es un conjunto pequentildeo y completo de sentencias mediante las cuales podemos expresar todas las acciones a llevar a cabo para realizar una tarea mediante un ordenador sus elementos son palabras y secuencias

Ejemplo VARIABLES Precio precio final entero Porcentaje descuento real INICIO escribe(`precio `) lee(precio) escribe(`Porcentaje `) lee(porcentaje) FIN

REGLAS GENERALES

Comienza con la palabra ldquoiniciordquo y termina con la palabra ldquofinrdquo Cada instruccioacuten se debe escribir en una liacutenea Para su descripcioacuten se utilizan palabras reservadas que tienen un significado especiacutefico (ldquoIniciordquo ldquoFinrdquo ldquoSirdquo ldquoEntoncesrdquo ldquoSi nordquo ldquoFin sirdquo ldquoMientrasrdquo ldquoFin Mientrasrdquo ldquoSeguirrdquo ldquoFin Seguirrdquo)Debe escribirse indentado (tabulando) para mostrar claramente las dependencias de unas instrucciones del programa con respecto a otrasCada una de las estructuras que definen un programa tendraacute un punto de comienzo y uno de fin especificados por las palabras reservadas que definen la estructura

VENTAJAS

Se leen de arriba abajoPermite el uso de teacutecnicas decentesFavorece la participacioacuten del programa en moacutedulos pequentildeosResaltan mas las partes generales No permite la violacioacuten de las condiciones estructuradasEl aacutembito de cada bloque o estructura esta perfectamente definido

INCONVENIENTES

No se reconstruyen faacutecilmente si cambia la loacutegica del programaNo permite representar la conexioacuten de varios moacutedulos entre si

METODOLOGIgraveA DE LA PROGRAMACIOgraveN

Se entiende como metodologiacutea de la programacioacuten al conjunto de normas meacutetodos y anotaciones que nos indican la forma de programar

ESTRUCTURA GENERAL DE UN PROGRAMA

Todo programa contiene dos bloques bien diferenciados para la descripcioacuten de los datos

PARTES PRINCIPALES DE UN PROGRAMA

BLOQUES DE DECLARACIONES En el se especifican todos los objetos que utiliza el programa (constantes variables tablas de registro archivos etc) indicando siempre sus caracteriacutesticas

BLOQUE DE INSTRUCCIONES Estaacute constituido por el conjunto de operaciones que se han de realizar para la obtencioacuten de los resultados deseados

SALIDA DE RESULTADOS

Es el conjunto de instrucciones que toman los datos finales (resultados) y los enviacutean a los dispositivos externos (memoria datos central de salida)

PROCESO DE DATOS O ALGORITMODatos de entrada proceso resultados

ENTRADA DE DATOS

La constituye n todas las instrucciones que toman los datos de entrada y los almacenan en la memoria central para que puedan ser

procesadosCLASIFICACION DE LAS INSTRUCCIONES

INTRUCCIONES D DECLARACION Su misioacuten es anunciar la utilizacioacuten de objetos en un programa indicado que identificador tipo y otras caracteriacutesticas corresponden a cada uno de ellosINSTRUCCIONES PRIMITIVAS Son aquellas que ejecutan el proceso de modo inmediato Las instrucciones primitivas pueden ser de entrada de asignacioacuten o de salida se dividen en entradas de asignacioacuten y de salida

INSTRUCCIONES DE CONTROL Son instrucciones que no realizan trabajo efectivo salvo la evaluacioacuten de expresiones generalmente loacutegicas con el objetivo de controlar la ejecucioacuten de otras instrucciones o alterar el orden de ejecucioacuten normal de las instrucciones de un programaINSTRUCCIONES COMPUESTAS Una instruccioacuten compuesta es aquella que representa a un conjunto de instrucciones que estaacuten definidas en otra parte en general son llamadas a sus programas (funciones subrutinas paacuterrafos etc)

COMENTARIOS Son frases que se incluyen de forma moderada en el disentildeo de un algoritmo (en la codificacioacuten suele ser maacutes recomendable su uso) con intencioacuten de aclarar el cometido o funcioacuten de un objeto o conjunto de instrucciones

VARIABLES AUXILIARES DE UN PROGRAMA

Son objetos que utiliza un programa y por la funcioacuten que realizan dentro del mismo toman un nombre especial Contadores acumuladores e interruptores

CONTADORES

Un contador es una variable destinada a almacenar un valor que se iraacute incrementando o decrementando en una cantidad constante Se suelen utilizar mucho en procesos repetitivos para contabilizar el nuacutemero de veces que se repite un conjunto de acciones o eventos es decir en los cuerpos de las instrucciones repetitivas

ACUMULADORESUn acumulador o totalizador es una variable cuya misioacuten es acumular cantidades sucesivas obtenidas al realizar la misma operacioacuten La diferencia de un contador es que el incremento o decremento es variable en lugar de constante como en el caso del contador Para utilizarlos hay que realizar sobre ellos dos operaciones baacutesicas Inicializacioacuten Todo acumulador necesita ser inicializado con el valor neutro de la operacioacuten que va a acumular que en el caso de la suma es 0 y del producto es 1

SUMA 0 PRODUCTO 1

Acumulacioacuten Cuando se hace presente en la memoria el elemento a acumular por la realizacioacuten de una lectura o un calculo se efectuacutea la acumulacioacuten del mismo por medio de la asignacioacuten

SUMA + elementoPRODUCTO elemento

INTERRUPTORES O CONMUTADORES

Un interruptor o conmutador es un campo de memoria (variable) que toman diversos valores a lo largo de la ejecucioacuten del programa Los valores que toma son normalmente 1 o siacute (encendidoabierto) y 0 o no (apagadocerrado) (de ahiacute su nombre de interruptor)a) Recordar en un determinado lugar del programa la ocurrencia o no de un suceso b) Realizar de forma alternativa independiente dos procesos alternativos

SUBPROGRAMA

Un subprograma se utiliza por el programa para un fin especiacutefico El subprograma recibe datos del programa y le devuelve resultados Se dice que el programa llama o invoca al subprograma El subprograma ejecuta una tarea a continuacioacuten retorna o devuelve el control al programa Esta accioacuten puede suceder en diferentes partes del programa Cada vez que el subprograma es llamado el control vuelve al lugar desde donde fue hecha la llamada

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 15: PROYECTO  METODOLOGIA DENYS.pptx

IDENTIFICADORESSon los nombres que se dan a los programas variables constantes subprogramas y otros objetos o entidades de diacutegitos Deben escribirse de acuerdo a unas reglas que cada lenguaje establece

TIPOS DE DATOSUn tipo de dato es un atributo de una parte de los datos que indica al programador algo sobre la clase de datos sobre los que se va a procesar Un tipo de dato define un conjunto de valores y las operaciones sobre estos valores

TIPOS ELEMENTALES NUMERICOS

Los tipos simples son numeacutericos (enteros reales) Loacutegicos (booleanos) Caraacutecter (caracteres cadenas de caracteres)El tipo de dato numeacuterico es el conjunto de los valores numeacutericos

Se pueden representar de dos formasEnteros (nuacutemeros completos que no tienen componentes fraccionarios)Ejemplos 16 3868 -1256 0Reales (consta de una parte entera y una parte decimal)Ejemplos -1230 01 49827 -0002

TIPOS DE DATOS DE CARAgraveCTER

Caraacutecter (conjunto finito y ordenado de caracteres que la computadora reconoce)La mayoriacutea reconoce los siguientes tipos de caracteres Caracteres Alfabeacuteticos A B C hellip Z a b c hellip zCaracteres Numeacutericos 0 1 2 hellip 9Caracteres Especiales + - ^ lt gt $ hellipEjemplos lsquoarsquo lsquoArsquo lsquo0rsquo lsquo_rsquo

TIPOS DE DATOS BOLEANOS

El tipo de dato loacutegico o booleano es en computacioacuten aquel que puede representar valores de loacutegica binaria esto es 2 valores valores que normalmente representan falso o verdadero Se utiliza normalmente en la programacioacuten estadiacutestica electroacutenica matemaacuteticas (Aacutelgebra booleana) etcPara generar un dato o valor loacutegico a partir de otros tipos de datos tiacutepicamente se emplean los operadores relacionales (u operadores de relacioacuten) por ejemplo 0 es igual a falso y 1 es igual a verdadero(3gt2)= 1 = verdadero(7gt9)= 0 = falso

Un ejemplo de este tipo de expresiones seriacuteanverdadero AND falso --gt falsofalso OR verdadero --gt verdaderoNOT verdadero --gt falso

TIPOS DE DATOS ESTRUCTURADOS

Son agrupaciones de otros tipos de datosLos tipos de datos estructurados maacutes comunes son vectores y matrices (array) cadenas de caracteres (string) registros y uniones

TIPOS DE DATOS ESTRUCTURADOS MATRICES O ARREGLOS

Un arreglo(matriz o vector) es un conjunto finito y ordenado de elementos homogeacuteneos La propiedad homogeacuteneo quiere decir que los elementos son del mismo tipo de datosLa propiedad ordenado significa que el elemento primero segundo hellip eneacutesimo de un arreglo puede ser identificado

TIPOS DE DATOS LISTASUna lista enlazada es una de las estructuras de datos fundamentales y puede ser usada para implementar otras estructuras de datosConsiste en una secuencia de nodos en los que se guardan campos de datos arbitrarios y una o dos referencias enlaces o punteros al nodo anterior o posterior

Una lista enlazada es un tipo de dato auto referenciado porque contienen un puntero o enlace (en ingleacutes link del mismo significado) a otro dato del mismo tipo Existen diferentes tipos de listas enlazadas Lista Enlazadas Simples Listas Doblemente Enlazadas Listas Enlazadas Circulares y Listas Enlazadas Doblemente Circulares

TIPOS DE DATOS ARBOLES

Es una estructura no lineal y dinaacutemica de datos Dinaacutemica puede cambiar durante la ejecucioacuten de un programaNo lineal a cada elemento del aacuterbol pueden seguirle varios elementos que estaacuten formados por un conjunto de nodos y un conjunto de aristas que conectan pares de nodos

TIPOS DE DATOS CONSTANTESUna constante es un dato cuyo valor no puede cambiar durante la ejecucioacuten del programaRecibe un valor en el momento de la compilacioacuten y este permanece inalterado durante todo el programa Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

TIPOS DE DATOS VARIABLESUna variable es un nombre asociado a un elemento de datos que estaacute situado en posiciones contiguas de la memoria principal y su valor puede cambiar durante la ejecucioacuten de un programa En la declaracioacuten de una variable se debe indicar el tipo al que pertenece Asiacute tendremos variables enteras reales booleanas etc Por otro lado distinguimos tres partes fundamentales en la vida de una variable Declaracioacuten Iniciacioacuten Utilizacioacuten

TIPOS DE EXPRECIONES

Una expresioacuten es una combinacioacuten de variables operadores y llamadas de meacutetodos construida de acuerdo a la sintaxis del lenguaje que devuelve un valor El tipo de dato del valor regresado por una expresioacuten depende de los elementos usados en la expresioacuten

OPERADORESLos operadores son siacutembolos especiales que por lo comuacuten se utilizan en expresiones

La tabla siguiente muestra los distintos tipos de operadores

Operador Significado Ejemplo

Operadores aritmeacuteticos

+ Suma a + b

- Resta a - b

Multiplicacioacuten a b

TABLA DE VERDAD DE LOS OPERADORES

LOgraveGICOSSon aquellas que evaluacutean maacutes de una condicioacuten en una sola expresioacuten para esto hacen uso de los operadores loacutegicos

ORDEN DE EVALUCION DE LOS OPERADORES

Cuando en una expresioacuten aparece maacutes de un operador es necesario definir un orden de evaluacioacuten para los operadores Este orden viene dado por las siguientes reglas

1- Todas las sub expresiones entre pareacutentesis se evaluacutean primero En los pareacutentesis anidados se evaluacutea primero el maacutes interior2- En una misma expresioacuten los operadores se evaluacutean seguacuten su orden de prioridad (los operadores en la misma liacutenea de la siguiente tabla tienen el mismo nivel de procedencia)

ALGORITMOS

Se define como el conjunto ordenado de pasos a seguir para resolver un problema concreto sin ambiguumledad alguna en un tiempo finito

CARACTERISTICAS

SER FINITO Tiene que acabar siempre tras un nuacutemero finito de pasosREPETITIVO Debe repetirse todas las veces que sea necesario dando siempre ideacutenticos resultados para las mismas condicionesVALIDO que haga lo que se pretende que haga y devuelva los resultados esperadosDEFINIBLE Cada paso debe quedar definido de un modo preciso y sin ambiguumledadesPRECISION Debe ser concreto utilizando solo el numero de pasos para llegar a una solucioacuten claraRECIBE DATOS DE ENTRADA Es normal que reciba datos desde el exterior que luego utiliza y trataPROPORCIONA RESULTADOS DE SALIDA Produce uno o varios resultados en su ejecucioacuten que enviacutea al exterior como valor de salidaSER EFECTIVO Que resuelva el problema de forma raacutepida y eficiente

GRAacuteFICA (DIAGRAMAS DE FLUJO)

Son esquemas para representar y expresar algoritmos Estos diagramas utilizan siacutembolos con significados definidos que representan los pasos del algoritmo y representan el flujo de ejecucioacuten mediante flechas que conectan los puntos de inicio y de fin de proceso

ESTRUCTURA SECUENCIALINICIO

OPERACIOacuteN DE ENTRADASALIDA

FINEST

RUCTURA

CONDICIONAL

DIRECCION

REGLAS GENERALESEstablecer el alcance del proceso de esta manera quedaraacute fijado el comienzo y el final del diagramaIdentificar y listar las principales actividadessubprocesos que estaacuten incluidos en el proceso y su orden cronoloacutegicoIdentificar y listar los puntos de decisioacutenConstruir el diagrama respetando la secuencia cronoloacutegica y asignando los correspondientes siacutembolosAsignar un tiacutetulo al diagrama y verificar que esteacute completo y describa con exactitud el proceso elegido

VENTAJASFavorecen la comprensioacuten del proceso al mostrarlo como un dibujo

Permiten identificar los problemas y las oportunidades de mejora del procesoMuestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan facilitando el anaacutelisis de las mismasSon una excelente herramienta para capacitar a los nuevos empleados y tambieacuten a los que desarrollan la tarea cuando se realizan mejoras en el procesoCon fines de anaacutelisis de algoritmo de programacioacuten puede ser ejecutado en un ordenador y con un IDE como Free DFD

DIAGRAMAS CHAPIN O DIAGRAMAS NASSI-SCHNEIDERMAN (N-S)

Es una descripcioacuten de algoritmos basados en la utilizacioacuten de siacutembolos graacuteficos estos se constituyen utilizan como siacutembolo baacutesico el rectaacutengulo dentro del cual aparecen sentencias en lenguaje algoriacutetmico que ayuda a describir las acciones que se realizan

TEXTUAL (SEUDOCOacuteDIGO)

Es un conjunto pequentildeo y completo de sentencias mediante las cuales podemos expresar todas las acciones a llevar a cabo para realizar una tarea mediante un ordenador sus elementos son palabras y secuencias

Ejemplo VARIABLES Precio precio final entero Porcentaje descuento real INICIO escribe(`precio `) lee(precio) escribe(`Porcentaje `) lee(porcentaje) FIN

REGLAS GENERALES

Comienza con la palabra ldquoiniciordquo y termina con la palabra ldquofinrdquo Cada instruccioacuten se debe escribir en una liacutenea Para su descripcioacuten se utilizan palabras reservadas que tienen un significado especiacutefico (ldquoIniciordquo ldquoFinrdquo ldquoSirdquo ldquoEntoncesrdquo ldquoSi nordquo ldquoFin sirdquo ldquoMientrasrdquo ldquoFin Mientrasrdquo ldquoSeguirrdquo ldquoFin Seguirrdquo)Debe escribirse indentado (tabulando) para mostrar claramente las dependencias de unas instrucciones del programa con respecto a otrasCada una de las estructuras que definen un programa tendraacute un punto de comienzo y uno de fin especificados por las palabras reservadas que definen la estructura

VENTAJAS

Se leen de arriba abajoPermite el uso de teacutecnicas decentesFavorece la participacioacuten del programa en moacutedulos pequentildeosResaltan mas las partes generales No permite la violacioacuten de las condiciones estructuradasEl aacutembito de cada bloque o estructura esta perfectamente definido

INCONVENIENTES

No se reconstruyen faacutecilmente si cambia la loacutegica del programaNo permite representar la conexioacuten de varios moacutedulos entre si

METODOLOGIgraveA DE LA PROGRAMACIOgraveN

Se entiende como metodologiacutea de la programacioacuten al conjunto de normas meacutetodos y anotaciones que nos indican la forma de programar

ESTRUCTURA GENERAL DE UN PROGRAMA

Todo programa contiene dos bloques bien diferenciados para la descripcioacuten de los datos

PARTES PRINCIPALES DE UN PROGRAMA

BLOQUES DE DECLARACIONES En el se especifican todos los objetos que utiliza el programa (constantes variables tablas de registro archivos etc) indicando siempre sus caracteriacutesticas

BLOQUE DE INSTRUCCIONES Estaacute constituido por el conjunto de operaciones que se han de realizar para la obtencioacuten de los resultados deseados

SALIDA DE RESULTADOS

Es el conjunto de instrucciones que toman los datos finales (resultados) y los enviacutean a los dispositivos externos (memoria datos central de salida)

PROCESO DE DATOS O ALGORITMODatos de entrada proceso resultados

ENTRADA DE DATOS

La constituye n todas las instrucciones que toman los datos de entrada y los almacenan en la memoria central para que puedan ser

procesadosCLASIFICACION DE LAS INSTRUCCIONES

INTRUCCIONES D DECLARACION Su misioacuten es anunciar la utilizacioacuten de objetos en un programa indicado que identificador tipo y otras caracteriacutesticas corresponden a cada uno de ellosINSTRUCCIONES PRIMITIVAS Son aquellas que ejecutan el proceso de modo inmediato Las instrucciones primitivas pueden ser de entrada de asignacioacuten o de salida se dividen en entradas de asignacioacuten y de salida

INSTRUCCIONES DE CONTROL Son instrucciones que no realizan trabajo efectivo salvo la evaluacioacuten de expresiones generalmente loacutegicas con el objetivo de controlar la ejecucioacuten de otras instrucciones o alterar el orden de ejecucioacuten normal de las instrucciones de un programaINSTRUCCIONES COMPUESTAS Una instruccioacuten compuesta es aquella que representa a un conjunto de instrucciones que estaacuten definidas en otra parte en general son llamadas a sus programas (funciones subrutinas paacuterrafos etc)

COMENTARIOS Son frases que se incluyen de forma moderada en el disentildeo de un algoritmo (en la codificacioacuten suele ser maacutes recomendable su uso) con intencioacuten de aclarar el cometido o funcioacuten de un objeto o conjunto de instrucciones

VARIABLES AUXILIARES DE UN PROGRAMA

Son objetos que utiliza un programa y por la funcioacuten que realizan dentro del mismo toman un nombre especial Contadores acumuladores e interruptores

CONTADORES

Un contador es una variable destinada a almacenar un valor que se iraacute incrementando o decrementando en una cantidad constante Se suelen utilizar mucho en procesos repetitivos para contabilizar el nuacutemero de veces que se repite un conjunto de acciones o eventos es decir en los cuerpos de las instrucciones repetitivas

ACUMULADORESUn acumulador o totalizador es una variable cuya misioacuten es acumular cantidades sucesivas obtenidas al realizar la misma operacioacuten La diferencia de un contador es que el incremento o decremento es variable en lugar de constante como en el caso del contador Para utilizarlos hay que realizar sobre ellos dos operaciones baacutesicas Inicializacioacuten Todo acumulador necesita ser inicializado con el valor neutro de la operacioacuten que va a acumular que en el caso de la suma es 0 y del producto es 1

SUMA 0 PRODUCTO 1

Acumulacioacuten Cuando se hace presente en la memoria el elemento a acumular por la realizacioacuten de una lectura o un calculo se efectuacutea la acumulacioacuten del mismo por medio de la asignacioacuten

SUMA + elementoPRODUCTO elemento

INTERRUPTORES O CONMUTADORES

Un interruptor o conmutador es un campo de memoria (variable) que toman diversos valores a lo largo de la ejecucioacuten del programa Los valores que toma son normalmente 1 o siacute (encendidoabierto) y 0 o no (apagadocerrado) (de ahiacute su nombre de interruptor)a) Recordar en un determinado lugar del programa la ocurrencia o no de un suceso b) Realizar de forma alternativa independiente dos procesos alternativos

SUBPROGRAMA

Un subprograma se utiliza por el programa para un fin especiacutefico El subprograma recibe datos del programa y le devuelve resultados Se dice que el programa llama o invoca al subprograma El subprograma ejecuta una tarea a continuacioacuten retorna o devuelve el control al programa Esta accioacuten puede suceder en diferentes partes del programa Cada vez que el subprograma es llamado el control vuelve al lugar desde donde fue hecha la llamada

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 16: PROYECTO  METODOLOGIA DENYS.pptx

TIPOS ELEMENTALES NUMERICOS

Los tipos simples son numeacutericos (enteros reales) Loacutegicos (booleanos) Caraacutecter (caracteres cadenas de caracteres)El tipo de dato numeacuterico es el conjunto de los valores numeacutericos

Se pueden representar de dos formasEnteros (nuacutemeros completos que no tienen componentes fraccionarios)Ejemplos 16 3868 -1256 0Reales (consta de una parte entera y una parte decimal)Ejemplos -1230 01 49827 -0002

TIPOS DE DATOS DE CARAgraveCTER

Caraacutecter (conjunto finito y ordenado de caracteres que la computadora reconoce)La mayoriacutea reconoce los siguientes tipos de caracteres Caracteres Alfabeacuteticos A B C hellip Z a b c hellip zCaracteres Numeacutericos 0 1 2 hellip 9Caracteres Especiales + - ^ lt gt $ hellipEjemplos lsquoarsquo lsquoArsquo lsquo0rsquo lsquo_rsquo

TIPOS DE DATOS BOLEANOS

El tipo de dato loacutegico o booleano es en computacioacuten aquel que puede representar valores de loacutegica binaria esto es 2 valores valores que normalmente representan falso o verdadero Se utiliza normalmente en la programacioacuten estadiacutestica electroacutenica matemaacuteticas (Aacutelgebra booleana) etcPara generar un dato o valor loacutegico a partir de otros tipos de datos tiacutepicamente se emplean los operadores relacionales (u operadores de relacioacuten) por ejemplo 0 es igual a falso y 1 es igual a verdadero(3gt2)= 1 = verdadero(7gt9)= 0 = falso

Un ejemplo de este tipo de expresiones seriacuteanverdadero AND falso --gt falsofalso OR verdadero --gt verdaderoNOT verdadero --gt falso

TIPOS DE DATOS ESTRUCTURADOS

Son agrupaciones de otros tipos de datosLos tipos de datos estructurados maacutes comunes son vectores y matrices (array) cadenas de caracteres (string) registros y uniones

TIPOS DE DATOS ESTRUCTURADOS MATRICES O ARREGLOS

Un arreglo(matriz o vector) es un conjunto finito y ordenado de elementos homogeacuteneos La propiedad homogeacuteneo quiere decir que los elementos son del mismo tipo de datosLa propiedad ordenado significa que el elemento primero segundo hellip eneacutesimo de un arreglo puede ser identificado

TIPOS DE DATOS LISTASUna lista enlazada es una de las estructuras de datos fundamentales y puede ser usada para implementar otras estructuras de datosConsiste en una secuencia de nodos en los que se guardan campos de datos arbitrarios y una o dos referencias enlaces o punteros al nodo anterior o posterior

Una lista enlazada es un tipo de dato auto referenciado porque contienen un puntero o enlace (en ingleacutes link del mismo significado) a otro dato del mismo tipo Existen diferentes tipos de listas enlazadas Lista Enlazadas Simples Listas Doblemente Enlazadas Listas Enlazadas Circulares y Listas Enlazadas Doblemente Circulares

TIPOS DE DATOS ARBOLES

Es una estructura no lineal y dinaacutemica de datos Dinaacutemica puede cambiar durante la ejecucioacuten de un programaNo lineal a cada elemento del aacuterbol pueden seguirle varios elementos que estaacuten formados por un conjunto de nodos y un conjunto de aristas que conectan pares de nodos

TIPOS DE DATOS CONSTANTESUna constante es un dato cuyo valor no puede cambiar durante la ejecucioacuten del programaRecibe un valor en el momento de la compilacioacuten y este permanece inalterado durante todo el programa Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

TIPOS DE DATOS VARIABLESUna variable es un nombre asociado a un elemento de datos que estaacute situado en posiciones contiguas de la memoria principal y su valor puede cambiar durante la ejecucioacuten de un programa En la declaracioacuten de una variable se debe indicar el tipo al que pertenece Asiacute tendremos variables enteras reales booleanas etc Por otro lado distinguimos tres partes fundamentales en la vida de una variable Declaracioacuten Iniciacioacuten Utilizacioacuten

TIPOS DE EXPRECIONES

Una expresioacuten es una combinacioacuten de variables operadores y llamadas de meacutetodos construida de acuerdo a la sintaxis del lenguaje que devuelve un valor El tipo de dato del valor regresado por una expresioacuten depende de los elementos usados en la expresioacuten

OPERADORESLos operadores son siacutembolos especiales que por lo comuacuten se utilizan en expresiones

La tabla siguiente muestra los distintos tipos de operadores

Operador Significado Ejemplo

Operadores aritmeacuteticos

+ Suma a + b

- Resta a - b

Multiplicacioacuten a b

TABLA DE VERDAD DE LOS OPERADORES

LOgraveGICOSSon aquellas que evaluacutean maacutes de una condicioacuten en una sola expresioacuten para esto hacen uso de los operadores loacutegicos

ORDEN DE EVALUCION DE LOS OPERADORES

Cuando en una expresioacuten aparece maacutes de un operador es necesario definir un orden de evaluacioacuten para los operadores Este orden viene dado por las siguientes reglas

1- Todas las sub expresiones entre pareacutentesis se evaluacutean primero En los pareacutentesis anidados se evaluacutea primero el maacutes interior2- En una misma expresioacuten los operadores se evaluacutean seguacuten su orden de prioridad (los operadores en la misma liacutenea de la siguiente tabla tienen el mismo nivel de procedencia)

ALGORITMOS

Se define como el conjunto ordenado de pasos a seguir para resolver un problema concreto sin ambiguumledad alguna en un tiempo finito

CARACTERISTICAS

SER FINITO Tiene que acabar siempre tras un nuacutemero finito de pasosREPETITIVO Debe repetirse todas las veces que sea necesario dando siempre ideacutenticos resultados para las mismas condicionesVALIDO que haga lo que se pretende que haga y devuelva los resultados esperadosDEFINIBLE Cada paso debe quedar definido de un modo preciso y sin ambiguumledadesPRECISION Debe ser concreto utilizando solo el numero de pasos para llegar a una solucioacuten claraRECIBE DATOS DE ENTRADA Es normal que reciba datos desde el exterior que luego utiliza y trataPROPORCIONA RESULTADOS DE SALIDA Produce uno o varios resultados en su ejecucioacuten que enviacutea al exterior como valor de salidaSER EFECTIVO Que resuelva el problema de forma raacutepida y eficiente

GRAacuteFICA (DIAGRAMAS DE FLUJO)

Son esquemas para representar y expresar algoritmos Estos diagramas utilizan siacutembolos con significados definidos que representan los pasos del algoritmo y representan el flujo de ejecucioacuten mediante flechas que conectan los puntos de inicio y de fin de proceso

ESTRUCTURA SECUENCIALINICIO

OPERACIOacuteN DE ENTRADASALIDA

FINEST

RUCTURA

CONDICIONAL

DIRECCION

REGLAS GENERALESEstablecer el alcance del proceso de esta manera quedaraacute fijado el comienzo y el final del diagramaIdentificar y listar las principales actividadessubprocesos que estaacuten incluidos en el proceso y su orden cronoloacutegicoIdentificar y listar los puntos de decisioacutenConstruir el diagrama respetando la secuencia cronoloacutegica y asignando los correspondientes siacutembolosAsignar un tiacutetulo al diagrama y verificar que esteacute completo y describa con exactitud el proceso elegido

VENTAJASFavorecen la comprensioacuten del proceso al mostrarlo como un dibujo

Permiten identificar los problemas y las oportunidades de mejora del procesoMuestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan facilitando el anaacutelisis de las mismasSon una excelente herramienta para capacitar a los nuevos empleados y tambieacuten a los que desarrollan la tarea cuando se realizan mejoras en el procesoCon fines de anaacutelisis de algoritmo de programacioacuten puede ser ejecutado en un ordenador y con un IDE como Free DFD

DIAGRAMAS CHAPIN O DIAGRAMAS NASSI-SCHNEIDERMAN (N-S)

Es una descripcioacuten de algoritmos basados en la utilizacioacuten de siacutembolos graacuteficos estos se constituyen utilizan como siacutembolo baacutesico el rectaacutengulo dentro del cual aparecen sentencias en lenguaje algoriacutetmico que ayuda a describir las acciones que se realizan

TEXTUAL (SEUDOCOacuteDIGO)

Es un conjunto pequentildeo y completo de sentencias mediante las cuales podemos expresar todas las acciones a llevar a cabo para realizar una tarea mediante un ordenador sus elementos son palabras y secuencias

Ejemplo VARIABLES Precio precio final entero Porcentaje descuento real INICIO escribe(`precio `) lee(precio) escribe(`Porcentaje `) lee(porcentaje) FIN

REGLAS GENERALES

Comienza con la palabra ldquoiniciordquo y termina con la palabra ldquofinrdquo Cada instruccioacuten se debe escribir en una liacutenea Para su descripcioacuten se utilizan palabras reservadas que tienen un significado especiacutefico (ldquoIniciordquo ldquoFinrdquo ldquoSirdquo ldquoEntoncesrdquo ldquoSi nordquo ldquoFin sirdquo ldquoMientrasrdquo ldquoFin Mientrasrdquo ldquoSeguirrdquo ldquoFin Seguirrdquo)Debe escribirse indentado (tabulando) para mostrar claramente las dependencias de unas instrucciones del programa con respecto a otrasCada una de las estructuras que definen un programa tendraacute un punto de comienzo y uno de fin especificados por las palabras reservadas que definen la estructura

VENTAJAS

Se leen de arriba abajoPermite el uso de teacutecnicas decentesFavorece la participacioacuten del programa en moacutedulos pequentildeosResaltan mas las partes generales No permite la violacioacuten de las condiciones estructuradasEl aacutembito de cada bloque o estructura esta perfectamente definido

INCONVENIENTES

No se reconstruyen faacutecilmente si cambia la loacutegica del programaNo permite representar la conexioacuten de varios moacutedulos entre si

METODOLOGIgraveA DE LA PROGRAMACIOgraveN

Se entiende como metodologiacutea de la programacioacuten al conjunto de normas meacutetodos y anotaciones que nos indican la forma de programar

ESTRUCTURA GENERAL DE UN PROGRAMA

Todo programa contiene dos bloques bien diferenciados para la descripcioacuten de los datos

PARTES PRINCIPALES DE UN PROGRAMA

BLOQUES DE DECLARACIONES En el se especifican todos los objetos que utiliza el programa (constantes variables tablas de registro archivos etc) indicando siempre sus caracteriacutesticas

BLOQUE DE INSTRUCCIONES Estaacute constituido por el conjunto de operaciones que se han de realizar para la obtencioacuten de los resultados deseados

SALIDA DE RESULTADOS

Es el conjunto de instrucciones que toman los datos finales (resultados) y los enviacutean a los dispositivos externos (memoria datos central de salida)

PROCESO DE DATOS O ALGORITMODatos de entrada proceso resultados

ENTRADA DE DATOS

La constituye n todas las instrucciones que toman los datos de entrada y los almacenan en la memoria central para que puedan ser

procesadosCLASIFICACION DE LAS INSTRUCCIONES

INTRUCCIONES D DECLARACION Su misioacuten es anunciar la utilizacioacuten de objetos en un programa indicado que identificador tipo y otras caracteriacutesticas corresponden a cada uno de ellosINSTRUCCIONES PRIMITIVAS Son aquellas que ejecutan el proceso de modo inmediato Las instrucciones primitivas pueden ser de entrada de asignacioacuten o de salida se dividen en entradas de asignacioacuten y de salida

INSTRUCCIONES DE CONTROL Son instrucciones que no realizan trabajo efectivo salvo la evaluacioacuten de expresiones generalmente loacutegicas con el objetivo de controlar la ejecucioacuten de otras instrucciones o alterar el orden de ejecucioacuten normal de las instrucciones de un programaINSTRUCCIONES COMPUESTAS Una instruccioacuten compuesta es aquella que representa a un conjunto de instrucciones que estaacuten definidas en otra parte en general son llamadas a sus programas (funciones subrutinas paacuterrafos etc)

COMENTARIOS Son frases que se incluyen de forma moderada en el disentildeo de un algoritmo (en la codificacioacuten suele ser maacutes recomendable su uso) con intencioacuten de aclarar el cometido o funcioacuten de un objeto o conjunto de instrucciones

VARIABLES AUXILIARES DE UN PROGRAMA

Son objetos que utiliza un programa y por la funcioacuten que realizan dentro del mismo toman un nombre especial Contadores acumuladores e interruptores

CONTADORES

Un contador es una variable destinada a almacenar un valor que se iraacute incrementando o decrementando en una cantidad constante Se suelen utilizar mucho en procesos repetitivos para contabilizar el nuacutemero de veces que se repite un conjunto de acciones o eventos es decir en los cuerpos de las instrucciones repetitivas

ACUMULADORESUn acumulador o totalizador es una variable cuya misioacuten es acumular cantidades sucesivas obtenidas al realizar la misma operacioacuten La diferencia de un contador es que el incremento o decremento es variable en lugar de constante como en el caso del contador Para utilizarlos hay que realizar sobre ellos dos operaciones baacutesicas Inicializacioacuten Todo acumulador necesita ser inicializado con el valor neutro de la operacioacuten que va a acumular que en el caso de la suma es 0 y del producto es 1

SUMA 0 PRODUCTO 1

Acumulacioacuten Cuando se hace presente en la memoria el elemento a acumular por la realizacioacuten de una lectura o un calculo se efectuacutea la acumulacioacuten del mismo por medio de la asignacioacuten

SUMA + elementoPRODUCTO elemento

INTERRUPTORES O CONMUTADORES

Un interruptor o conmutador es un campo de memoria (variable) que toman diversos valores a lo largo de la ejecucioacuten del programa Los valores que toma son normalmente 1 o siacute (encendidoabierto) y 0 o no (apagadocerrado) (de ahiacute su nombre de interruptor)a) Recordar en un determinado lugar del programa la ocurrencia o no de un suceso b) Realizar de forma alternativa independiente dos procesos alternativos

SUBPROGRAMA

Un subprograma se utiliza por el programa para un fin especiacutefico El subprograma recibe datos del programa y le devuelve resultados Se dice que el programa llama o invoca al subprograma El subprograma ejecuta una tarea a continuacioacuten retorna o devuelve el control al programa Esta accioacuten puede suceder en diferentes partes del programa Cada vez que el subprograma es llamado el control vuelve al lugar desde donde fue hecha la llamada

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 17: PROYECTO  METODOLOGIA DENYS.pptx

TIPOS DE DATOS BOLEANOS

El tipo de dato loacutegico o booleano es en computacioacuten aquel que puede representar valores de loacutegica binaria esto es 2 valores valores que normalmente representan falso o verdadero Se utiliza normalmente en la programacioacuten estadiacutestica electroacutenica matemaacuteticas (Aacutelgebra booleana) etcPara generar un dato o valor loacutegico a partir de otros tipos de datos tiacutepicamente se emplean los operadores relacionales (u operadores de relacioacuten) por ejemplo 0 es igual a falso y 1 es igual a verdadero(3gt2)= 1 = verdadero(7gt9)= 0 = falso

Un ejemplo de este tipo de expresiones seriacuteanverdadero AND falso --gt falsofalso OR verdadero --gt verdaderoNOT verdadero --gt falso

TIPOS DE DATOS ESTRUCTURADOS

Son agrupaciones de otros tipos de datosLos tipos de datos estructurados maacutes comunes son vectores y matrices (array) cadenas de caracteres (string) registros y uniones

TIPOS DE DATOS ESTRUCTURADOS MATRICES O ARREGLOS

Un arreglo(matriz o vector) es un conjunto finito y ordenado de elementos homogeacuteneos La propiedad homogeacuteneo quiere decir que los elementos son del mismo tipo de datosLa propiedad ordenado significa que el elemento primero segundo hellip eneacutesimo de un arreglo puede ser identificado

TIPOS DE DATOS LISTASUna lista enlazada es una de las estructuras de datos fundamentales y puede ser usada para implementar otras estructuras de datosConsiste en una secuencia de nodos en los que se guardan campos de datos arbitrarios y una o dos referencias enlaces o punteros al nodo anterior o posterior

Una lista enlazada es un tipo de dato auto referenciado porque contienen un puntero o enlace (en ingleacutes link del mismo significado) a otro dato del mismo tipo Existen diferentes tipos de listas enlazadas Lista Enlazadas Simples Listas Doblemente Enlazadas Listas Enlazadas Circulares y Listas Enlazadas Doblemente Circulares

TIPOS DE DATOS ARBOLES

Es una estructura no lineal y dinaacutemica de datos Dinaacutemica puede cambiar durante la ejecucioacuten de un programaNo lineal a cada elemento del aacuterbol pueden seguirle varios elementos que estaacuten formados por un conjunto de nodos y un conjunto de aristas que conectan pares de nodos

TIPOS DE DATOS CONSTANTESUna constante es un dato cuyo valor no puede cambiar durante la ejecucioacuten del programaRecibe un valor en el momento de la compilacioacuten y este permanece inalterado durante todo el programa Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

TIPOS DE DATOS VARIABLESUna variable es un nombre asociado a un elemento de datos que estaacute situado en posiciones contiguas de la memoria principal y su valor puede cambiar durante la ejecucioacuten de un programa En la declaracioacuten de una variable se debe indicar el tipo al que pertenece Asiacute tendremos variables enteras reales booleanas etc Por otro lado distinguimos tres partes fundamentales en la vida de una variable Declaracioacuten Iniciacioacuten Utilizacioacuten

TIPOS DE EXPRECIONES

Una expresioacuten es una combinacioacuten de variables operadores y llamadas de meacutetodos construida de acuerdo a la sintaxis del lenguaje que devuelve un valor El tipo de dato del valor regresado por una expresioacuten depende de los elementos usados en la expresioacuten

OPERADORESLos operadores son siacutembolos especiales que por lo comuacuten se utilizan en expresiones

La tabla siguiente muestra los distintos tipos de operadores

Operador Significado Ejemplo

Operadores aritmeacuteticos

+ Suma a + b

- Resta a - b

Multiplicacioacuten a b

TABLA DE VERDAD DE LOS OPERADORES

LOgraveGICOSSon aquellas que evaluacutean maacutes de una condicioacuten en una sola expresioacuten para esto hacen uso de los operadores loacutegicos

ORDEN DE EVALUCION DE LOS OPERADORES

Cuando en una expresioacuten aparece maacutes de un operador es necesario definir un orden de evaluacioacuten para los operadores Este orden viene dado por las siguientes reglas

1- Todas las sub expresiones entre pareacutentesis se evaluacutean primero En los pareacutentesis anidados se evaluacutea primero el maacutes interior2- En una misma expresioacuten los operadores se evaluacutean seguacuten su orden de prioridad (los operadores en la misma liacutenea de la siguiente tabla tienen el mismo nivel de procedencia)

ALGORITMOS

Se define como el conjunto ordenado de pasos a seguir para resolver un problema concreto sin ambiguumledad alguna en un tiempo finito

CARACTERISTICAS

SER FINITO Tiene que acabar siempre tras un nuacutemero finito de pasosREPETITIVO Debe repetirse todas las veces que sea necesario dando siempre ideacutenticos resultados para las mismas condicionesVALIDO que haga lo que se pretende que haga y devuelva los resultados esperadosDEFINIBLE Cada paso debe quedar definido de un modo preciso y sin ambiguumledadesPRECISION Debe ser concreto utilizando solo el numero de pasos para llegar a una solucioacuten claraRECIBE DATOS DE ENTRADA Es normal que reciba datos desde el exterior que luego utiliza y trataPROPORCIONA RESULTADOS DE SALIDA Produce uno o varios resultados en su ejecucioacuten que enviacutea al exterior como valor de salidaSER EFECTIVO Que resuelva el problema de forma raacutepida y eficiente

GRAacuteFICA (DIAGRAMAS DE FLUJO)

Son esquemas para representar y expresar algoritmos Estos diagramas utilizan siacutembolos con significados definidos que representan los pasos del algoritmo y representan el flujo de ejecucioacuten mediante flechas que conectan los puntos de inicio y de fin de proceso

ESTRUCTURA SECUENCIALINICIO

OPERACIOacuteN DE ENTRADASALIDA

FINEST

RUCTURA

CONDICIONAL

DIRECCION

REGLAS GENERALESEstablecer el alcance del proceso de esta manera quedaraacute fijado el comienzo y el final del diagramaIdentificar y listar las principales actividadessubprocesos que estaacuten incluidos en el proceso y su orden cronoloacutegicoIdentificar y listar los puntos de decisioacutenConstruir el diagrama respetando la secuencia cronoloacutegica y asignando los correspondientes siacutembolosAsignar un tiacutetulo al diagrama y verificar que esteacute completo y describa con exactitud el proceso elegido

VENTAJASFavorecen la comprensioacuten del proceso al mostrarlo como un dibujo

Permiten identificar los problemas y las oportunidades de mejora del procesoMuestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan facilitando el anaacutelisis de las mismasSon una excelente herramienta para capacitar a los nuevos empleados y tambieacuten a los que desarrollan la tarea cuando se realizan mejoras en el procesoCon fines de anaacutelisis de algoritmo de programacioacuten puede ser ejecutado en un ordenador y con un IDE como Free DFD

DIAGRAMAS CHAPIN O DIAGRAMAS NASSI-SCHNEIDERMAN (N-S)

Es una descripcioacuten de algoritmos basados en la utilizacioacuten de siacutembolos graacuteficos estos se constituyen utilizan como siacutembolo baacutesico el rectaacutengulo dentro del cual aparecen sentencias en lenguaje algoriacutetmico que ayuda a describir las acciones que se realizan

TEXTUAL (SEUDOCOacuteDIGO)

Es un conjunto pequentildeo y completo de sentencias mediante las cuales podemos expresar todas las acciones a llevar a cabo para realizar una tarea mediante un ordenador sus elementos son palabras y secuencias

Ejemplo VARIABLES Precio precio final entero Porcentaje descuento real INICIO escribe(`precio `) lee(precio) escribe(`Porcentaje `) lee(porcentaje) FIN

REGLAS GENERALES

Comienza con la palabra ldquoiniciordquo y termina con la palabra ldquofinrdquo Cada instruccioacuten se debe escribir en una liacutenea Para su descripcioacuten se utilizan palabras reservadas que tienen un significado especiacutefico (ldquoIniciordquo ldquoFinrdquo ldquoSirdquo ldquoEntoncesrdquo ldquoSi nordquo ldquoFin sirdquo ldquoMientrasrdquo ldquoFin Mientrasrdquo ldquoSeguirrdquo ldquoFin Seguirrdquo)Debe escribirse indentado (tabulando) para mostrar claramente las dependencias de unas instrucciones del programa con respecto a otrasCada una de las estructuras que definen un programa tendraacute un punto de comienzo y uno de fin especificados por las palabras reservadas que definen la estructura

VENTAJAS

Se leen de arriba abajoPermite el uso de teacutecnicas decentesFavorece la participacioacuten del programa en moacutedulos pequentildeosResaltan mas las partes generales No permite la violacioacuten de las condiciones estructuradasEl aacutembito de cada bloque o estructura esta perfectamente definido

INCONVENIENTES

No se reconstruyen faacutecilmente si cambia la loacutegica del programaNo permite representar la conexioacuten de varios moacutedulos entre si

METODOLOGIgraveA DE LA PROGRAMACIOgraveN

Se entiende como metodologiacutea de la programacioacuten al conjunto de normas meacutetodos y anotaciones que nos indican la forma de programar

ESTRUCTURA GENERAL DE UN PROGRAMA

Todo programa contiene dos bloques bien diferenciados para la descripcioacuten de los datos

PARTES PRINCIPALES DE UN PROGRAMA

BLOQUES DE DECLARACIONES En el se especifican todos los objetos que utiliza el programa (constantes variables tablas de registro archivos etc) indicando siempre sus caracteriacutesticas

BLOQUE DE INSTRUCCIONES Estaacute constituido por el conjunto de operaciones que se han de realizar para la obtencioacuten de los resultados deseados

SALIDA DE RESULTADOS

Es el conjunto de instrucciones que toman los datos finales (resultados) y los enviacutean a los dispositivos externos (memoria datos central de salida)

PROCESO DE DATOS O ALGORITMODatos de entrada proceso resultados

ENTRADA DE DATOS

La constituye n todas las instrucciones que toman los datos de entrada y los almacenan en la memoria central para que puedan ser

procesadosCLASIFICACION DE LAS INSTRUCCIONES

INTRUCCIONES D DECLARACION Su misioacuten es anunciar la utilizacioacuten de objetos en un programa indicado que identificador tipo y otras caracteriacutesticas corresponden a cada uno de ellosINSTRUCCIONES PRIMITIVAS Son aquellas que ejecutan el proceso de modo inmediato Las instrucciones primitivas pueden ser de entrada de asignacioacuten o de salida se dividen en entradas de asignacioacuten y de salida

INSTRUCCIONES DE CONTROL Son instrucciones que no realizan trabajo efectivo salvo la evaluacioacuten de expresiones generalmente loacutegicas con el objetivo de controlar la ejecucioacuten de otras instrucciones o alterar el orden de ejecucioacuten normal de las instrucciones de un programaINSTRUCCIONES COMPUESTAS Una instruccioacuten compuesta es aquella que representa a un conjunto de instrucciones que estaacuten definidas en otra parte en general son llamadas a sus programas (funciones subrutinas paacuterrafos etc)

COMENTARIOS Son frases que se incluyen de forma moderada en el disentildeo de un algoritmo (en la codificacioacuten suele ser maacutes recomendable su uso) con intencioacuten de aclarar el cometido o funcioacuten de un objeto o conjunto de instrucciones

VARIABLES AUXILIARES DE UN PROGRAMA

Son objetos que utiliza un programa y por la funcioacuten que realizan dentro del mismo toman un nombre especial Contadores acumuladores e interruptores

CONTADORES

Un contador es una variable destinada a almacenar un valor que se iraacute incrementando o decrementando en una cantidad constante Se suelen utilizar mucho en procesos repetitivos para contabilizar el nuacutemero de veces que se repite un conjunto de acciones o eventos es decir en los cuerpos de las instrucciones repetitivas

ACUMULADORESUn acumulador o totalizador es una variable cuya misioacuten es acumular cantidades sucesivas obtenidas al realizar la misma operacioacuten La diferencia de un contador es que el incremento o decremento es variable en lugar de constante como en el caso del contador Para utilizarlos hay que realizar sobre ellos dos operaciones baacutesicas Inicializacioacuten Todo acumulador necesita ser inicializado con el valor neutro de la operacioacuten que va a acumular que en el caso de la suma es 0 y del producto es 1

SUMA 0 PRODUCTO 1

Acumulacioacuten Cuando se hace presente en la memoria el elemento a acumular por la realizacioacuten de una lectura o un calculo se efectuacutea la acumulacioacuten del mismo por medio de la asignacioacuten

SUMA + elementoPRODUCTO elemento

INTERRUPTORES O CONMUTADORES

Un interruptor o conmutador es un campo de memoria (variable) que toman diversos valores a lo largo de la ejecucioacuten del programa Los valores que toma son normalmente 1 o siacute (encendidoabierto) y 0 o no (apagadocerrado) (de ahiacute su nombre de interruptor)a) Recordar en un determinado lugar del programa la ocurrencia o no de un suceso b) Realizar de forma alternativa independiente dos procesos alternativos

SUBPROGRAMA

Un subprograma se utiliza por el programa para un fin especiacutefico El subprograma recibe datos del programa y le devuelve resultados Se dice que el programa llama o invoca al subprograma El subprograma ejecuta una tarea a continuacioacuten retorna o devuelve el control al programa Esta accioacuten puede suceder en diferentes partes del programa Cada vez que el subprograma es llamado el control vuelve al lugar desde donde fue hecha la llamada

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 18: PROYECTO  METODOLOGIA DENYS.pptx

TIPOS DE DATOS ESTRUCTURADOS

Son agrupaciones de otros tipos de datosLos tipos de datos estructurados maacutes comunes son vectores y matrices (array) cadenas de caracteres (string) registros y uniones

TIPOS DE DATOS ESTRUCTURADOS MATRICES O ARREGLOS

Un arreglo(matriz o vector) es un conjunto finito y ordenado de elementos homogeacuteneos La propiedad homogeacuteneo quiere decir que los elementos son del mismo tipo de datosLa propiedad ordenado significa que el elemento primero segundo hellip eneacutesimo de un arreglo puede ser identificado

TIPOS DE DATOS LISTASUna lista enlazada es una de las estructuras de datos fundamentales y puede ser usada para implementar otras estructuras de datosConsiste en una secuencia de nodos en los que se guardan campos de datos arbitrarios y una o dos referencias enlaces o punteros al nodo anterior o posterior

Una lista enlazada es un tipo de dato auto referenciado porque contienen un puntero o enlace (en ingleacutes link del mismo significado) a otro dato del mismo tipo Existen diferentes tipos de listas enlazadas Lista Enlazadas Simples Listas Doblemente Enlazadas Listas Enlazadas Circulares y Listas Enlazadas Doblemente Circulares

TIPOS DE DATOS ARBOLES

Es una estructura no lineal y dinaacutemica de datos Dinaacutemica puede cambiar durante la ejecucioacuten de un programaNo lineal a cada elemento del aacuterbol pueden seguirle varios elementos que estaacuten formados por un conjunto de nodos y un conjunto de aristas que conectan pares de nodos

TIPOS DE DATOS CONSTANTESUna constante es un dato cuyo valor no puede cambiar durante la ejecucioacuten del programaRecibe un valor en el momento de la compilacioacuten y este permanece inalterado durante todo el programa Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

TIPOS DE DATOS VARIABLESUna variable es un nombre asociado a un elemento de datos que estaacute situado en posiciones contiguas de la memoria principal y su valor puede cambiar durante la ejecucioacuten de un programa En la declaracioacuten de una variable se debe indicar el tipo al que pertenece Asiacute tendremos variables enteras reales booleanas etc Por otro lado distinguimos tres partes fundamentales en la vida de una variable Declaracioacuten Iniciacioacuten Utilizacioacuten

TIPOS DE EXPRECIONES

Una expresioacuten es una combinacioacuten de variables operadores y llamadas de meacutetodos construida de acuerdo a la sintaxis del lenguaje que devuelve un valor El tipo de dato del valor regresado por una expresioacuten depende de los elementos usados en la expresioacuten

OPERADORESLos operadores son siacutembolos especiales que por lo comuacuten se utilizan en expresiones

La tabla siguiente muestra los distintos tipos de operadores

Operador Significado Ejemplo

Operadores aritmeacuteticos

+ Suma a + b

- Resta a - b

Multiplicacioacuten a b

TABLA DE VERDAD DE LOS OPERADORES

LOgraveGICOSSon aquellas que evaluacutean maacutes de una condicioacuten en una sola expresioacuten para esto hacen uso de los operadores loacutegicos

ORDEN DE EVALUCION DE LOS OPERADORES

Cuando en una expresioacuten aparece maacutes de un operador es necesario definir un orden de evaluacioacuten para los operadores Este orden viene dado por las siguientes reglas

1- Todas las sub expresiones entre pareacutentesis se evaluacutean primero En los pareacutentesis anidados se evaluacutea primero el maacutes interior2- En una misma expresioacuten los operadores se evaluacutean seguacuten su orden de prioridad (los operadores en la misma liacutenea de la siguiente tabla tienen el mismo nivel de procedencia)

ALGORITMOS

Se define como el conjunto ordenado de pasos a seguir para resolver un problema concreto sin ambiguumledad alguna en un tiempo finito

CARACTERISTICAS

SER FINITO Tiene que acabar siempre tras un nuacutemero finito de pasosREPETITIVO Debe repetirse todas las veces que sea necesario dando siempre ideacutenticos resultados para las mismas condicionesVALIDO que haga lo que se pretende que haga y devuelva los resultados esperadosDEFINIBLE Cada paso debe quedar definido de un modo preciso y sin ambiguumledadesPRECISION Debe ser concreto utilizando solo el numero de pasos para llegar a una solucioacuten claraRECIBE DATOS DE ENTRADA Es normal que reciba datos desde el exterior que luego utiliza y trataPROPORCIONA RESULTADOS DE SALIDA Produce uno o varios resultados en su ejecucioacuten que enviacutea al exterior como valor de salidaSER EFECTIVO Que resuelva el problema de forma raacutepida y eficiente

GRAacuteFICA (DIAGRAMAS DE FLUJO)

Son esquemas para representar y expresar algoritmos Estos diagramas utilizan siacutembolos con significados definidos que representan los pasos del algoritmo y representan el flujo de ejecucioacuten mediante flechas que conectan los puntos de inicio y de fin de proceso

ESTRUCTURA SECUENCIALINICIO

OPERACIOacuteN DE ENTRADASALIDA

FINEST

RUCTURA

CONDICIONAL

DIRECCION

REGLAS GENERALESEstablecer el alcance del proceso de esta manera quedaraacute fijado el comienzo y el final del diagramaIdentificar y listar las principales actividadessubprocesos que estaacuten incluidos en el proceso y su orden cronoloacutegicoIdentificar y listar los puntos de decisioacutenConstruir el diagrama respetando la secuencia cronoloacutegica y asignando los correspondientes siacutembolosAsignar un tiacutetulo al diagrama y verificar que esteacute completo y describa con exactitud el proceso elegido

VENTAJASFavorecen la comprensioacuten del proceso al mostrarlo como un dibujo

Permiten identificar los problemas y las oportunidades de mejora del procesoMuestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan facilitando el anaacutelisis de las mismasSon una excelente herramienta para capacitar a los nuevos empleados y tambieacuten a los que desarrollan la tarea cuando se realizan mejoras en el procesoCon fines de anaacutelisis de algoritmo de programacioacuten puede ser ejecutado en un ordenador y con un IDE como Free DFD

DIAGRAMAS CHAPIN O DIAGRAMAS NASSI-SCHNEIDERMAN (N-S)

Es una descripcioacuten de algoritmos basados en la utilizacioacuten de siacutembolos graacuteficos estos se constituyen utilizan como siacutembolo baacutesico el rectaacutengulo dentro del cual aparecen sentencias en lenguaje algoriacutetmico que ayuda a describir las acciones que se realizan

TEXTUAL (SEUDOCOacuteDIGO)

Es un conjunto pequentildeo y completo de sentencias mediante las cuales podemos expresar todas las acciones a llevar a cabo para realizar una tarea mediante un ordenador sus elementos son palabras y secuencias

Ejemplo VARIABLES Precio precio final entero Porcentaje descuento real INICIO escribe(`precio `) lee(precio) escribe(`Porcentaje `) lee(porcentaje) FIN

REGLAS GENERALES

Comienza con la palabra ldquoiniciordquo y termina con la palabra ldquofinrdquo Cada instruccioacuten se debe escribir en una liacutenea Para su descripcioacuten se utilizan palabras reservadas que tienen un significado especiacutefico (ldquoIniciordquo ldquoFinrdquo ldquoSirdquo ldquoEntoncesrdquo ldquoSi nordquo ldquoFin sirdquo ldquoMientrasrdquo ldquoFin Mientrasrdquo ldquoSeguirrdquo ldquoFin Seguirrdquo)Debe escribirse indentado (tabulando) para mostrar claramente las dependencias de unas instrucciones del programa con respecto a otrasCada una de las estructuras que definen un programa tendraacute un punto de comienzo y uno de fin especificados por las palabras reservadas que definen la estructura

VENTAJAS

Se leen de arriba abajoPermite el uso de teacutecnicas decentesFavorece la participacioacuten del programa en moacutedulos pequentildeosResaltan mas las partes generales No permite la violacioacuten de las condiciones estructuradasEl aacutembito de cada bloque o estructura esta perfectamente definido

INCONVENIENTES

No se reconstruyen faacutecilmente si cambia la loacutegica del programaNo permite representar la conexioacuten de varios moacutedulos entre si

METODOLOGIgraveA DE LA PROGRAMACIOgraveN

Se entiende como metodologiacutea de la programacioacuten al conjunto de normas meacutetodos y anotaciones que nos indican la forma de programar

ESTRUCTURA GENERAL DE UN PROGRAMA

Todo programa contiene dos bloques bien diferenciados para la descripcioacuten de los datos

PARTES PRINCIPALES DE UN PROGRAMA

BLOQUES DE DECLARACIONES En el se especifican todos los objetos que utiliza el programa (constantes variables tablas de registro archivos etc) indicando siempre sus caracteriacutesticas

BLOQUE DE INSTRUCCIONES Estaacute constituido por el conjunto de operaciones que se han de realizar para la obtencioacuten de los resultados deseados

SALIDA DE RESULTADOS

Es el conjunto de instrucciones que toman los datos finales (resultados) y los enviacutean a los dispositivos externos (memoria datos central de salida)

PROCESO DE DATOS O ALGORITMODatos de entrada proceso resultados

ENTRADA DE DATOS

La constituye n todas las instrucciones que toman los datos de entrada y los almacenan en la memoria central para que puedan ser

procesadosCLASIFICACION DE LAS INSTRUCCIONES

INTRUCCIONES D DECLARACION Su misioacuten es anunciar la utilizacioacuten de objetos en un programa indicado que identificador tipo y otras caracteriacutesticas corresponden a cada uno de ellosINSTRUCCIONES PRIMITIVAS Son aquellas que ejecutan el proceso de modo inmediato Las instrucciones primitivas pueden ser de entrada de asignacioacuten o de salida se dividen en entradas de asignacioacuten y de salida

INSTRUCCIONES DE CONTROL Son instrucciones que no realizan trabajo efectivo salvo la evaluacioacuten de expresiones generalmente loacutegicas con el objetivo de controlar la ejecucioacuten de otras instrucciones o alterar el orden de ejecucioacuten normal de las instrucciones de un programaINSTRUCCIONES COMPUESTAS Una instruccioacuten compuesta es aquella que representa a un conjunto de instrucciones que estaacuten definidas en otra parte en general son llamadas a sus programas (funciones subrutinas paacuterrafos etc)

COMENTARIOS Son frases que se incluyen de forma moderada en el disentildeo de un algoritmo (en la codificacioacuten suele ser maacutes recomendable su uso) con intencioacuten de aclarar el cometido o funcioacuten de un objeto o conjunto de instrucciones

VARIABLES AUXILIARES DE UN PROGRAMA

Son objetos que utiliza un programa y por la funcioacuten que realizan dentro del mismo toman un nombre especial Contadores acumuladores e interruptores

CONTADORES

Un contador es una variable destinada a almacenar un valor que se iraacute incrementando o decrementando en una cantidad constante Se suelen utilizar mucho en procesos repetitivos para contabilizar el nuacutemero de veces que se repite un conjunto de acciones o eventos es decir en los cuerpos de las instrucciones repetitivas

ACUMULADORESUn acumulador o totalizador es una variable cuya misioacuten es acumular cantidades sucesivas obtenidas al realizar la misma operacioacuten La diferencia de un contador es que el incremento o decremento es variable en lugar de constante como en el caso del contador Para utilizarlos hay que realizar sobre ellos dos operaciones baacutesicas Inicializacioacuten Todo acumulador necesita ser inicializado con el valor neutro de la operacioacuten que va a acumular que en el caso de la suma es 0 y del producto es 1

SUMA 0 PRODUCTO 1

Acumulacioacuten Cuando se hace presente en la memoria el elemento a acumular por la realizacioacuten de una lectura o un calculo se efectuacutea la acumulacioacuten del mismo por medio de la asignacioacuten

SUMA + elementoPRODUCTO elemento

INTERRUPTORES O CONMUTADORES

Un interruptor o conmutador es un campo de memoria (variable) que toman diversos valores a lo largo de la ejecucioacuten del programa Los valores que toma son normalmente 1 o siacute (encendidoabierto) y 0 o no (apagadocerrado) (de ahiacute su nombre de interruptor)a) Recordar en un determinado lugar del programa la ocurrencia o no de un suceso b) Realizar de forma alternativa independiente dos procesos alternativos

SUBPROGRAMA

Un subprograma se utiliza por el programa para un fin especiacutefico El subprograma recibe datos del programa y le devuelve resultados Se dice que el programa llama o invoca al subprograma El subprograma ejecuta una tarea a continuacioacuten retorna o devuelve el control al programa Esta accioacuten puede suceder en diferentes partes del programa Cada vez que el subprograma es llamado el control vuelve al lugar desde donde fue hecha la llamada

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 19: PROYECTO  METODOLOGIA DENYS.pptx

Una lista enlazada es un tipo de dato auto referenciado porque contienen un puntero o enlace (en ingleacutes link del mismo significado) a otro dato del mismo tipo Existen diferentes tipos de listas enlazadas Lista Enlazadas Simples Listas Doblemente Enlazadas Listas Enlazadas Circulares y Listas Enlazadas Doblemente Circulares

TIPOS DE DATOS ARBOLES

Es una estructura no lineal y dinaacutemica de datos Dinaacutemica puede cambiar durante la ejecucioacuten de un programaNo lineal a cada elemento del aacuterbol pueden seguirle varios elementos que estaacuten formados por un conjunto de nodos y un conjunto de aristas que conectan pares de nodos

TIPOS DE DATOS CONSTANTESUna constante es un dato cuyo valor no puede cambiar durante la ejecucioacuten del programaRecibe un valor en el momento de la compilacioacuten y este permanece inalterado durante todo el programa Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

TIPOS DE DATOS VARIABLESUna variable es un nombre asociado a un elemento de datos que estaacute situado en posiciones contiguas de la memoria principal y su valor puede cambiar durante la ejecucioacuten de un programa En la declaracioacuten de una variable se debe indicar el tipo al que pertenece Asiacute tendremos variables enteras reales booleanas etc Por otro lado distinguimos tres partes fundamentales en la vida de una variable Declaracioacuten Iniciacioacuten Utilizacioacuten

TIPOS DE EXPRECIONES

Una expresioacuten es una combinacioacuten de variables operadores y llamadas de meacutetodos construida de acuerdo a la sintaxis del lenguaje que devuelve un valor El tipo de dato del valor regresado por una expresioacuten depende de los elementos usados en la expresioacuten

OPERADORESLos operadores son siacutembolos especiales que por lo comuacuten se utilizan en expresiones

La tabla siguiente muestra los distintos tipos de operadores

Operador Significado Ejemplo

Operadores aritmeacuteticos

+ Suma a + b

- Resta a - b

Multiplicacioacuten a b

TABLA DE VERDAD DE LOS OPERADORES

LOgraveGICOSSon aquellas que evaluacutean maacutes de una condicioacuten en una sola expresioacuten para esto hacen uso de los operadores loacutegicos

ORDEN DE EVALUCION DE LOS OPERADORES

Cuando en una expresioacuten aparece maacutes de un operador es necesario definir un orden de evaluacioacuten para los operadores Este orden viene dado por las siguientes reglas

1- Todas las sub expresiones entre pareacutentesis se evaluacutean primero En los pareacutentesis anidados se evaluacutea primero el maacutes interior2- En una misma expresioacuten los operadores se evaluacutean seguacuten su orden de prioridad (los operadores en la misma liacutenea de la siguiente tabla tienen el mismo nivel de procedencia)

ALGORITMOS

Se define como el conjunto ordenado de pasos a seguir para resolver un problema concreto sin ambiguumledad alguna en un tiempo finito

CARACTERISTICAS

SER FINITO Tiene que acabar siempre tras un nuacutemero finito de pasosREPETITIVO Debe repetirse todas las veces que sea necesario dando siempre ideacutenticos resultados para las mismas condicionesVALIDO que haga lo que se pretende que haga y devuelva los resultados esperadosDEFINIBLE Cada paso debe quedar definido de un modo preciso y sin ambiguumledadesPRECISION Debe ser concreto utilizando solo el numero de pasos para llegar a una solucioacuten claraRECIBE DATOS DE ENTRADA Es normal que reciba datos desde el exterior que luego utiliza y trataPROPORCIONA RESULTADOS DE SALIDA Produce uno o varios resultados en su ejecucioacuten que enviacutea al exterior como valor de salidaSER EFECTIVO Que resuelva el problema de forma raacutepida y eficiente

GRAacuteFICA (DIAGRAMAS DE FLUJO)

Son esquemas para representar y expresar algoritmos Estos diagramas utilizan siacutembolos con significados definidos que representan los pasos del algoritmo y representan el flujo de ejecucioacuten mediante flechas que conectan los puntos de inicio y de fin de proceso

ESTRUCTURA SECUENCIALINICIO

OPERACIOacuteN DE ENTRADASALIDA

FINEST

RUCTURA

CONDICIONAL

DIRECCION

REGLAS GENERALESEstablecer el alcance del proceso de esta manera quedaraacute fijado el comienzo y el final del diagramaIdentificar y listar las principales actividadessubprocesos que estaacuten incluidos en el proceso y su orden cronoloacutegicoIdentificar y listar los puntos de decisioacutenConstruir el diagrama respetando la secuencia cronoloacutegica y asignando los correspondientes siacutembolosAsignar un tiacutetulo al diagrama y verificar que esteacute completo y describa con exactitud el proceso elegido

VENTAJASFavorecen la comprensioacuten del proceso al mostrarlo como un dibujo

Permiten identificar los problemas y las oportunidades de mejora del procesoMuestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan facilitando el anaacutelisis de las mismasSon una excelente herramienta para capacitar a los nuevos empleados y tambieacuten a los que desarrollan la tarea cuando se realizan mejoras en el procesoCon fines de anaacutelisis de algoritmo de programacioacuten puede ser ejecutado en un ordenador y con un IDE como Free DFD

DIAGRAMAS CHAPIN O DIAGRAMAS NASSI-SCHNEIDERMAN (N-S)

Es una descripcioacuten de algoritmos basados en la utilizacioacuten de siacutembolos graacuteficos estos se constituyen utilizan como siacutembolo baacutesico el rectaacutengulo dentro del cual aparecen sentencias en lenguaje algoriacutetmico que ayuda a describir las acciones que se realizan

TEXTUAL (SEUDOCOacuteDIGO)

Es un conjunto pequentildeo y completo de sentencias mediante las cuales podemos expresar todas las acciones a llevar a cabo para realizar una tarea mediante un ordenador sus elementos son palabras y secuencias

Ejemplo VARIABLES Precio precio final entero Porcentaje descuento real INICIO escribe(`precio `) lee(precio) escribe(`Porcentaje `) lee(porcentaje) FIN

REGLAS GENERALES

Comienza con la palabra ldquoiniciordquo y termina con la palabra ldquofinrdquo Cada instruccioacuten se debe escribir en una liacutenea Para su descripcioacuten se utilizan palabras reservadas que tienen un significado especiacutefico (ldquoIniciordquo ldquoFinrdquo ldquoSirdquo ldquoEntoncesrdquo ldquoSi nordquo ldquoFin sirdquo ldquoMientrasrdquo ldquoFin Mientrasrdquo ldquoSeguirrdquo ldquoFin Seguirrdquo)Debe escribirse indentado (tabulando) para mostrar claramente las dependencias de unas instrucciones del programa con respecto a otrasCada una de las estructuras que definen un programa tendraacute un punto de comienzo y uno de fin especificados por las palabras reservadas que definen la estructura

VENTAJAS

Se leen de arriba abajoPermite el uso de teacutecnicas decentesFavorece la participacioacuten del programa en moacutedulos pequentildeosResaltan mas las partes generales No permite la violacioacuten de las condiciones estructuradasEl aacutembito de cada bloque o estructura esta perfectamente definido

INCONVENIENTES

No se reconstruyen faacutecilmente si cambia la loacutegica del programaNo permite representar la conexioacuten de varios moacutedulos entre si

METODOLOGIgraveA DE LA PROGRAMACIOgraveN

Se entiende como metodologiacutea de la programacioacuten al conjunto de normas meacutetodos y anotaciones que nos indican la forma de programar

ESTRUCTURA GENERAL DE UN PROGRAMA

Todo programa contiene dos bloques bien diferenciados para la descripcioacuten de los datos

PARTES PRINCIPALES DE UN PROGRAMA

BLOQUES DE DECLARACIONES En el se especifican todos los objetos que utiliza el programa (constantes variables tablas de registro archivos etc) indicando siempre sus caracteriacutesticas

BLOQUE DE INSTRUCCIONES Estaacute constituido por el conjunto de operaciones que se han de realizar para la obtencioacuten de los resultados deseados

SALIDA DE RESULTADOS

Es el conjunto de instrucciones que toman los datos finales (resultados) y los enviacutean a los dispositivos externos (memoria datos central de salida)

PROCESO DE DATOS O ALGORITMODatos de entrada proceso resultados

ENTRADA DE DATOS

La constituye n todas las instrucciones que toman los datos de entrada y los almacenan en la memoria central para que puedan ser

procesadosCLASIFICACION DE LAS INSTRUCCIONES

INTRUCCIONES D DECLARACION Su misioacuten es anunciar la utilizacioacuten de objetos en un programa indicado que identificador tipo y otras caracteriacutesticas corresponden a cada uno de ellosINSTRUCCIONES PRIMITIVAS Son aquellas que ejecutan el proceso de modo inmediato Las instrucciones primitivas pueden ser de entrada de asignacioacuten o de salida se dividen en entradas de asignacioacuten y de salida

INSTRUCCIONES DE CONTROL Son instrucciones que no realizan trabajo efectivo salvo la evaluacioacuten de expresiones generalmente loacutegicas con el objetivo de controlar la ejecucioacuten de otras instrucciones o alterar el orden de ejecucioacuten normal de las instrucciones de un programaINSTRUCCIONES COMPUESTAS Una instruccioacuten compuesta es aquella que representa a un conjunto de instrucciones que estaacuten definidas en otra parte en general son llamadas a sus programas (funciones subrutinas paacuterrafos etc)

COMENTARIOS Son frases que se incluyen de forma moderada en el disentildeo de un algoritmo (en la codificacioacuten suele ser maacutes recomendable su uso) con intencioacuten de aclarar el cometido o funcioacuten de un objeto o conjunto de instrucciones

VARIABLES AUXILIARES DE UN PROGRAMA

Son objetos que utiliza un programa y por la funcioacuten que realizan dentro del mismo toman un nombre especial Contadores acumuladores e interruptores

CONTADORES

Un contador es una variable destinada a almacenar un valor que se iraacute incrementando o decrementando en una cantidad constante Se suelen utilizar mucho en procesos repetitivos para contabilizar el nuacutemero de veces que se repite un conjunto de acciones o eventos es decir en los cuerpos de las instrucciones repetitivas

ACUMULADORESUn acumulador o totalizador es una variable cuya misioacuten es acumular cantidades sucesivas obtenidas al realizar la misma operacioacuten La diferencia de un contador es que el incremento o decremento es variable en lugar de constante como en el caso del contador Para utilizarlos hay que realizar sobre ellos dos operaciones baacutesicas Inicializacioacuten Todo acumulador necesita ser inicializado con el valor neutro de la operacioacuten que va a acumular que en el caso de la suma es 0 y del producto es 1

SUMA 0 PRODUCTO 1

Acumulacioacuten Cuando se hace presente en la memoria el elemento a acumular por la realizacioacuten de una lectura o un calculo se efectuacutea la acumulacioacuten del mismo por medio de la asignacioacuten

SUMA + elementoPRODUCTO elemento

INTERRUPTORES O CONMUTADORES

Un interruptor o conmutador es un campo de memoria (variable) que toman diversos valores a lo largo de la ejecucioacuten del programa Los valores que toma son normalmente 1 o siacute (encendidoabierto) y 0 o no (apagadocerrado) (de ahiacute su nombre de interruptor)a) Recordar en un determinado lugar del programa la ocurrencia o no de un suceso b) Realizar de forma alternativa independiente dos procesos alternativos

SUBPROGRAMA

Un subprograma se utiliza por el programa para un fin especiacutefico El subprograma recibe datos del programa y le devuelve resultados Se dice que el programa llama o invoca al subprograma El subprograma ejecuta una tarea a continuacioacuten retorna o devuelve el control al programa Esta accioacuten puede suceder en diferentes partes del programa Cada vez que el subprograma es llamado el control vuelve al lugar desde donde fue hecha la llamada

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 20: PROYECTO  METODOLOGIA DENYS.pptx

Las constantes se declaran en una seccioacuten que comienza con la palabra reservada const Despueacutes de declarar una constante ya se puede usar en el cuerpo principal del programa

TIPOS DE DATOS VARIABLESUna variable es un nombre asociado a un elemento de datos que estaacute situado en posiciones contiguas de la memoria principal y su valor puede cambiar durante la ejecucioacuten de un programa En la declaracioacuten de una variable se debe indicar el tipo al que pertenece Asiacute tendremos variables enteras reales booleanas etc Por otro lado distinguimos tres partes fundamentales en la vida de una variable Declaracioacuten Iniciacioacuten Utilizacioacuten

TIPOS DE EXPRECIONES

Una expresioacuten es una combinacioacuten de variables operadores y llamadas de meacutetodos construida de acuerdo a la sintaxis del lenguaje que devuelve un valor El tipo de dato del valor regresado por una expresioacuten depende de los elementos usados en la expresioacuten

OPERADORESLos operadores son siacutembolos especiales que por lo comuacuten se utilizan en expresiones

La tabla siguiente muestra los distintos tipos de operadores

Operador Significado Ejemplo

Operadores aritmeacuteticos

+ Suma a + b

- Resta a - b

Multiplicacioacuten a b

TABLA DE VERDAD DE LOS OPERADORES

LOgraveGICOSSon aquellas que evaluacutean maacutes de una condicioacuten en una sola expresioacuten para esto hacen uso de los operadores loacutegicos

ORDEN DE EVALUCION DE LOS OPERADORES

Cuando en una expresioacuten aparece maacutes de un operador es necesario definir un orden de evaluacioacuten para los operadores Este orden viene dado por las siguientes reglas

1- Todas las sub expresiones entre pareacutentesis se evaluacutean primero En los pareacutentesis anidados se evaluacutea primero el maacutes interior2- En una misma expresioacuten los operadores se evaluacutean seguacuten su orden de prioridad (los operadores en la misma liacutenea de la siguiente tabla tienen el mismo nivel de procedencia)

ALGORITMOS

Se define como el conjunto ordenado de pasos a seguir para resolver un problema concreto sin ambiguumledad alguna en un tiempo finito

CARACTERISTICAS

SER FINITO Tiene que acabar siempre tras un nuacutemero finito de pasosREPETITIVO Debe repetirse todas las veces que sea necesario dando siempre ideacutenticos resultados para las mismas condicionesVALIDO que haga lo que se pretende que haga y devuelva los resultados esperadosDEFINIBLE Cada paso debe quedar definido de un modo preciso y sin ambiguumledadesPRECISION Debe ser concreto utilizando solo el numero de pasos para llegar a una solucioacuten claraRECIBE DATOS DE ENTRADA Es normal que reciba datos desde el exterior que luego utiliza y trataPROPORCIONA RESULTADOS DE SALIDA Produce uno o varios resultados en su ejecucioacuten que enviacutea al exterior como valor de salidaSER EFECTIVO Que resuelva el problema de forma raacutepida y eficiente

GRAacuteFICA (DIAGRAMAS DE FLUJO)

Son esquemas para representar y expresar algoritmos Estos diagramas utilizan siacutembolos con significados definidos que representan los pasos del algoritmo y representan el flujo de ejecucioacuten mediante flechas que conectan los puntos de inicio y de fin de proceso

ESTRUCTURA SECUENCIALINICIO

OPERACIOacuteN DE ENTRADASALIDA

FINEST

RUCTURA

CONDICIONAL

DIRECCION

REGLAS GENERALESEstablecer el alcance del proceso de esta manera quedaraacute fijado el comienzo y el final del diagramaIdentificar y listar las principales actividadessubprocesos que estaacuten incluidos en el proceso y su orden cronoloacutegicoIdentificar y listar los puntos de decisioacutenConstruir el diagrama respetando la secuencia cronoloacutegica y asignando los correspondientes siacutembolosAsignar un tiacutetulo al diagrama y verificar que esteacute completo y describa con exactitud el proceso elegido

VENTAJASFavorecen la comprensioacuten del proceso al mostrarlo como un dibujo

Permiten identificar los problemas y las oportunidades de mejora del procesoMuestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan facilitando el anaacutelisis de las mismasSon una excelente herramienta para capacitar a los nuevos empleados y tambieacuten a los que desarrollan la tarea cuando se realizan mejoras en el procesoCon fines de anaacutelisis de algoritmo de programacioacuten puede ser ejecutado en un ordenador y con un IDE como Free DFD

DIAGRAMAS CHAPIN O DIAGRAMAS NASSI-SCHNEIDERMAN (N-S)

Es una descripcioacuten de algoritmos basados en la utilizacioacuten de siacutembolos graacuteficos estos se constituyen utilizan como siacutembolo baacutesico el rectaacutengulo dentro del cual aparecen sentencias en lenguaje algoriacutetmico que ayuda a describir las acciones que se realizan

TEXTUAL (SEUDOCOacuteDIGO)

Es un conjunto pequentildeo y completo de sentencias mediante las cuales podemos expresar todas las acciones a llevar a cabo para realizar una tarea mediante un ordenador sus elementos son palabras y secuencias

Ejemplo VARIABLES Precio precio final entero Porcentaje descuento real INICIO escribe(`precio `) lee(precio) escribe(`Porcentaje `) lee(porcentaje) FIN

REGLAS GENERALES

Comienza con la palabra ldquoiniciordquo y termina con la palabra ldquofinrdquo Cada instruccioacuten se debe escribir en una liacutenea Para su descripcioacuten se utilizan palabras reservadas que tienen un significado especiacutefico (ldquoIniciordquo ldquoFinrdquo ldquoSirdquo ldquoEntoncesrdquo ldquoSi nordquo ldquoFin sirdquo ldquoMientrasrdquo ldquoFin Mientrasrdquo ldquoSeguirrdquo ldquoFin Seguirrdquo)Debe escribirse indentado (tabulando) para mostrar claramente las dependencias de unas instrucciones del programa con respecto a otrasCada una de las estructuras que definen un programa tendraacute un punto de comienzo y uno de fin especificados por las palabras reservadas que definen la estructura

VENTAJAS

Se leen de arriba abajoPermite el uso de teacutecnicas decentesFavorece la participacioacuten del programa en moacutedulos pequentildeosResaltan mas las partes generales No permite la violacioacuten de las condiciones estructuradasEl aacutembito de cada bloque o estructura esta perfectamente definido

INCONVENIENTES

No se reconstruyen faacutecilmente si cambia la loacutegica del programaNo permite representar la conexioacuten de varios moacutedulos entre si

METODOLOGIgraveA DE LA PROGRAMACIOgraveN

Se entiende como metodologiacutea de la programacioacuten al conjunto de normas meacutetodos y anotaciones que nos indican la forma de programar

ESTRUCTURA GENERAL DE UN PROGRAMA

Todo programa contiene dos bloques bien diferenciados para la descripcioacuten de los datos

PARTES PRINCIPALES DE UN PROGRAMA

BLOQUES DE DECLARACIONES En el se especifican todos los objetos que utiliza el programa (constantes variables tablas de registro archivos etc) indicando siempre sus caracteriacutesticas

BLOQUE DE INSTRUCCIONES Estaacute constituido por el conjunto de operaciones que se han de realizar para la obtencioacuten de los resultados deseados

SALIDA DE RESULTADOS

Es el conjunto de instrucciones que toman los datos finales (resultados) y los enviacutean a los dispositivos externos (memoria datos central de salida)

PROCESO DE DATOS O ALGORITMODatos de entrada proceso resultados

ENTRADA DE DATOS

La constituye n todas las instrucciones que toman los datos de entrada y los almacenan en la memoria central para que puedan ser

procesadosCLASIFICACION DE LAS INSTRUCCIONES

INTRUCCIONES D DECLARACION Su misioacuten es anunciar la utilizacioacuten de objetos en un programa indicado que identificador tipo y otras caracteriacutesticas corresponden a cada uno de ellosINSTRUCCIONES PRIMITIVAS Son aquellas que ejecutan el proceso de modo inmediato Las instrucciones primitivas pueden ser de entrada de asignacioacuten o de salida se dividen en entradas de asignacioacuten y de salida

INSTRUCCIONES DE CONTROL Son instrucciones que no realizan trabajo efectivo salvo la evaluacioacuten de expresiones generalmente loacutegicas con el objetivo de controlar la ejecucioacuten de otras instrucciones o alterar el orden de ejecucioacuten normal de las instrucciones de un programaINSTRUCCIONES COMPUESTAS Una instruccioacuten compuesta es aquella que representa a un conjunto de instrucciones que estaacuten definidas en otra parte en general son llamadas a sus programas (funciones subrutinas paacuterrafos etc)

COMENTARIOS Son frases que se incluyen de forma moderada en el disentildeo de un algoritmo (en la codificacioacuten suele ser maacutes recomendable su uso) con intencioacuten de aclarar el cometido o funcioacuten de un objeto o conjunto de instrucciones

VARIABLES AUXILIARES DE UN PROGRAMA

Son objetos que utiliza un programa y por la funcioacuten que realizan dentro del mismo toman un nombre especial Contadores acumuladores e interruptores

CONTADORES

Un contador es una variable destinada a almacenar un valor que se iraacute incrementando o decrementando en una cantidad constante Se suelen utilizar mucho en procesos repetitivos para contabilizar el nuacutemero de veces que se repite un conjunto de acciones o eventos es decir en los cuerpos de las instrucciones repetitivas

ACUMULADORESUn acumulador o totalizador es una variable cuya misioacuten es acumular cantidades sucesivas obtenidas al realizar la misma operacioacuten La diferencia de un contador es que el incremento o decremento es variable en lugar de constante como en el caso del contador Para utilizarlos hay que realizar sobre ellos dos operaciones baacutesicas Inicializacioacuten Todo acumulador necesita ser inicializado con el valor neutro de la operacioacuten que va a acumular que en el caso de la suma es 0 y del producto es 1

SUMA 0 PRODUCTO 1

Acumulacioacuten Cuando se hace presente en la memoria el elemento a acumular por la realizacioacuten de una lectura o un calculo se efectuacutea la acumulacioacuten del mismo por medio de la asignacioacuten

SUMA + elementoPRODUCTO elemento

INTERRUPTORES O CONMUTADORES

Un interruptor o conmutador es un campo de memoria (variable) que toman diversos valores a lo largo de la ejecucioacuten del programa Los valores que toma son normalmente 1 o siacute (encendidoabierto) y 0 o no (apagadocerrado) (de ahiacute su nombre de interruptor)a) Recordar en un determinado lugar del programa la ocurrencia o no de un suceso b) Realizar de forma alternativa independiente dos procesos alternativos

SUBPROGRAMA

Un subprograma se utiliza por el programa para un fin especiacutefico El subprograma recibe datos del programa y le devuelve resultados Se dice que el programa llama o invoca al subprograma El subprograma ejecuta una tarea a continuacioacuten retorna o devuelve el control al programa Esta accioacuten puede suceder en diferentes partes del programa Cada vez que el subprograma es llamado el control vuelve al lugar desde donde fue hecha la llamada

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 21: PROYECTO  METODOLOGIA DENYS.pptx

OPERADORESLos operadores son siacutembolos especiales que por lo comuacuten se utilizan en expresiones

La tabla siguiente muestra los distintos tipos de operadores

Operador Significado Ejemplo

Operadores aritmeacuteticos

+ Suma a + b

- Resta a - b

Multiplicacioacuten a b

TABLA DE VERDAD DE LOS OPERADORES

LOgraveGICOSSon aquellas que evaluacutean maacutes de una condicioacuten en una sola expresioacuten para esto hacen uso de los operadores loacutegicos

ORDEN DE EVALUCION DE LOS OPERADORES

Cuando en una expresioacuten aparece maacutes de un operador es necesario definir un orden de evaluacioacuten para los operadores Este orden viene dado por las siguientes reglas

1- Todas las sub expresiones entre pareacutentesis se evaluacutean primero En los pareacutentesis anidados se evaluacutea primero el maacutes interior2- En una misma expresioacuten los operadores se evaluacutean seguacuten su orden de prioridad (los operadores en la misma liacutenea de la siguiente tabla tienen el mismo nivel de procedencia)

ALGORITMOS

Se define como el conjunto ordenado de pasos a seguir para resolver un problema concreto sin ambiguumledad alguna en un tiempo finito

CARACTERISTICAS

SER FINITO Tiene que acabar siempre tras un nuacutemero finito de pasosREPETITIVO Debe repetirse todas las veces que sea necesario dando siempre ideacutenticos resultados para las mismas condicionesVALIDO que haga lo que se pretende que haga y devuelva los resultados esperadosDEFINIBLE Cada paso debe quedar definido de un modo preciso y sin ambiguumledadesPRECISION Debe ser concreto utilizando solo el numero de pasos para llegar a una solucioacuten claraRECIBE DATOS DE ENTRADA Es normal que reciba datos desde el exterior que luego utiliza y trataPROPORCIONA RESULTADOS DE SALIDA Produce uno o varios resultados en su ejecucioacuten que enviacutea al exterior como valor de salidaSER EFECTIVO Que resuelva el problema de forma raacutepida y eficiente

GRAacuteFICA (DIAGRAMAS DE FLUJO)

Son esquemas para representar y expresar algoritmos Estos diagramas utilizan siacutembolos con significados definidos que representan los pasos del algoritmo y representan el flujo de ejecucioacuten mediante flechas que conectan los puntos de inicio y de fin de proceso

ESTRUCTURA SECUENCIALINICIO

OPERACIOacuteN DE ENTRADASALIDA

FINEST

RUCTURA

CONDICIONAL

DIRECCION

REGLAS GENERALESEstablecer el alcance del proceso de esta manera quedaraacute fijado el comienzo y el final del diagramaIdentificar y listar las principales actividadessubprocesos que estaacuten incluidos en el proceso y su orden cronoloacutegicoIdentificar y listar los puntos de decisioacutenConstruir el diagrama respetando la secuencia cronoloacutegica y asignando los correspondientes siacutembolosAsignar un tiacutetulo al diagrama y verificar que esteacute completo y describa con exactitud el proceso elegido

VENTAJASFavorecen la comprensioacuten del proceso al mostrarlo como un dibujo

Permiten identificar los problemas y las oportunidades de mejora del procesoMuestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan facilitando el anaacutelisis de las mismasSon una excelente herramienta para capacitar a los nuevos empleados y tambieacuten a los que desarrollan la tarea cuando se realizan mejoras en el procesoCon fines de anaacutelisis de algoritmo de programacioacuten puede ser ejecutado en un ordenador y con un IDE como Free DFD

DIAGRAMAS CHAPIN O DIAGRAMAS NASSI-SCHNEIDERMAN (N-S)

Es una descripcioacuten de algoritmos basados en la utilizacioacuten de siacutembolos graacuteficos estos se constituyen utilizan como siacutembolo baacutesico el rectaacutengulo dentro del cual aparecen sentencias en lenguaje algoriacutetmico que ayuda a describir las acciones que se realizan

TEXTUAL (SEUDOCOacuteDIGO)

Es un conjunto pequentildeo y completo de sentencias mediante las cuales podemos expresar todas las acciones a llevar a cabo para realizar una tarea mediante un ordenador sus elementos son palabras y secuencias

Ejemplo VARIABLES Precio precio final entero Porcentaje descuento real INICIO escribe(`precio `) lee(precio) escribe(`Porcentaje `) lee(porcentaje) FIN

REGLAS GENERALES

Comienza con la palabra ldquoiniciordquo y termina con la palabra ldquofinrdquo Cada instruccioacuten se debe escribir en una liacutenea Para su descripcioacuten se utilizan palabras reservadas que tienen un significado especiacutefico (ldquoIniciordquo ldquoFinrdquo ldquoSirdquo ldquoEntoncesrdquo ldquoSi nordquo ldquoFin sirdquo ldquoMientrasrdquo ldquoFin Mientrasrdquo ldquoSeguirrdquo ldquoFin Seguirrdquo)Debe escribirse indentado (tabulando) para mostrar claramente las dependencias de unas instrucciones del programa con respecto a otrasCada una de las estructuras que definen un programa tendraacute un punto de comienzo y uno de fin especificados por las palabras reservadas que definen la estructura

VENTAJAS

Se leen de arriba abajoPermite el uso de teacutecnicas decentesFavorece la participacioacuten del programa en moacutedulos pequentildeosResaltan mas las partes generales No permite la violacioacuten de las condiciones estructuradasEl aacutembito de cada bloque o estructura esta perfectamente definido

INCONVENIENTES

No se reconstruyen faacutecilmente si cambia la loacutegica del programaNo permite representar la conexioacuten de varios moacutedulos entre si

METODOLOGIgraveA DE LA PROGRAMACIOgraveN

Se entiende como metodologiacutea de la programacioacuten al conjunto de normas meacutetodos y anotaciones que nos indican la forma de programar

ESTRUCTURA GENERAL DE UN PROGRAMA

Todo programa contiene dos bloques bien diferenciados para la descripcioacuten de los datos

PARTES PRINCIPALES DE UN PROGRAMA

BLOQUES DE DECLARACIONES En el se especifican todos los objetos que utiliza el programa (constantes variables tablas de registro archivos etc) indicando siempre sus caracteriacutesticas

BLOQUE DE INSTRUCCIONES Estaacute constituido por el conjunto de operaciones que se han de realizar para la obtencioacuten de los resultados deseados

SALIDA DE RESULTADOS

Es el conjunto de instrucciones que toman los datos finales (resultados) y los enviacutean a los dispositivos externos (memoria datos central de salida)

PROCESO DE DATOS O ALGORITMODatos de entrada proceso resultados

ENTRADA DE DATOS

La constituye n todas las instrucciones que toman los datos de entrada y los almacenan en la memoria central para que puedan ser

procesadosCLASIFICACION DE LAS INSTRUCCIONES

INTRUCCIONES D DECLARACION Su misioacuten es anunciar la utilizacioacuten de objetos en un programa indicado que identificador tipo y otras caracteriacutesticas corresponden a cada uno de ellosINSTRUCCIONES PRIMITIVAS Son aquellas que ejecutan el proceso de modo inmediato Las instrucciones primitivas pueden ser de entrada de asignacioacuten o de salida se dividen en entradas de asignacioacuten y de salida

INSTRUCCIONES DE CONTROL Son instrucciones que no realizan trabajo efectivo salvo la evaluacioacuten de expresiones generalmente loacutegicas con el objetivo de controlar la ejecucioacuten de otras instrucciones o alterar el orden de ejecucioacuten normal de las instrucciones de un programaINSTRUCCIONES COMPUESTAS Una instruccioacuten compuesta es aquella que representa a un conjunto de instrucciones que estaacuten definidas en otra parte en general son llamadas a sus programas (funciones subrutinas paacuterrafos etc)

COMENTARIOS Son frases que se incluyen de forma moderada en el disentildeo de un algoritmo (en la codificacioacuten suele ser maacutes recomendable su uso) con intencioacuten de aclarar el cometido o funcioacuten de un objeto o conjunto de instrucciones

VARIABLES AUXILIARES DE UN PROGRAMA

Son objetos que utiliza un programa y por la funcioacuten que realizan dentro del mismo toman un nombre especial Contadores acumuladores e interruptores

CONTADORES

Un contador es una variable destinada a almacenar un valor que se iraacute incrementando o decrementando en una cantidad constante Se suelen utilizar mucho en procesos repetitivos para contabilizar el nuacutemero de veces que se repite un conjunto de acciones o eventos es decir en los cuerpos de las instrucciones repetitivas

ACUMULADORESUn acumulador o totalizador es una variable cuya misioacuten es acumular cantidades sucesivas obtenidas al realizar la misma operacioacuten La diferencia de un contador es que el incremento o decremento es variable en lugar de constante como en el caso del contador Para utilizarlos hay que realizar sobre ellos dos operaciones baacutesicas Inicializacioacuten Todo acumulador necesita ser inicializado con el valor neutro de la operacioacuten que va a acumular que en el caso de la suma es 0 y del producto es 1

SUMA 0 PRODUCTO 1

Acumulacioacuten Cuando se hace presente en la memoria el elemento a acumular por la realizacioacuten de una lectura o un calculo se efectuacutea la acumulacioacuten del mismo por medio de la asignacioacuten

SUMA + elementoPRODUCTO elemento

INTERRUPTORES O CONMUTADORES

Un interruptor o conmutador es un campo de memoria (variable) que toman diversos valores a lo largo de la ejecucioacuten del programa Los valores que toma son normalmente 1 o siacute (encendidoabierto) y 0 o no (apagadocerrado) (de ahiacute su nombre de interruptor)a) Recordar en un determinado lugar del programa la ocurrencia o no de un suceso b) Realizar de forma alternativa independiente dos procesos alternativos

SUBPROGRAMA

Un subprograma se utiliza por el programa para un fin especiacutefico El subprograma recibe datos del programa y le devuelve resultados Se dice que el programa llama o invoca al subprograma El subprograma ejecuta una tarea a continuacioacuten retorna o devuelve el control al programa Esta accioacuten puede suceder en diferentes partes del programa Cada vez que el subprograma es llamado el control vuelve al lugar desde donde fue hecha la llamada

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 22: PROYECTO  METODOLOGIA DENYS.pptx

TABLA DE VERDAD DE LOS OPERADORES

LOgraveGICOSSon aquellas que evaluacutean maacutes de una condicioacuten en una sola expresioacuten para esto hacen uso de los operadores loacutegicos

ORDEN DE EVALUCION DE LOS OPERADORES

Cuando en una expresioacuten aparece maacutes de un operador es necesario definir un orden de evaluacioacuten para los operadores Este orden viene dado por las siguientes reglas

1- Todas las sub expresiones entre pareacutentesis se evaluacutean primero En los pareacutentesis anidados se evaluacutea primero el maacutes interior2- En una misma expresioacuten los operadores se evaluacutean seguacuten su orden de prioridad (los operadores en la misma liacutenea de la siguiente tabla tienen el mismo nivel de procedencia)

ALGORITMOS

Se define como el conjunto ordenado de pasos a seguir para resolver un problema concreto sin ambiguumledad alguna en un tiempo finito

CARACTERISTICAS

SER FINITO Tiene que acabar siempre tras un nuacutemero finito de pasosREPETITIVO Debe repetirse todas las veces que sea necesario dando siempre ideacutenticos resultados para las mismas condicionesVALIDO que haga lo que se pretende que haga y devuelva los resultados esperadosDEFINIBLE Cada paso debe quedar definido de un modo preciso y sin ambiguumledadesPRECISION Debe ser concreto utilizando solo el numero de pasos para llegar a una solucioacuten claraRECIBE DATOS DE ENTRADA Es normal que reciba datos desde el exterior que luego utiliza y trataPROPORCIONA RESULTADOS DE SALIDA Produce uno o varios resultados en su ejecucioacuten que enviacutea al exterior como valor de salidaSER EFECTIVO Que resuelva el problema de forma raacutepida y eficiente

GRAacuteFICA (DIAGRAMAS DE FLUJO)

Son esquemas para representar y expresar algoritmos Estos diagramas utilizan siacutembolos con significados definidos que representan los pasos del algoritmo y representan el flujo de ejecucioacuten mediante flechas que conectan los puntos de inicio y de fin de proceso

ESTRUCTURA SECUENCIALINICIO

OPERACIOacuteN DE ENTRADASALIDA

FINEST

RUCTURA

CONDICIONAL

DIRECCION

REGLAS GENERALESEstablecer el alcance del proceso de esta manera quedaraacute fijado el comienzo y el final del diagramaIdentificar y listar las principales actividadessubprocesos que estaacuten incluidos en el proceso y su orden cronoloacutegicoIdentificar y listar los puntos de decisioacutenConstruir el diagrama respetando la secuencia cronoloacutegica y asignando los correspondientes siacutembolosAsignar un tiacutetulo al diagrama y verificar que esteacute completo y describa con exactitud el proceso elegido

VENTAJASFavorecen la comprensioacuten del proceso al mostrarlo como un dibujo

Permiten identificar los problemas y las oportunidades de mejora del procesoMuestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan facilitando el anaacutelisis de las mismasSon una excelente herramienta para capacitar a los nuevos empleados y tambieacuten a los que desarrollan la tarea cuando se realizan mejoras en el procesoCon fines de anaacutelisis de algoritmo de programacioacuten puede ser ejecutado en un ordenador y con un IDE como Free DFD

DIAGRAMAS CHAPIN O DIAGRAMAS NASSI-SCHNEIDERMAN (N-S)

Es una descripcioacuten de algoritmos basados en la utilizacioacuten de siacutembolos graacuteficos estos se constituyen utilizan como siacutembolo baacutesico el rectaacutengulo dentro del cual aparecen sentencias en lenguaje algoriacutetmico que ayuda a describir las acciones que se realizan

TEXTUAL (SEUDOCOacuteDIGO)

Es un conjunto pequentildeo y completo de sentencias mediante las cuales podemos expresar todas las acciones a llevar a cabo para realizar una tarea mediante un ordenador sus elementos son palabras y secuencias

Ejemplo VARIABLES Precio precio final entero Porcentaje descuento real INICIO escribe(`precio `) lee(precio) escribe(`Porcentaje `) lee(porcentaje) FIN

REGLAS GENERALES

Comienza con la palabra ldquoiniciordquo y termina con la palabra ldquofinrdquo Cada instruccioacuten se debe escribir en una liacutenea Para su descripcioacuten se utilizan palabras reservadas que tienen un significado especiacutefico (ldquoIniciordquo ldquoFinrdquo ldquoSirdquo ldquoEntoncesrdquo ldquoSi nordquo ldquoFin sirdquo ldquoMientrasrdquo ldquoFin Mientrasrdquo ldquoSeguirrdquo ldquoFin Seguirrdquo)Debe escribirse indentado (tabulando) para mostrar claramente las dependencias de unas instrucciones del programa con respecto a otrasCada una de las estructuras que definen un programa tendraacute un punto de comienzo y uno de fin especificados por las palabras reservadas que definen la estructura

VENTAJAS

Se leen de arriba abajoPermite el uso de teacutecnicas decentesFavorece la participacioacuten del programa en moacutedulos pequentildeosResaltan mas las partes generales No permite la violacioacuten de las condiciones estructuradasEl aacutembito de cada bloque o estructura esta perfectamente definido

INCONVENIENTES

No se reconstruyen faacutecilmente si cambia la loacutegica del programaNo permite representar la conexioacuten de varios moacutedulos entre si

METODOLOGIgraveA DE LA PROGRAMACIOgraveN

Se entiende como metodologiacutea de la programacioacuten al conjunto de normas meacutetodos y anotaciones que nos indican la forma de programar

ESTRUCTURA GENERAL DE UN PROGRAMA

Todo programa contiene dos bloques bien diferenciados para la descripcioacuten de los datos

PARTES PRINCIPALES DE UN PROGRAMA

BLOQUES DE DECLARACIONES En el se especifican todos los objetos que utiliza el programa (constantes variables tablas de registro archivos etc) indicando siempre sus caracteriacutesticas

BLOQUE DE INSTRUCCIONES Estaacute constituido por el conjunto de operaciones que se han de realizar para la obtencioacuten de los resultados deseados

SALIDA DE RESULTADOS

Es el conjunto de instrucciones que toman los datos finales (resultados) y los enviacutean a los dispositivos externos (memoria datos central de salida)

PROCESO DE DATOS O ALGORITMODatos de entrada proceso resultados

ENTRADA DE DATOS

La constituye n todas las instrucciones que toman los datos de entrada y los almacenan en la memoria central para que puedan ser

procesadosCLASIFICACION DE LAS INSTRUCCIONES

INTRUCCIONES D DECLARACION Su misioacuten es anunciar la utilizacioacuten de objetos en un programa indicado que identificador tipo y otras caracteriacutesticas corresponden a cada uno de ellosINSTRUCCIONES PRIMITIVAS Son aquellas que ejecutan el proceso de modo inmediato Las instrucciones primitivas pueden ser de entrada de asignacioacuten o de salida se dividen en entradas de asignacioacuten y de salida

INSTRUCCIONES DE CONTROL Son instrucciones que no realizan trabajo efectivo salvo la evaluacioacuten de expresiones generalmente loacutegicas con el objetivo de controlar la ejecucioacuten de otras instrucciones o alterar el orden de ejecucioacuten normal de las instrucciones de un programaINSTRUCCIONES COMPUESTAS Una instruccioacuten compuesta es aquella que representa a un conjunto de instrucciones que estaacuten definidas en otra parte en general son llamadas a sus programas (funciones subrutinas paacuterrafos etc)

COMENTARIOS Son frases que se incluyen de forma moderada en el disentildeo de un algoritmo (en la codificacioacuten suele ser maacutes recomendable su uso) con intencioacuten de aclarar el cometido o funcioacuten de un objeto o conjunto de instrucciones

VARIABLES AUXILIARES DE UN PROGRAMA

Son objetos que utiliza un programa y por la funcioacuten que realizan dentro del mismo toman un nombre especial Contadores acumuladores e interruptores

CONTADORES

Un contador es una variable destinada a almacenar un valor que se iraacute incrementando o decrementando en una cantidad constante Se suelen utilizar mucho en procesos repetitivos para contabilizar el nuacutemero de veces que se repite un conjunto de acciones o eventos es decir en los cuerpos de las instrucciones repetitivas

ACUMULADORESUn acumulador o totalizador es una variable cuya misioacuten es acumular cantidades sucesivas obtenidas al realizar la misma operacioacuten La diferencia de un contador es que el incremento o decremento es variable en lugar de constante como en el caso del contador Para utilizarlos hay que realizar sobre ellos dos operaciones baacutesicas Inicializacioacuten Todo acumulador necesita ser inicializado con el valor neutro de la operacioacuten que va a acumular que en el caso de la suma es 0 y del producto es 1

SUMA 0 PRODUCTO 1

Acumulacioacuten Cuando se hace presente en la memoria el elemento a acumular por la realizacioacuten de una lectura o un calculo se efectuacutea la acumulacioacuten del mismo por medio de la asignacioacuten

SUMA + elementoPRODUCTO elemento

INTERRUPTORES O CONMUTADORES

Un interruptor o conmutador es un campo de memoria (variable) que toman diversos valores a lo largo de la ejecucioacuten del programa Los valores que toma son normalmente 1 o siacute (encendidoabierto) y 0 o no (apagadocerrado) (de ahiacute su nombre de interruptor)a) Recordar en un determinado lugar del programa la ocurrencia o no de un suceso b) Realizar de forma alternativa independiente dos procesos alternativos

SUBPROGRAMA

Un subprograma se utiliza por el programa para un fin especiacutefico El subprograma recibe datos del programa y le devuelve resultados Se dice que el programa llama o invoca al subprograma El subprograma ejecuta una tarea a continuacioacuten retorna o devuelve el control al programa Esta accioacuten puede suceder en diferentes partes del programa Cada vez que el subprograma es llamado el control vuelve al lugar desde donde fue hecha la llamada

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 23: PROYECTO  METODOLOGIA DENYS.pptx

ORDEN DE EVALUCION DE LOS OPERADORES

Cuando en una expresioacuten aparece maacutes de un operador es necesario definir un orden de evaluacioacuten para los operadores Este orden viene dado por las siguientes reglas

1- Todas las sub expresiones entre pareacutentesis se evaluacutean primero En los pareacutentesis anidados se evaluacutea primero el maacutes interior2- En una misma expresioacuten los operadores se evaluacutean seguacuten su orden de prioridad (los operadores en la misma liacutenea de la siguiente tabla tienen el mismo nivel de procedencia)

ALGORITMOS

Se define como el conjunto ordenado de pasos a seguir para resolver un problema concreto sin ambiguumledad alguna en un tiempo finito

CARACTERISTICAS

SER FINITO Tiene que acabar siempre tras un nuacutemero finito de pasosREPETITIVO Debe repetirse todas las veces que sea necesario dando siempre ideacutenticos resultados para las mismas condicionesVALIDO que haga lo que se pretende que haga y devuelva los resultados esperadosDEFINIBLE Cada paso debe quedar definido de un modo preciso y sin ambiguumledadesPRECISION Debe ser concreto utilizando solo el numero de pasos para llegar a una solucioacuten claraRECIBE DATOS DE ENTRADA Es normal que reciba datos desde el exterior que luego utiliza y trataPROPORCIONA RESULTADOS DE SALIDA Produce uno o varios resultados en su ejecucioacuten que enviacutea al exterior como valor de salidaSER EFECTIVO Que resuelva el problema de forma raacutepida y eficiente

GRAacuteFICA (DIAGRAMAS DE FLUJO)

Son esquemas para representar y expresar algoritmos Estos diagramas utilizan siacutembolos con significados definidos que representan los pasos del algoritmo y representan el flujo de ejecucioacuten mediante flechas que conectan los puntos de inicio y de fin de proceso

ESTRUCTURA SECUENCIALINICIO

OPERACIOacuteN DE ENTRADASALIDA

FINEST

RUCTURA

CONDICIONAL

DIRECCION

REGLAS GENERALESEstablecer el alcance del proceso de esta manera quedaraacute fijado el comienzo y el final del diagramaIdentificar y listar las principales actividadessubprocesos que estaacuten incluidos en el proceso y su orden cronoloacutegicoIdentificar y listar los puntos de decisioacutenConstruir el diagrama respetando la secuencia cronoloacutegica y asignando los correspondientes siacutembolosAsignar un tiacutetulo al diagrama y verificar que esteacute completo y describa con exactitud el proceso elegido

VENTAJASFavorecen la comprensioacuten del proceso al mostrarlo como un dibujo

Permiten identificar los problemas y las oportunidades de mejora del procesoMuestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan facilitando el anaacutelisis de las mismasSon una excelente herramienta para capacitar a los nuevos empleados y tambieacuten a los que desarrollan la tarea cuando se realizan mejoras en el procesoCon fines de anaacutelisis de algoritmo de programacioacuten puede ser ejecutado en un ordenador y con un IDE como Free DFD

DIAGRAMAS CHAPIN O DIAGRAMAS NASSI-SCHNEIDERMAN (N-S)

Es una descripcioacuten de algoritmos basados en la utilizacioacuten de siacutembolos graacuteficos estos se constituyen utilizan como siacutembolo baacutesico el rectaacutengulo dentro del cual aparecen sentencias en lenguaje algoriacutetmico que ayuda a describir las acciones que se realizan

TEXTUAL (SEUDOCOacuteDIGO)

Es un conjunto pequentildeo y completo de sentencias mediante las cuales podemos expresar todas las acciones a llevar a cabo para realizar una tarea mediante un ordenador sus elementos son palabras y secuencias

Ejemplo VARIABLES Precio precio final entero Porcentaje descuento real INICIO escribe(`precio `) lee(precio) escribe(`Porcentaje `) lee(porcentaje) FIN

REGLAS GENERALES

Comienza con la palabra ldquoiniciordquo y termina con la palabra ldquofinrdquo Cada instruccioacuten se debe escribir en una liacutenea Para su descripcioacuten se utilizan palabras reservadas que tienen un significado especiacutefico (ldquoIniciordquo ldquoFinrdquo ldquoSirdquo ldquoEntoncesrdquo ldquoSi nordquo ldquoFin sirdquo ldquoMientrasrdquo ldquoFin Mientrasrdquo ldquoSeguirrdquo ldquoFin Seguirrdquo)Debe escribirse indentado (tabulando) para mostrar claramente las dependencias de unas instrucciones del programa con respecto a otrasCada una de las estructuras que definen un programa tendraacute un punto de comienzo y uno de fin especificados por las palabras reservadas que definen la estructura

VENTAJAS

Se leen de arriba abajoPermite el uso de teacutecnicas decentesFavorece la participacioacuten del programa en moacutedulos pequentildeosResaltan mas las partes generales No permite la violacioacuten de las condiciones estructuradasEl aacutembito de cada bloque o estructura esta perfectamente definido

INCONVENIENTES

No se reconstruyen faacutecilmente si cambia la loacutegica del programaNo permite representar la conexioacuten de varios moacutedulos entre si

METODOLOGIgraveA DE LA PROGRAMACIOgraveN

Se entiende como metodologiacutea de la programacioacuten al conjunto de normas meacutetodos y anotaciones que nos indican la forma de programar

ESTRUCTURA GENERAL DE UN PROGRAMA

Todo programa contiene dos bloques bien diferenciados para la descripcioacuten de los datos

PARTES PRINCIPALES DE UN PROGRAMA

BLOQUES DE DECLARACIONES En el se especifican todos los objetos que utiliza el programa (constantes variables tablas de registro archivos etc) indicando siempre sus caracteriacutesticas

BLOQUE DE INSTRUCCIONES Estaacute constituido por el conjunto de operaciones que se han de realizar para la obtencioacuten de los resultados deseados

SALIDA DE RESULTADOS

Es el conjunto de instrucciones que toman los datos finales (resultados) y los enviacutean a los dispositivos externos (memoria datos central de salida)

PROCESO DE DATOS O ALGORITMODatos de entrada proceso resultados

ENTRADA DE DATOS

La constituye n todas las instrucciones que toman los datos de entrada y los almacenan en la memoria central para que puedan ser

procesadosCLASIFICACION DE LAS INSTRUCCIONES

INTRUCCIONES D DECLARACION Su misioacuten es anunciar la utilizacioacuten de objetos en un programa indicado que identificador tipo y otras caracteriacutesticas corresponden a cada uno de ellosINSTRUCCIONES PRIMITIVAS Son aquellas que ejecutan el proceso de modo inmediato Las instrucciones primitivas pueden ser de entrada de asignacioacuten o de salida se dividen en entradas de asignacioacuten y de salida

INSTRUCCIONES DE CONTROL Son instrucciones que no realizan trabajo efectivo salvo la evaluacioacuten de expresiones generalmente loacutegicas con el objetivo de controlar la ejecucioacuten de otras instrucciones o alterar el orden de ejecucioacuten normal de las instrucciones de un programaINSTRUCCIONES COMPUESTAS Una instruccioacuten compuesta es aquella que representa a un conjunto de instrucciones que estaacuten definidas en otra parte en general son llamadas a sus programas (funciones subrutinas paacuterrafos etc)

COMENTARIOS Son frases que se incluyen de forma moderada en el disentildeo de un algoritmo (en la codificacioacuten suele ser maacutes recomendable su uso) con intencioacuten de aclarar el cometido o funcioacuten de un objeto o conjunto de instrucciones

VARIABLES AUXILIARES DE UN PROGRAMA

Son objetos que utiliza un programa y por la funcioacuten que realizan dentro del mismo toman un nombre especial Contadores acumuladores e interruptores

CONTADORES

Un contador es una variable destinada a almacenar un valor que se iraacute incrementando o decrementando en una cantidad constante Se suelen utilizar mucho en procesos repetitivos para contabilizar el nuacutemero de veces que se repite un conjunto de acciones o eventos es decir en los cuerpos de las instrucciones repetitivas

ACUMULADORESUn acumulador o totalizador es una variable cuya misioacuten es acumular cantidades sucesivas obtenidas al realizar la misma operacioacuten La diferencia de un contador es que el incremento o decremento es variable en lugar de constante como en el caso del contador Para utilizarlos hay que realizar sobre ellos dos operaciones baacutesicas Inicializacioacuten Todo acumulador necesita ser inicializado con el valor neutro de la operacioacuten que va a acumular que en el caso de la suma es 0 y del producto es 1

SUMA 0 PRODUCTO 1

Acumulacioacuten Cuando se hace presente en la memoria el elemento a acumular por la realizacioacuten de una lectura o un calculo se efectuacutea la acumulacioacuten del mismo por medio de la asignacioacuten

SUMA + elementoPRODUCTO elemento

INTERRUPTORES O CONMUTADORES

Un interruptor o conmutador es un campo de memoria (variable) que toman diversos valores a lo largo de la ejecucioacuten del programa Los valores que toma son normalmente 1 o siacute (encendidoabierto) y 0 o no (apagadocerrado) (de ahiacute su nombre de interruptor)a) Recordar en un determinado lugar del programa la ocurrencia o no de un suceso b) Realizar de forma alternativa independiente dos procesos alternativos

SUBPROGRAMA

Un subprograma se utiliza por el programa para un fin especiacutefico El subprograma recibe datos del programa y le devuelve resultados Se dice que el programa llama o invoca al subprograma El subprograma ejecuta una tarea a continuacioacuten retorna o devuelve el control al programa Esta accioacuten puede suceder en diferentes partes del programa Cada vez que el subprograma es llamado el control vuelve al lugar desde donde fue hecha la llamada

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 24: PROYECTO  METODOLOGIA DENYS.pptx

ALGORITMOS

Se define como el conjunto ordenado de pasos a seguir para resolver un problema concreto sin ambiguumledad alguna en un tiempo finito

CARACTERISTICAS

SER FINITO Tiene que acabar siempre tras un nuacutemero finito de pasosREPETITIVO Debe repetirse todas las veces que sea necesario dando siempre ideacutenticos resultados para las mismas condicionesVALIDO que haga lo que se pretende que haga y devuelva los resultados esperadosDEFINIBLE Cada paso debe quedar definido de un modo preciso y sin ambiguumledadesPRECISION Debe ser concreto utilizando solo el numero de pasos para llegar a una solucioacuten claraRECIBE DATOS DE ENTRADA Es normal que reciba datos desde el exterior que luego utiliza y trataPROPORCIONA RESULTADOS DE SALIDA Produce uno o varios resultados en su ejecucioacuten que enviacutea al exterior como valor de salidaSER EFECTIVO Que resuelva el problema de forma raacutepida y eficiente

GRAacuteFICA (DIAGRAMAS DE FLUJO)

Son esquemas para representar y expresar algoritmos Estos diagramas utilizan siacutembolos con significados definidos que representan los pasos del algoritmo y representan el flujo de ejecucioacuten mediante flechas que conectan los puntos de inicio y de fin de proceso

ESTRUCTURA SECUENCIALINICIO

OPERACIOacuteN DE ENTRADASALIDA

FINEST

RUCTURA

CONDICIONAL

DIRECCION

REGLAS GENERALESEstablecer el alcance del proceso de esta manera quedaraacute fijado el comienzo y el final del diagramaIdentificar y listar las principales actividadessubprocesos que estaacuten incluidos en el proceso y su orden cronoloacutegicoIdentificar y listar los puntos de decisioacutenConstruir el diagrama respetando la secuencia cronoloacutegica y asignando los correspondientes siacutembolosAsignar un tiacutetulo al diagrama y verificar que esteacute completo y describa con exactitud el proceso elegido

VENTAJASFavorecen la comprensioacuten del proceso al mostrarlo como un dibujo

Permiten identificar los problemas y las oportunidades de mejora del procesoMuestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan facilitando el anaacutelisis de las mismasSon una excelente herramienta para capacitar a los nuevos empleados y tambieacuten a los que desarrollan la tarea cuando se realizan mejoras en el procesoCon fines de anaacutelisis de algoritmo de programacioacuten puede ser ejecutado en un ordenador y con un IDE como Free DFD

DIAGRAMAS CHAPIN O DIAGRAMAS NASSI-SCHNEIDERMAN (N-S)

Es una descripcioacuten de algoritmos basados en la utilizacioacuten de siacutembolos graacuteficos estos se constituyen utilizan como siacutembolo baacutesico el rectaacutengulo dentro del cual aparecen sentencias en lenguaje algoriacutetmico que ayuda a describir las acciones que se realizan

TEXTUAL (SEUDOCOacuteDIGO)

Es un conjunto pequentildeo y completo de sentencias mediante las cuales podemos expresar todas las acciones a llevar a cabo para realizar una tarea mediante un ordenador sus elementos son palabras y secuencias

Ejemplo VARIABLES Precio precio final entero Porcentaje descuento real INICIO escribe(`precio `) lee(precio) escribe(`Porcentaje `) lee(porcentaje) FIN

REGLAS GENERALES

Comienza con la palabra ldquoiniciordquo y termina con la palabra ldquofinrdquo Cada instruccioacuten se debe escribir en una liacutenea Para su descripcioacuten se utilizan palabras reservadas que tienen un significado especiacutefico (ldquoIniciordquo ldquoFinrdquo ldquoSirdquo ldquoEntoncesrdquo ldquoSi nordquo ldquoFin sirdquo ldquoMientrasrdquo ldquoFin Mientrasrdquo ldquoSeguirrdquo ldquoFin Seguirrdquo)Debe escribirse indentado (tabulando) para mostrar claramente las dependencias de unas instrucciones del programa con respecto a otrasCada una de las estructuras que definen un programa tendraacute un punto de comienzo y uno de fin especificados por las palabras reservadas que definen la estructura

VENTAJAS

Se leen de arriba abajoPermite el uso de teacutecnicas decentesFavorece la participacioacuten del programa en moacutedulos pequentildeosResaltan mas las partes generales No permite la violacioacuten de las condiciones estructuradasEl aacutembito de cada bloque o estructura esta perfectamente definido

INCONVENIENTES

No se reconstruyen faacutecilmente si cambia la loacutegica del programaNo permite representar la conexioacuten de varios moacutedulos entre si

METODOLOGIgraveA DE LA PROGRAMACIOgraveN

Se entiende como metodologiacutea de la programacioacuten al conjunto de normas meacutetodos y anotaciones que nos indican la forma de programar

ESTRUCTURA GENERAL DE UN PROGRAMA

Todo programa contiene dos bloques bien diferenciados para la descripcioacuten de los datos

PARTES PRINCIPALES DE UN PROGRAMA

BLOQUES DE DECLARACIONES En el se especifican todos los objetos que utiliza el programa (constantes variables tablas de registro archivos etc) indicando siempre sus caracteriacutesticas

BLOQUE DE INSTRUCCIONES Estaacute constituido por el conjunto de operaciones que se han de realizar para la obtencioacuten de los resultados deseados

SALIDA DE RESULTADOS

Es el conjunto de instrucciones que toman los datos finales (resultados) y los enviacutean a los dispositivos externos (memoria datos central de salida)

PROCESO DE DATOS O ALGORITMODatos de entrada proceso resultados

ENTRADA DE DATOS

La constituye n todas las instrucciones que toman los datos de entrada y los almacenan en la memoria central para que puedan ser

procesadosCLASIFICACION DE LAS INSTRUCCIONES

INTRUCCIONES D DECLARACION Su misioacuten es anunciar la utilizacioacuten de objetos en un programa indicado que identificador tipo y otras caracteriacutesticas corresponden a cada uno de ellosINSTRUCCIONES PRIMITIVAS Son aquellas que ejecutan el proceso de modo inmediato Las instrucciones primitivas pueden ser de entrada de asignacioacuten o de salida se dividen en entradas de asignacioacuten y de salida

INSTRUCCIONES DE CONTROL Son instrucciones que no realizan trabajo efectivo salvo la evaluacioacuten de expresiones generalmente loacutegicas con el objetivo de controlar la ejecucioacuten de otras instrucciones o alterar el orden de ejecucioacuten normal de las instrucciones de un programaINSTRUCCIONES COMPUESTAS Una instruccioacuten compuesta es aquella que representa a un conjunto de instrucciones que estaacuten definidas en otra parte en general son llamadas a sus programas (funciones subrutinas paacuterrafos etc)

COMENTARIOS Son frases que se incluyen de forma moderada en el disentildeo de un algoritmo (en la codificacioacuten suele ser maacutes recomendable su uso) con intencioacuten de aclarar el cometido o funcioacuten de un objeto o conjunto de instrucciones

VARIABLES AUXILIARES DE UN PROGRAMA

Son objetos que utiliza un programa y por la funcioacuten que realizan dentro del mismo toman un nombre especial Contadores acumuladores e interruptores

CONTADORES

Un contador es una variable destinada a almacenar un valor que se iraacute incrementando o decrementando en una cantidad constante Se suelen utilizar mucho en procesos repetitivos para contabilizar el nuacutemero de veces que se repite un conjunto de acciones o eventos es decir en los cuerpos de las instrucciones repetitivas

ACUMULADORESUn acumulador o totalizador es una variable cuya misioacuten es acumular cantidades sucesivas obtenidas al realizar la misma operacioacuten La diferencia de un contador es que el incremento o decremento es variable en lugar de constante como en el caso del contador Para utilizarlos hay que realizar sobre ellos dos operaciones baacutesicas Inicializacioacuten Todo acumulador necesita ser inicializado con el valor neutro de la operacioacuten que va a acumular que en el caso de la suma es 0 y del producto es 1

SUMA 0 PRODUCTO 1

Acumulacioacuten Cuando se hace presente en la memoria el elemento a acumular por la realizacioacuten de una lectura o un calculo se efectuacutea la acumulacioacuten del mismo por medio de la asignacioacuten

SUMA + elementoPRODUCTO elemento

INTERRUPTORES O CONMUTADORES

Un interruptor o conmutador es un campo de memoria (variable) que toman diversos valores a lo largo de la ejecucioacuten del programa Los valores que toma son normalmente 1 o siacute (encendidoabierto) y 0 o no (apagadocerrado) (de ahiacute su nombre de interruptor)a) Recordar en un determinado lugar del programa la ocurrencia o no de un suceso b) Realizar de forma alternativa independiente dos procesos alternativos

SUBPROGRAMA

Un subprograma se utiliza por el programa para un fin especiacutefico El subprograma recibe datos del programa y le devuelve resultados Se dice que el programa llama o invoca al subprograma El subprograma ejecuta una tarea a continuacioacuten retorna o devuelve el control al programa Esta accioacuten puede suceder en diferentes partes del programa Cada vez que el subprograma es llamado el control vuelve al lugar desde donde fue hecha la llamada

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 25: PROYECTO  METODOLOGIA DENYS.pptx

GRAacuteFICA (DIAGRAMAS DE FLUJO)

Son esquemas para representar y expresar algoritmos Estos diagramas utilizan siacutembolos con significados definidos que representan los pasos del algoritmo y representan el flujo de ejecucioacuten mediante flechas que conectan los puntos de inicio y de fin de proceso

ESTRUCTURA SECUENCIALINICIO

OPERACIOacuteN DE ENTRADASALIDA

FINEST

RUCTURA

CONDICIONAL

DIRECCION

REGLAS GENERALESEstablecer el alcance del proceso de esta manera quedaraacute fijado el comienzo y el final del diagramaIdentificar y listar las principales actividadessubprocesos que estaacuten incluidos en el proceso y su orden cronoloacutegicoIdentificar y listar los puntos de decisioacutenConstruir el diagrama respetando la secuencia cronoloacutegica y asignando los correspondientes siacutembolosAsignar un tiacutetulo al diagrama y verificar que esteacute completo y describa con exactitud el proceso elegido

VENTAJASFavorecen la comprensioacuten del proceso al mostrarlo como un dibujo

Permiten identificar los problemas y las oportunidades de mejora del procesoMuestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan facilitando el anaacutelisis de las mismasSon una excelente herramienta para capacitar a los nuevos empleados y tambieacuten a los que desarrollan la tarea cuando se realizan mejoras en el procesoCon fines de anaacutelisis de algoritmo de programacioacuten puede ser ejecutado en un ordenador y con un IDE como Free DFD

DIAGRAMAS CHAPIN O DIAGRAMAS NASSI-SCHNEIDERMAN (N-S)

Es una descripcioacuten de algoritmos basados en la utilizacioacuten de siacutembolos graacuteficos estos se constituyen utilizan como siacutembolo baacutesico el rectaacutengulo dentro del cual aparecen sentencias en lenguaje algoriacutetmico que ayuda a describir las acciones que se realizan

TEXTUAL (SEUDOCOacuteDIGO)

Es un conjunto pequentildeo y completo de sentencias mediante las cuales podemos expresar todas las acciones a llevar a cabo para realizar una tarea mediante un ordenador sus elementos son palabras y secuencias

Ejemplo VARIABLES Precio precio final entero Porcentaje descuento real INICIO escribe(`precio `) lee(precio) escribe(`Porcentaje `) lee(porcentaje) FIN

REGLAS GENERALES

Comienza con la palabra ldquoiniciordquo y termina con la palabra ldquofinrdquo Cada instruccioacuten se debe escribir en una liacutenea Para su descripcioacuten se utilizan palabras reservadas que tienen un significado especiacutefico (ldquoIniciordquo ldquoFinrdquo ldquoSirdquo ldquoEntoncesrdquo ldquoSi nordquo ldquoFin sirdquo ldquoMientrasrdquo ldquoFin Mientrasrdquo ldquoSeguirrdquo ldquoFin Seguirrdquo)Debe escribirse indentado (tabulando) para mostrar claramente las dependencias de unas instrucciones del programa con respecto a otrasCada una de las estructuras que definen un programa tendraacute un punto de comienzo y uno de fin especificados por las palabras reservadas que definen la estructura

VENTAJAS

Se leen de arriba abajoPermite el uso de teacutecnicas decentesFavorece la participacioacuten del programa en moacutedulos pequentildeosResaltan mas las partes generales No permite la violacioacuten de las condiciones estructuradasEl aacutembito de cada bloque o estructura esta perfectamente definido

INCONVENIENTES

No se reconstruyen faacutecilmente si cambia la loacutegica del programaNo permite representar la conexioacuten de varios moacutedulos entre si

METODOLOGIgraveA DE LA PROGRAMACIOgraveN

Se entiende como metodologiacutea de la programacioacuten al conjunto de normas meacutetodos y anotaciones que nos indican la forma de programar

ESTRUCTURA GENERAL DE UN PROGRAMA

Todo programa contiene dos bloques bien diferenciados para la descripcioacuten de los datos

PARTES PRINCIPALES DE UN PROGRAMA

BLOQUES DE DECLARACIONES En el se especifican todos los objetos que utiliza el programa (constantes variables tablas de registro archivos etc) indicando siempre sus caracteriacutesticas

BLOQUE DE INSTRUCCIONES Estaacute constituido por el conjunto de operaciones que se han de realizar para la obtencioacuten de los resultados deseados

SALIDA DE RESULTADOS

Es el conjunto de instrucciones que toman los datos finales (resultados) y los enviacutean a los dispositivos externos (memoria datos central de salida)

PROCESO DE DATOS O ALGORITMODatos de entrada proceso resultados

ENTRADA DE DATOS

La constituye n todas las instrucciones que toman los datos de entrada y los almacenan en la memoria central para que puedan ser

procesadosCLASIFICACION DE LAS INSTRUCCIONES

INTRUCCIONES D DECLARACION Su misioacuten es anunciar la utilizacioacuten de objetos en un programa indicado que identificador tipo y otras caracteriacutesticas corresponden a cada uno de ellosINSTRUCCIONES PRIMITIVAS Son aquellas que ejecutan el proceso de modo inmediato Las instrucciones primitivas pueden ser de entrada de asignacioacuten o de salida se dividen en entradas de asignacioacuten y de salida

INSTRUCCIONES DE CONTROL Son instrucciones que no realizan trabajo efectivo salvo la evaluacioacuten de expresiones generalmente loacutegicas con el objetivo de controlar la ejecucioacuten de otras instrucciones o alterar el orden de ejecucioacuten normal de las instrucciones de un programaINSTRUCCIONES COMPUESTAS Una instruccioacuten compuesta es aquella que representa a un conjunto de instrucciones que estaacuten definidas en otra parte en general son llamadas a sus programas (funciones subrutinas paacuterrafos etc)

COMENTARIOS Son frases que se incluyen de forma moderada en el disentildeo de un algoritmo (en la codificacioacuten suele ser maacutes recomendable su uso) con intencioacuten de aclarar el cometido o funcioacuten de un objeto o conjunto de instrucciones

VARIABLES AUXILIARES DE UN PROGRAMA

Son objetos que utiliza un programa y por la funcioacuten que realizan dentro del mismo toman un nombre especial Contadores acumuladores e interruptores

CONTADORES

Un contador es una variable destinada a almacenar un valor que se iraacute incrementando o decrementando en una cantidad constante Se suelen utilizar mucho en procesos repetitivos para contabilizar el nuacutemero de veces que se repite un conjunto de acciones o eventos es decir en los cuerpos de las instrucciones repetitivas

ACUMULADORESUn acumulador o totalizador es una variable cuya misioacuten es acumular cantidades sucesivas obtenidas al realizar la misma operacioacuten La diferencia de un contador es que el incremento o decremento es variable en lugar de constante como en el caso del contador Para utilizarlos hay que realizar sobre ellos dos operaciones baacutesicas Inicializacioacuten Todo acumulador necesita ser inicializado con el valor neutro de la operacioacuten que va a acumular que en el caso de la suma es 0 y del producto es 1

SUMA 0 PRODUCTO 1

Acumulacioacuten Cuando se hace presente en la memoria el elemento a acumular por la realizacioacuten de una lectura o un calculo se efectuacutea la acumulacioacuten del mismo por medio de la asignacioacuten

SUMA + elementoPRODUCTO elemento

INTERRUPTORES O CONMUTADORES

Un interruptor o conmutador es un campo de memoria (variable) que toman diversos valores a lo largo de la ejecucioacuten del programa Los valores que toma son normalmente 1 o siacute (encendidoabierto) y 0 o no (apagadocerrado) (de ahiacute su nombre de interruptor)a) Recordar en un determinado lugar del programa la ocurrencia o no de un suceso b) Realizar de forma alternativa independiente dos procesos alternativos

SUBPROGRAMA

Un subprograma se utiliza por el programa para un fin especiacutefico El subprograma recibe datos del programa y le devuelve resultados Se dice que el programa llama o invoca al subprograma El subprograma ejecuta una tarea a continuacioacuten retorna o devuelve el control al programa Esta accioacuten puede suceder en diferentes partes del programa Cada vez que el subprograma es llamado el control vuelve al lugar desde donde fue hecha la llamada

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 26: PROYECTO  METODOLOGIA DENYS.pptx

REGLAS GENERALESEstablecer el alcance del proceso de esta manera quedaraacute fijado el comienzo y el final del diagramaIdentificar y listar las principales actividadessubprocesos que estaacuten incluidos en el proceso y su orden cronoloacutegicoIdentificar y listar los puntos de decisioacutenConstruir el diagrama respetando la secuencia cronoloacutegica y asignando los correspondientes siacutembolosAsignar un tiacutetulo al diagrama y verificar que esteacute completo y describa con exactitud el proceso elegido

VENTAJASFavorecen la comprensioacuten del proceso al mostrarlo como un dibujo

Permiten identificar los problemas y las oportunidades de mejora del procesoMuestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan facilitando el anaacutelisis de las mismasSon una excelente herramienta para capacitar a los nuevos empleados y tambieacuten a los que desarrollan la tarea cuando se realizan mejoras en el procesoCon fines de anaacutelisis de algoritmo de programacioacuten puede ser ejecutado en un ordenador y con un IDE como Free DFD

DIAGRAMAS CHAPIN O DIAGRAMAS NASSI-SCHNEIDERMAN (N-S)

Es una descripcioacuten de algoritmos basados en la utilizacioacuten de siacutembolos graacuteficos estos se constituyen utilizan como siacutembolo baacutesico el rectaacutengulo dentro del cual aparecen sentencias en lenguaje algoriacutetmico que ayuda a describir las acciones que se realizan

TEXTUAL (SEUDOCOacuteDIGO)

Es un conjunto pequentildeo y completo de sentencias mediante las cuales podemos expresar todas las acciones a llevar a cabo para realizar una tarea mediante un ordenador sus elementos son palabras y secuencias

Ejemplo VARIABLES Precio precio final entero Porcentaje descuento real INICIO escribe(`precio `) lee(precio) escribe(`Porcentaje `) lee(porcentaje) FIN

REGLAS GENERALES

Comienza con la palabra ldquoiniciordquo y termina con la palabra ldquofinrdquo Cada instruccioacuten se debe escribir en una liacutenea Para su descripcioacuten se utilizan palabras reservadas que tienen un significado especiacutefico (ldquoIniciordquo ldquoFinrdquo ldquoSirdquo ldquoEntoncesrdquo ldquoSi nordquo ldquoFin sirdquo ldquoMientrasrdquo ldquoFin Mientrasrdquo ldquoSeguirrdquo ldquoFin Seguirrdquo)Debe escribirse indentado (tabulando) para mostrar claramente las dependencias de unas instrucciones del programa con respecto a otrasCada una de las estructuras que definen un programa tendraacute un punto de comienzo y uno de fin especificados por las palabras reservadas que definen la estructura

VENTAJAS

Se leen de arriba abajoPermite el uso de teacutecnicas decentesFavorece la participacioacuten del programa en moacutedulos pequentildeosResaltan mas las partes generales No permite la violacioacuten de las condiciones estructuradasEl aacutembito de cada bloque o estructura esta perfectamente definido

INCONVENIENTES

No se reconstruyen faacutecilmente si cambia la loacutegica del programaNo permite representar la conexioacuten de varios moacutedulos entre si

METODOLOGIgraveA DE LA PROGRAMACIOgraveN

Se entiende como metodologiacutea de la programacioacuten al conjunto de normas meacutetodos y anotaciones que nos indican la forma de programar

ESTRUCTURA GENERAL DE UN PROGRAMA

Todo programa contiene dos bloques bien diferenciados para la descripcioacuten de los datos

PARTES PRINCIPALES DE UN PROGRAMA

BLOQUES DE DECLARACIONES En el se especifican todos los objetos que utiliza el programa (constantes variables tablas de registro archivos etc) indicando siempre sus caracteriacutesticas

BLOQUE DE INSTRUCCIONES Estaacute constituido por el conjunto de operaciones que se han de realizar para la obtencioacuten de los resultados deseados

SALIDA DE RESULTADOS

Es el conjunto de instrucciones que toman los datos finales (resultados) y los enviacutean a los dispositivos externos (memoria datos central de salida)

PROCESO DE DATOS O ALGORITMODatos de entrada proceso resultados

ENTRADA DE DATOS

La constituye n todas las instrucciones que toman los datos de entrada y los almacenan en la memoria central para que puedan ser

procesadosCLASIFICACION DE LAS INSTRUCCIONES

INTRUCCIONES D DECLARACION Su misioacuten es anunciar la utilizacioacuten de objetos en un programa indicado que identificador tipo y otras caracteriacutesticas corresponden a cada uno de ellosINSTRUCCIONES PRIMITIVAS Son aquellas que ejecutan el proceso de modo inmediato Las instrucciones primitivas pueden ser de entrada de asignacioacuten o de salida se dividen en entradas de asignacioacuten y de salida

INSTRUCCIONES DE CONTROL Son instrucciones que no realizan trabajo efectivo salvo la evaluacioacuten de expresiones generalmente loacutegicas con el objetivo de controlar la ejecucioacuten de otras instrucciones o alterar el orden de ejecucioacuten normal de las instrucciones de un programaINSTRUCCIONES COMPUESTAS Una instruccioacuten compuesta es aquella que representa a un conjunto de instrucciones que estaacuten definidas en otra parte en general son llamadas a sus programas (funciones subrutinas paacuterrafos etc)

COMENTARIOS Son frases que se incluyen de forma moderada en el disentildeo de un algoritmo (en la codificacioacuten suele ser maacutes recomendable su uso) con intencioacuten de aclarar el cometido o funcioacuten de un objeto o conjunto de instrucciones

VARIABLES AUXILIARES DE UN PROGRAMA

Son objetos que utiliza un programa y por la funcioacuten que realizan dentro del mismo toman un nombre especial Contadores acumuladores e interruptores

CONTADORES

Un contador es una variable destinada a almacenar un valor que se iraacute incrementando o decrementando en una cantidad constante Se suelen utilizar mucho en procesos repetitivos para contabilizar el nuacutemero de veces que se repite un conjunto de acciones o eventos es decir en los cuerpos de las instrucciones repetitivas

ACUMULADORESUn acumulador o totalizador es una variable cuya misioacuten es acumular cantidades sucesivas obtenidas al realizar la misma operacioacuten La diferencia de un contador es que el incremento o decremento es variable en lugar de constante como en el caso del contador Para utilizarlos hay que realizar sobre ellos dos operaciones baacutesicas Inicializacioacuten Todo acumulador necesita ser inicializado con el valor neutro de la operacioacuten que va a acumular que en el caso de la suma es 0 y del producto es 1

SUMA 0 PRODUCTO 1

Acumulacioacuten Cuando se hace presente en la memoria el elemento a acumular por la realizacioacuten de una lectura o un calculo se efectuacutea la acumulacioacuten del mismo por medio de la asignacioacuten

SUMA + elementoPRODUCTO elemento

INTERRUPTORES O CONMUTADORES

Un interruptor o conmutador es un campo de memoria (variable) que toman diversos valores a lo largo de la ejecucioacuten del programa Los valores que toma son normalmente 1 o siacute (encendidoabierto) y 0 o no (apagadocerrado) (de ahiacute su nombre de interruptor)a) Recordar en un determinado lugar del programa la ocurrencia o no de un suceso b) Realizar de forma alternativa independiente dos procesos alternativos

SUBPROGRAMA

Un subprograma se utiliza por el programa para un fin especiacutefico El subprograma recibe datos del programa y le devuelve resultados Se dice que el programa llama o invoca al subprograma El subprograma ejecuta una tarea a continuacioacuten retorna o devuelve el control al programa Esta accioacuten puede suceder en diferentes partes del programa Cada vez que el subprograma es llamado el control vuelve al lugar desde donde fue hecha la llamada

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 27: PROYECTO  METODOLOGIA DENYS.pptx

DIAGRAMAS CHAPIN O DIAGRAMAS NASSI-SCHNEIDERMAN (N-S)

Es una descripcioacuten de algoritmos basados en la utilizacioacuten de siacutembolos graacuteficos estos se constituyen utilizan como siacutembolo baacutesico el rectaacutengulo dentro del cual aparecen sentencias en lenguaje algoriacutetmico que ayuda a describir las acciones que se realizan

TEXTUAL (SEUDOCOacuteDIGO)

Es un conjunto pequentildeo y completo de sentencias mediante las cuales podemos expresar todas las acciones a llevar a cabo para realizar una tarea mediante un ordenador sus elementos son palabras y secuencias

Ejemplo VARIABLES Precio precio final entero Porcentaje descuento real INICIO escribe(`precio `) lee(precio) escribe(`Porcentaje `) lee(porcentaje) FIN

REGLAS GENERALES

Comienza con la palabra ldquoiniciordquo y termina con la palabra ldquofinrdquo Cada instruccioacuten se debe escribir en una liacutenea Para su descripcioacuten se utilizan palabras reservadas que tienen un significado especiacutefico (ldquoIniciordquo ldquoFinrdquo ldquoSirdquo ldquoEntoncesrdquo ldquoSi nordquo ldquoFin sirdquo ldquoMientrasrdquo ldquoFin Mientrasrdquo ldquoSeguirrdquo ldquoFin Seguirrdquo)Debe escribirse indentado (tabulando) para mostrar claramente las dependencias de unas instrucciones del programa con respecto a otrasCada una de las estructuras que definen un programa tendraacute un punto de comienzo y uno de fin especificados por las palabras reservadas que definen la estructura

VENTAJAS

Se leen de arriba abajoPermite el uso de teacutecnicas decentesFavorece la participacioacuten del programa en moacutedulos pequentildeosResaltan mas las partes generales No permite la violacioacuten de las condiciones estructuradasEl aacutembito de cada bloque o estructura esta perfectamente definido

INCONVENIENTES

No se reconstruyen faacutecilmente si cambia la loacutegica del programaNo permite representar la conexioacuten de varios moacutedulos entre si

METODOLOGIgraveA DE LA PROGRAMACIOgraveN

Se entiende como metodologiacutea de la programacioacuten al conjunto de normas meacutetodos y anotaciones que nos indican la forma de programar

ESTRUCTURA GENERAL DE UN PROGRAMA

Todo programa contiene dos bloques bien diferenciados para la descripcioacuten de los datos

PARTES PRINCIPALES DE UN PROGRAMA

BLOQUES DE DECLARACIONES En el se especifican todos los objetos que utiliza el programa (constantes variables tablas de registro archivos etc) indicando siempre sus caracteriacutesticas

BLOQUE DE INSTRUCCIONES Estaacute constituido por el conjunto de operaciones que se han de realizar para la obtencioacuten de los resultados deseados

SALIDA DE RESULTADOS

Es el conjunto de instrucciones que toman los datos finales (resultados) y los enviacutean a los dispositivos externos (memoria datos central de salida)

PROCESO DE DATOS O ALGORITMODatos de entrada proceso resultados

ENTRADA DE DATOS

La constituye n todas las instrucciones que toman los datos de entrada y los almacenan en la memoria central para que puedan ser

procesadosCLASIFICACION DE LAS INSTRUCCIONES

INTRUCCIONES D DECLARACION Su misioacuten es anunciar la utilizacioacuten de objetos en un programa indicado que identificador tipo y otras caracteriacutesticas corresponden a cada uno de ellosINSTRUCCIONES PRIMITIVAS Son aquellas que ejecutan el proceso de modo inmediato Las instrucciones primitivas pueden ser de entrada de asignacioacuten o de salida se dividen en entradas de asignacioacuten y de salida

INSTRUCCIONES DE CONTROL Son instrucciones que no realizan trabajo efectivo salvo la evaluacioacuten de expresiones generalmente loacutegicas con el objetivo de controlar la ejecucioacuten de otras instrucciones o alterar el orden de ejecucioacuten normal de las instrucciones de un programaINSTRUCCIONES COMPUESTAS Una instruccioacuten compuesta es aquella que representa a un conjunto de instrucciones que estaacuten definidas en otra parte en general son llamadas a sus programas (funciones subrutinas paacuterrafos etc)

COMENTARIOS Son frases que se incluyen de forma moderada en el disentildeo de un algoritmo (en la codificacioacuten suele ser maacutes recomendable su uso) con intencioacuten de aclarar el cometido o funcioacuten de un objeto o conjunto de instrucciones

VARIABLES AUXILIARES DE UN PROGRAMA

Son objetos que utiliza un programa y por la funcioacuten que realizan dentro del mismo toman un nombre especial Contadores acumuladores e interruptores

CONTADORES

Un contador es una variable destinada a almacenar un valor que se iraacute incrementando o decrementando en una cantidad constante Se suelen utilizar mucho en procesos repetitivos para contabilizar el nuacutemero de veces que se repite un conjunto de acciones o eventos es decir en los cuerpos de las instrucciones repetitivas

ACUMULADORESUn acumulador o totalizador es una variable cuya misioacuten es acumular cantidades sucesivas obtenidas al realizar la misma operacioacuten La diferencia de un contador es que el incremento o decremento es variable en lugar de constante como en el caso del contador Para utilizarlos hay que realizar sobre ellos dos operaciones baacutesicas Inicializacioacuten Todo acumulador necesita ser inicializado con el valor neutro de la operacioacuten que va a acumular que en el caso de la suma es 0 y del producto es 1

SUMA 0 PRODUCTO 1

Acumulacioacuten Cuando se hace presente en la memoria el elemento a acumular por la realizacioacuten de una lectura o un calculo se efectuacutea la acumulacioacuten del mismo por medio de la asignacioacuten

SUMA + elementoPRODUCTO elemento

INTERRUPTORES O CONMUTADORES

Un interruptor o conmutador es un campo de memoria (variable) que toman diversos valores a lo largo de la ejecucioacuten del programa Los valores que toma son normalmente 1 o siacute (encendidoabierto) y 0 o no (apagadocerrado) (de ahiacute su nombre de interruptor)a) Recordar en un determinado lugar del programa la ocurrencia o no de un suceso b) Realizar de forma alternativa independiente dos procesos alternativos

SUBPROGRAMA

Un subprograma se utiliza por el programa para un fin especiacutefico El subprograma recibe datos del programa y le devuelve resultados Se dice que el programa llama o invoca al subprograma El subprograma ejecuta una tarea a continuacioacuten retorna o devuelve el control al programa Esta accioacuten puede suceder en diferentes partes del programa Cada vez que el subprograma es llamado el control vuelve al lugar desde donde fue hecha la llamada

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 28: PROYECTO  METODOLOGIA DENYS.pptx

REGLAS GENERALES

Comienza con la palabra ldquoiniciordquo y termina con la palabra ldquofinrdquo Cada instruccioacuten se debe escribir en una liacutenea Para su descripcioacuten se utilizan palabras reservadas que tienen un significado especiacutefico (ldquoIniciordquo ldquoFinrdquo ldquoSirdquo ldquoEntoncesrdquo ldquoSi nordquo ldquoFin sirdquo ldquoMientrasrdquo ldquoFin Mientrasrdquo ldquoSeguirrdquo ldquoFin Seguirrdquo)Debe escribirse indentado (tabulando) para mostrar claramente las dependencias de unas instrucciones del programa con respecto a otrasCada una de las estructuras que definen un programa tendraacute un punto de comienzo y uno de fin especificados por las palabras reservadas que definen la estructura

VENTAJAS

Se leen de arriba abajoPermite el uso de teacutecnicas decentesFavorece la participacioacuten del programa en moacutedulos pequentildeosResaltan mas las partes generales No permite la violacioacuten de las condiciones estructuradasEl aacutembito de cada bloque o estructura esta perfectamente definido

INCONVENIENTES

No se reconstruyen faacutecilmente si cambia la loacutegica del programaNo permite representar la conexioacuten de varios moacutedulos entre si

METODOLOGIgraveA DE LA PROGRAMACIOgraveN

Se entiende como metodologiacutea de la programacioacuten al conjunto de normas meacutetodos y anotaciones que nos indican la forma de programar

ESTRUCTURA GENERAL DE UN PROGRAMA

Todo programa contiene dos bloques bien diferenciados para la descripcioacuten de los datos

PARTES PRINCIPALES DE UN PROGRAMA

BLOQUES DE DECLARACIONES En el se especifican todos los objetos que utiliza el programa (constantes variables tablas de registro archivos etc) indicando siempre sus caracteriacutesticas

BLOQUE DE INSTRUCCIONES Estaacute constituido por el conjunto de operaciones que se han de realizar para la obtencioacuten de los resultados deseados

SALIDA DE RESULTADOS

Es el conjunto de instrucciones que toman los datos finales (resultados) y los enviacutean a los dispositivos externos (memoria datos central de salida)

PROCESO DE DATOS O ALGORITMODatos de entrada proceso resultados

ENTRADA DE DATOS

La constituye n todas las instrucciones que toman los datos de entrada y los almacenan en la memoria central para que puedan ser

procesadosCLASIFICACION DE LAS INSTRUCCIONES

INTRUCCIONES D DECLARACION Su misioacuten es anunciar la utilizacioacuten de objetos en un programa indicado que identificador tipo y otras caracteriacutesticas corresponden a cada uno de ellosINSTRUCCIONES PRIMITIVAS Son aquellas que ejecutan el proceso de modo inmediato Las instrucciones primitivas pueden ser de entrada de asignacioacuten o de salida se dividen en entradas de asignacioacuten y de salida

INSTRUCCIONES DE CONTROL Son instrucciones que no realizan trabajo efectivo salvo la evaluacioacuten de expresiones generalmente loacutegicas con el objetivo de controlar la ejecucioacuten de otras instrucciones o alterar el orden de ejecucioacuten normal de las instrucciones de un programaINSTRUCCIONES COMPUESTAS Una instruccioacuten compuesta es aquella que representa a un conjunto de instrucciones que estaacuten definidas en otra parte en general son llamadas a sus programas (funciones subrutinas paacuterrafos etc)

COMENTARIOS Son frases que se incluyen de forma moderada en el disentildeo de un algoritmo (en la codificacioacuten suele ser maacutes recomendable su uso) con intencioacuten de aclarar el cometido o funcioacuten de un objeto o conjunto de instrucciones

VARIABLES AUXILIARES DE UN PROGRAMA

Son objetos que utiliza un programa y por la funcioacuten que realizan dentro del mismo toman un nombre especial Contadores acumuladores e interruptores

CONTADORES

Un contador es una variable destinada a almacenar un valor que se iraacute incrementando o decrementando en una cantidad constante Se suelen utilizar mucho en procesos repetitivos para contabilizar el nuacutemero de veces que se repite un conjunto de acciones o eventos es decir en los cuerpos de las instrucciones repetitivas

ACUMULADORESUn acumulador o totalizador es una variable cuya misioacuten es acumular cantidades sucesivas obtenidas al realizar la misma operacioacuten La diferencia de un contador es que el incremento o decremento es variable en lugar de constante como en el caso del contador Para utilizarlos hay que realizar sobre ellos dos operaciones baacutesicas Inicializacioacuten Todo acumulador necesita ser inicializado con el valor neutro de la operacioacuten que va a acumular que en el caso de la suma es 0 y del producto es 1

SUMA 0 PRODUCTO 1

Acumulacioacuten Cuando se hace presente en la memoria el elemento a acumular por la realizacioacuten de una lectura o un calculo se efectuacutea la acumulacioacuten del mismo por medio de la asignacioacuten

SUMA + elementoPRODUCTO elemento

INTERRUPTORES O CONMUTADORES

Un interruptor o conmutador es un campo de memoria (variable) que toman diversos valores a lo largo de la ejecucioacuten del programa Los valores que toma son normalmente 1 o siacute (encendidoabierto) y 0 o no (apagadocerrado) (de ahiacute su nombre de interruptor)a) Recordar en un determinado lugar del programa la ocurrencia o no de un suceso b) Realizar de forma alternativa independiente dos procesos alternativos

SUBPROGRAMA

Un subprograma se utiliza por el programa para un fin especiacutefico El subprograma recibe datos del programa y le devuelve resultados Se dice que el programa llama o invoca al subprograma El subprograma ejecuta una tarea a continuacioacuten retorna o devuelve el control al programa Esta accioacuten puede suceder en diferentes partes del programa Cada vez que el subprograma es llamado el control vuelve al lugar desde donde fue hecha la llamada

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 29: PROYECTO  METODOLOGIA DENYS.pptx

METODOLOGIgraveA DE LA PROGRAMACIOgraveN

Se entiende como metodologiacutea de la programacioacuten al conjunto de normas meacutetodos y anotaciones que nos indican la forma de programar

ESTRUCTURA GENERAL DE UN PROGRAMA

Todo programa contiene dos bloques bien diferenciados para la descripcioacuten de los datos

PARTES PRINCIPALES DE UN PROGRAMA

BLOQUES DE DECLARACIONES En el se especifican todos los objetos que utiliza el programa (constantes variables tablas de registro archivos etc) indicando siempre sus caracteriacutesticas

BLOQUE DE INSTRUCCIONES Estaacute constituido por el conjunto de operaciones que se han de realizar para la obtencioacuten de los resultados deseados

SALIDA DE RESULTADOS

Es el conjunto de instrucciones que toman los datos finales (resultados) y los enviacutean a los dispositivos externos (memoria datos central de salida)

PROCESO DE DATOS O ALGORITMODatos de entrada proceso resultados

ENTRADA DE DATOS

La constituye n todas las instrucciones que toman los datos de entrada y los almacenan en la memoria central para que puedan ser

procesadosCLASIFICACION DE LAS INSTRUCCIONES

INTRUCCIONES D DECLARACION Su misioacuten es anunciar la utilizacioacuten de objetos en un programa indicado que identificador tipo y otras caracteriacutesticas corresponden a cada uno de ellosINSTRUCCIONES PRIMITIVAS Son aquellas que ejecutan el proceso de modo inmediato Las instrucciones primitivas pueden ser de entrada de asignacioacuten o de salida se dividen en entradas de asignacioacuten y de salida

INSTRUCCIONES DE CONTROL Son instrucciones que no realizan trabajo efectivo salvo la evaluacioacuten de expresiones generalmente loacutegicas con el objetivo de controlar la ejecucioacuten de otras instrucciones o alterar el orden de ejecucioacuten normal de las instrucciones de un programaINSTRUCCIONES COMPUESTAS Una instruccioacuten compuesta es aquella que representa a un conjunto de instrucciones que estaacuten definidas en otra parte en general son llamadas a sus programas (funciones subrutinas paacuterrafos etc)

COMENTARIOS Son frases que se incluyen de forma moderada en el disentildeo de un algoritmo (en la codificacioacuten suele ser maacutes recomendable su uso) con intencioacuten de aclarar el cometido o funcioacuten de un objeto o conjunto de instrucciones

VARIABLES AUXILIARES DE UN PROGRAMA

Son objetos que utiliza un programa y por la funcioacuten que realizan dentro del mismo toman un nombre especial Contadores acumuladores e interruptores

CONTADORES

Un contador es una variable destinada a almacenar un valor que se iraacute incrementando o decrementando en una cantidad constante Se suelen utilizar mucho en procesos repetitivos para contabilizar el nuacutemero de veces que se repite un conjunto de acciones o eventos es decir en los cuerpos de las instrucciones repetitivas

ACUMULADORESUn acumulador o totalizador es una variable cuya misioacuten es acumular cantidades sucesivas obtenidas al realizar la misma operacioacuten La diferencia de un contador es que el incremento o decremento es variable en lugar de constante como en el caso del contador Para utilizarlos hay que realizar sobre ellos dos operaciones baacutesicas Inicializacioacuten Todo acumulador necesita ser inicializado con el valor neutro de la operacioacuten que va a acumular que en el caso de la suma es 0 y del producto es 1

SUMA 0 PRODUCTO 1

Acumulacioacuten Cuando se hace presente en la memoria el elemento a acumular por la realizacioacuten de una lectura o un calculo se efectuacutea la acumulacioacuten del mismo por medio de la asignacioacuten

SUMA + elementoPRODUCTO elemento

INTERRUPTORES O CONMUTADORES

Un interruptor o conmutador es un campo de memoria (variable) que toman diversos valores a lo largo de la ejecucioacuten del programa Los valores que toma son normalmente 1 o siacute (encendidoabierto) y 0 o no (apagadocerrado) (de ahiacute su nombre de interruptor)a) Recordar en un determinado lugar del programa la ocurrencia o no de un suceso b) Realizar de forma alternativa independiente dos procesos alternativos

SUBPROGRAMA

Un subprograma se utiliza por el programa para un fin especiacutefico El subprograma recibe datos del programa y le devuelve resultados Se dice que el programa llama o invoca al subprograma El subprograma ejecuta una tarea a continuacioacuten retorna o devuelve el control al programa Esta accioacuten puede suceder en diferentes partes del programa Cada vez que el subprograma es llamado el control vuelve al lugar desde donde fue hecha la llamada

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 30: PROYECTO  METODOLOGIA DENYS.pptx

SALIDA DE RESULTADOS

Es el conjunto de instrucciones que toman los datos finales (resultados) y los enviacutean a los dispositivos externos (memoria datos central de salida)

PROCESO DE DATOS O ALGORITMODatos de entrada proceso resultados

ENTRADA DE DATOS

La constituye n todas las instrucciones que toman los datos de entrada y los almacenan en la memoria central para que puedan ser

procesadosCLASIFICACION DE LAS INSTRUCCIONES

INTRUCCIONES D DECLARACION Su misioacuten es anunciar la utilizacioacuten de objetos en un programa indicado que identificador tipo y otras caracteriacutesticas corresponden a cada uno de ellosINSTRUCCIONES PRIMITIVAS Son aquellas que ejecutan el proceso de modo inmediato Las instrucciones primitivas pueden ser de entrada de asignacioacuten o de salida se dividen en entradas de asignacioacuten y de salida

INSTRUCCIONES DE CONTROL Son instrucciones que no realizan trabajo efectivo salvo la evaluacioacuten de expresiones generalmente loacutegicas con el objetivo de controlar la ejecucioacuten de otras instrucciones o alterar el orden de ejecucioacuten normal de las instrucciones de un programaINSTRUCCIONES COMPUESTAS Una instruccioacuten compuesta es aquella que representa a un conjunto de instrucciones que estaacuten definidas en otra parte en general son llamadas a sus programas (funciones subrutinas paacuterrafos etc)

COMENTARIOS Son frases que se incluyen de forma moderada en el disentildeo de un algoritmo (en la codificacioacuten suele ser maacutes recomendable su uso) con intencioacuten de aclarar el cometido o funcioacuten de un objeto o conjunto de instrucciones

VARIABLES AUXILIARES DE UN PROGRAMA

Son objetos que utiliza un programa y por la funcioacuten que realizan dentro del mismo toman un nombre especial Contadores acumuladores e interruptores

CONTADORES

Un contador es una variable destinada a almacenar un valor que se iraacute incrementando o decrementando en una cantidad constante Se suelen utilizar mucho en procesos repetitivos para contabilizar el nuacutemero de veces que se repite un conjunto de acciones o eventos es decir en los cuerpos de las instrucciones repetitivas

ACUMULADORESUn acumulador o totalizador es una variable cuya misioacuten es acumular cantidades sucesivas obtenidas al realizar la misma operacioacuten La diferencia de un contador es que el incremento o decremento es variable en lugar de constante como en el caso del contador Para utilizarlos hay que realizar sobre ellos dos operaciones baacutesicas Inicializacioacuten Todo acumulador necesita ser inicializado con el valor neutro de la operacioacuten que va a acumular que en el caso de la suma es 0 y del producto es 1

SUMA 0 PRODUCTO 1

Acumulacioacuten Cuando se hace presente en la memoria el elemento a acumular por la realizacioacuten de una lectura o un calculo se efectuacutea la acumulacioacuten del mismo por medio de la asignacioacuten

SUMA + elementoPRODUCTO elemento

INTERRUPTORES O CONMUTADORES

Un interruptor o conmutador es un campo de memoria (variable) que toman diversos valores a lo largo de la ejecucioacuten del programa Los valores que toma son normalmente 1 o siacute (encendidoabierto) y 0 o no (apagadocerrado) (de ahiacute su nombre de interruptor)a) Recordar en un determinado lugar del programa la ocurrencia o no de un suceso b) Realizar de forma alternativa independiente dos procesos alternativos

SUBPROGRAMA

Un subprograma se utiliza por el programa para un fin especiacutefico El subprograma recibe datos del programa y le devuelve resultados Se dice que el programa llama o invoca al subprograma El subprograma ejecuta una tarea a continuacioacuten retorna o devuelve el control al programa Esta accioacuten puede suceder en diferentes partes del programa Cada vez que el subprograma es llamado el control vuelve al lugar desde donde fue hecha la llamada

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 31: PROYECTO  METODOLOGIA DENYS.pptx

INSTRUCCIONES DE CONTROL Son instrucciones que no realizan trabajo efectivo salvo la evaluacioacuten de expresiones generalmente loacutegicas con el objetivo de controlar la ejecucioacuten de otras instrucciones o alterar el orden de ejecucioacuten normal de las instrucciones de un programaINSTRUCCIONES COMPUESTAS Una instruccioacuten compuesta es aquella que representa a un conjunto de instrucciones que estaacuten definidas en otra parte en general son llamadas a sus programas (funciones subrutinas paacuterrafos etc)

COMENTARIOS Son frases que se incluyen de forma moderada en el disentildeo de un algoritmo (en la codificacioacuten suele ser maacutes recomendable su uso) con intencioacuten de aclarar el cometido o funcioacuten de un objeto o conjunto de instrucciones

VARIABLES AUXILIARES DE UN PROGRAMA

Son objetos que utiliza un programa y por la funcioacuten que realizan dentro del mismo toman un nombre especial Contadores acumuladores e interruptores

CONTADORES

Un contador es una variable destinada a almacenar un valor que se iraacute incrementando o decrementando en una cantidad constante Se suelen utilizar mucho en procesos repetitivos para contabilizar el nuacutemero de veces que se repite un conjunto de acciones o eventos es decir en los cuerpos de las instrucciones repetitivas

ACUMULADORESUn acumulador o totalizador es una variable cuya misioacuten es acumular cantidades sucesivas obtenidas al realizar la misma operacioacuten La diferencia de un contador es que el incremento o decremento es variable en lugar de constante como en el caso del contador Para utilizarlos hay que realizar sobre ellos dos operaciones baacutesicas Inicializacioacuten Todo acumulador necesita ser inicializado con el valor neutro de la operacioacuten que va a acumular que en el caso de la suma es 0 y del producto es 1

SUMA 0 PRODUCTO 1

Acumulacioacuten Cuando se hace presente en la memoria el elemento a acumular por la realizacioacuten de una lectura o un calculo se efectuacutea la acumulacioacuten del mismo por medio de la asignacioacuten

SUMA + elementoPRODUCTO elemento

INTERRUPTORES O CONMUTADORES

Un interruptor o conmutador es un campo de memoria (variable) que toman diversos valores a lo largo de la ejecucioacuten del programa Los valores que toma son normalmente 1 o siacute (encendidoabierto) y 0 o no (apagadocerrado) (de ahiacute su nombre de interruptor)a) Recordar en un determinado lugar del programa la ocurrencia o no de un suceso b) Realizar de forma alternativa independiente dos procesos alternativos

SUBPROGRAMA

Un subprograma se utiliza por el programa para un fin especiacutefico El subprograma recibe datos del programa y le devuelve resultados Se dice que el programa llama o invoca al subprograma El subprograma ejecuta una tarea a continuacioacuten retorna o devuelve el control al programa Esta accioacuten puede suceder en diferentes partes del programa Cada vez que el subprograma es llamado el control vuelve al lugar desde donde fue hecha la llamada

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 32: PROYECTO  METODOLOGIA DENYS.pptx

CONTADORES

Un contador es una variable destinada a almacenar un valor que se iraacute incrementando o decrementando en una cantidad constante Se suelen utilizar mucho en procesos repetitivos para contabilizar el nuacutemero de veces que se repite un conjunto de acciones o eventos es decir en los cuerpos de las instrucciones repetitivas

ACUMULADORESUn acumulador o totalizador es una variable cuya misioacuten es acumular cantidades sucesivas obtenidas al realizar la misma operacioacuten La diferencia de un contador es que el incremento o decremento es variable en lugar de constante como en el caso del contador Para utilizarlos hay que realizar sobre ellos dos operaciones baacutesicas Inicializacioacuten Todo acumulador necesita ser inicializado con el valor neutro de la operacioacuten que va a acumular que en el caso de la suma es 0 y del producto es 1

SUMA 0 PRODUCTO 1

Acumulacioacuten Cuando se hace presente en la memoria el elemento a acumular por la realizacioacuten de una lectura o un calculo se efectuacutea la acumulacioacuten del mismo por medio de la asignacioacuten

SUMA + elementoPRODUCTO elemento

INTERRUPTORES O CONMUTADORES

Un interruptor o conmutador es un campo de memoria (variable) que toman diversos valores a lo largo de la ejecucioacuten del programa Los valores que toma son normalmente 1 o siacute (encendidoabierto) y 0 o no (apagadocerrado) (de ahiacute su nombre de interruptor)a) Recordar en un determinado lugar del programa la ocurrencia o no de un suceso b) Realizar de forma alternativa independiente dos procesos alternativos

SUBPROGRAMA

Un subprograma se utiliza por el programa para un fin especiacutefico El subprograma recibe datos del programa y le devuelve resultados Se dice que el programa llama o invoca al subprograma El subprograma ejecuta una tarea a continuacioacuten retorna o devuelve el control al programa Esta accioacuten puede suceder en diferentes partes del programa Cada vez que el subprograma es llamado el control vuelve al lugar desde donde fue hecha la llamada

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 33: PROYECTO  METODOLOGIA DENYS.pptx

INTERRUPTORES O CONMUTADORES

Un interruptor o conmutador es un campo de memoria (variable) que toman diversos valores a lo largo de la ejecucioacuten del programa Los valores que toma son normalmente 1 o siacute (encendidoabierto) y 0 o no (apagadocerrado) (de ahiacute su nombre de interruptor)a) Recordar en un determinado lugar del programa la ocurrencia o no de un suceso b) Realizar de forma alternativa independiente dos procesos alternativos

SUBPROGRAMA

Un subprograma se utiliza por el programa para un fin especiacutefico El subprograma recibe datos del programa y le devuelve resultados Se dice que el programa llama o invoca al subprograma El subprograma ejecuta una tarea a continuacioacuten retorna o devuelve el control al programa Esta accioacuten puede suceder en diferentes partes del programa Cada vez que el subprograma es llamado el control vuelve al lugar desde donde fue hecha la llamada

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 34: PROYECTO  METODOLOGIA DENYS.pptx

SUBRUTINA O PROCEDIMIENTO

Las subrutinas pueden ser llamadas desde el programa principal tantas veces como sea preciso devolviendo el control al programa principal cuando se termina su ejecucioacuten La subrutinas tienen la ventaja de ser totalmente independiente del programa principal se pueden almacenar en memoria en cualquier orden y ademaacutes no necesitan posiciones contiguas en esa memoria

FUNCIONESLas funciones o subprogramas abiertos son un moacutedulo o parte del programa que realiza un determinado caacutelculo que se utilizaraacute en una expresioacuten del moacutedulo que llama a la funcioacuten Se diferencia del procedimiento o subrutina en que la subrutina cuando se le invoca o referencia entrega un resultado uacutenico mientras que los procedimientos o subrutinas pueden entregar 1 2 3 n valores

QUEgrave ES UN PROGRAMA Y UN REQUERIMIENTO

PROGRAMA es un conjunto de instrucciones preparadas para que un ordenador maacutequina herramienta u otro aparato automaacutetico puedan efectuar una sucesioacuten de operaciones determinadasREQUERIMIENTOS son las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 35: PROYECTO  METODOLOGIA DENYS.pptx

ANALISIS DEL PROBLEMA Entendido el problema (que se desea obtener del computador) para resolverlo es preciso analizar Los datos o resultados que se esperan Los datos de entrada que nos suministran El proceso al que se requiere someter esos datos a fin de obtener los resultados esperados Aacutereas de trabajo foacutermulas y otros recursos necesarios Una recomendacioacuten muy praacutectica es el que nos pongamos en el lugar del computador y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados

FACES DEL PROCESO DE UN PROGRAMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA ANALISIS DEL PROBLEMA

DEFINICION DE REQUERIMIENTOS O DEL PROBLEMA Estaacute dada por el enunciado del problema el cuaacutel debe ser claro y completo Requerimientosson las necesidades y caracteriacutesticas que deberaacute cubrir el nuevo programa

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 36: PROYECTO  METODOLOGIA DENYS.pptx

DESARROLLO DE UNA SOLUCIOacuteN Lo importante es determinar cuaacutel es la mejor alternativa la que produce los resultados esperados en el menor tiempo y al menor costo

DESARROLLO DE ALGORITMOSLa representacioacuten graacutefica de una secuencia loacutegica de pasos a cumplir por el computador para producir un resultado esperado es decir hacer una codificacioacuten del programa pero utilizando instrucciones en Espantildeol Esto es lo que denominaremos Algoritmo o Pseudocoacutedigo Cuando logremos habilidad para desarrollar programas es posible que no elaboremos el diagrama de flujo en su lugar podremos hacer directamente el pseudocoacutedigo del programa

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 37: PROYECTO  METODOLOGIA DENYS.pptx

PRUEBA DE ESCRITORIOEs la comprobacioacuten o prueba que consiste en que tomemos diferentes datos de entrada al programa y seguimos la secuencia indicada en el diagrama o algoritmo hasta obtener los resultados El anaacutelisis de estos nos indicaraacute si el diagrama esta correcto o si hay necesidad de hacer ajustes

CODIFICACIOacuteN Una vez que hayamos verificado el diagrama mediante las pruebas de escritorio codificamos el programa en el lenguaje de computador seleccionado Esto es colocamos cada paso del diagrama en una instruccioacuten o sentencia utilizando un lenguaje que el computador reconoce

DOCUMENTACION INTERNA

Todos los lenguajes de programacioacuten proveen facilidades para incluir liacuteneas de comentarios en los programas Estos comentarios aclaran lo que se ordena al computador y facilitan entender el programa Puesto que estos comentarios no se tienen en cuenta como instrucciones y aparecen en los listados del programa resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos Esto es lo que se denomina Documentacioacuten Interna

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 38: PROYECTO  METODOLOGIA DENYS.pptx

COMPILADORUn compilador es un programa que permite traducir el coacutedigo fuente de un programa en lenguaje de alto nivel a otro lenguaje de nivel inferior (tiacutepicamente Lenguaje de maquina)

PRUEBAS DE COMPUTADORCuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute para lo cuaacutel suministramos datos de prueba como lo hicimos en la prueba de escritorioAquiacute veremos si nuestro programa funciona si tiene la calidad y la estructura deseada

DOCUMENTACIOacuteN EXTERNAConsiste en describir por escrito a nivel teacutecnico los procedimientos relacionados con el programa y su modo de uso Enunciado del problema Diagrama de pasada Narrativo con la descripcioacuten de la solucioacuten Relacioacuten de las variables o campos utilizados en el programa cada uno con su respectiva funcioacuten Diagrama del programa Listado de la uacuteltima compilacioacuten Resultados de la ejecucioacuten del programa

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 39: PROYECTO  METODOLOGIA DENYS.pptx

PROGRAMACIOacuteN MODULAREs un paradigma de programacioacuten que consiste en dividir un programa en moacutedulos o subprogramas con el fin de hacerlo maacutes legible y manejable

CONCEPTO DE MOacuteDULOEs cada una de las partes de un programa que resuelve uno de los subproblemas en que se divide el problema complejo originalEn caso de que un moacutedulo necesite de otro puede comunicarse con eacuteste mediante una interfaz de comunicacioacuten que tambieacuten debe estar bien definida

REQUISITOS DE LA PROGRAMACIOgraveN MODULAR Un modulo solo puede tener una entrada y solo puede tener una uacutenica salida el modulo principal debe indicar la solucioacuten completa del problema no necesitan colaboracioacuten de otros debe representar por si mismo una estructura coherente y resolver una parte bien definida del problema deben estar previamente definidos debe existir conexioacuten entre los moacutedulos pueden ejecutarse unos a continuacioacuten de otros o pueden ser llamados en momentos determinados para su ejecucioacuten

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 40: PROYECTO  METODOLOGIA DENYS.pptx

CLASIFICACIOacuteN DE LOS MOacuteDULOSPROCEDIMIENTOS- Es un subprograma que realiza una tarea especiacutefica Hace que se ejecute basta con escribir su nombre en el cuerpo de otro procedimiento o en el programa principal Pero hay que tener muy en cuenta que su declaracioacuten debe hacerse antes de que sea llamado por otro moacutedulo EJEMPLO cerrar_fichero(fd) sumar(abx) FUNCIONES-Es una estructura autoacutenoma similar a los moacutedulos La funcioacuten se relaciona especificando su nombre en una expresioacuten como si fuera una variable ordinaria de tipo simple Las funciones se dividen en estaacutendares y definidas por el usuarioEJEMPLOfd=abrirfichero(cficherotxt) x=sumar(ab)

TEacuteCNICAS DE PROGRAMACIOacuteN MODULAREl disentildeo de un programa que se realiza sin seguir una metodologiacutea puede funcionar pero se debe tener en cuenta que con el tiempo se convertiraacute en un conjunto de instrucciones

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 41: PROYECTO  METODOLOGIA DENYS.pptx

DISENtildeO DESCENDENTE Este es un proceso en el cual el problema se descompone en una serie de niveles o pasos sucesivosEsta metodologiacutea consiste en crear una relacioacuten entre las etapas de estructuracioacuten las que son sucesivas de tal forma que se interrelacionen mediante entradas y salidas de informacioacuten

ENSAMBLE ASCENDENTEEste sistema se refiere a la identificacioacuten de los uacutenicos problemas del sistema refirieacutendose a que la resolucioacuten de los problemas se resuelven en el nivel maacutes bajo A diferencia del tipo descendente este se enumera por los moacutedulos inferiores

REFINAMIENTO DE PASOS SUCESIVOSConsiste en plantear la aplicacioacuten como uacutenica operacioacuten global e irla descomponiendo en operaciones maacutes sencillas detalladas y especiacuteficas En cada nivel de refinamiento las operaciones identificadas se asignan a moacutedulos separados

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 42: PROYECTO  METODOLOGIA DENYS.pptx

CRITERIOS DE MODULARIZACIOacuteN

Establecimiento de un organigrama modular Se realiza mediante bloques en el que cada bloque corresponde a un moacutedulo y muestra graacuteficamente la comunicacioacuten entre el moacutedulo principal y los secundarios

Descripcioacuten del moacutedulo principal Debe ser claro y conciso reflejando los punto fundamentales del programa

Descripcioacuten de los moacutedulos baacutesicos o secundarios Los moacutedulos baacutesicos deben resolver partes bien definidas del problema Solo pueden tener un punto de entrada y un punto de salida Si un moacutedulo es complejo de resolver conviene se subdivida en submoacutedulos Ninguacuten moacutedulo puede ser llamado desde distintos puntos del moacutedulo principal

Normas de la programacioacuten Dependeraacuten del anaacutelisis de cada problema y de las normas generales o particulares que haya recibido el programador

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 43: PROYECTO  METODOLOGIA DENYS.pptx

PROGRAMACION ESTRUCTURADA

La programacioacuten estructurada es un estilo con el cual se busca que el programador elabore programas sencillos y faacuteciles de entender Para ello la programacioacuten estructurada hace uso de tres estructuras baacutesicas de control que son estructura secuencial selectiva y repetitiva

CONSEPTOS BASICOS

El maacutes baacutesico es el lenguaje de maquina una coleccioacuten de instrucciones muy detallada que controla la circuiteriacutea interna de la maquina Muy pocos programas se escriben actualmente en lenguaje de maquina por dos razones importantes primero porque el lenguaje de maquina es muy incomodo para trabajar y segundo por que la mayoriacutea de las maquinas se pideprogramar en diversos tipos de lenguajes que son lenguajes de alto nivel

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 44: PROYECTO  METODOLOGIA DENYS.pptx

ESTRUCTURA SELECTIVA Tambieacuten conocida como la estructura si-verdadero-falso plantea la seleccioacuten entre dos alternativas con base en el resultado de la evaluacioacuten de una condicioacuten equivale a la instruccioacuten IF de todos los lenguajes de programacioacuten

ESTRUCTURA REPETITIVA (iterativa) tambieacuten llamada la estructura hacer-mientras-que corresponde a la ejecucioacuten repetida de una instruccioacuten mientras que se cumple una determinada condicioacuten

ESTRUCTURAS BAacuteSICAS DE CONTROL

ESTRUCTURA SECUENCIAL Indica que las instrucciones de un programa se ejecutan una despueacutes de la otra en el mismo orden en el cual aparecen en el programa Se representa graacuteficamente como una caja despueacutes de otra ambas con una sola entrada y una uacutenica salida

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 45: PROYECTO  METODOLOGIA DENYS.pptx

METODO DE JACKSON

Meacutetodo de representacioacuten de programa en forma de aacuterbol denominado diagrama arborescente de Jackson un diagrama de Jackson consta de bull Definicioacuten detallada de los datos de entrada y salida incluyendo los archivos loacutegicos utilizadosbull Representacioacuten del proceso o algoritmoLa simbologiacutea utilizada es la siguiente

La lectura del aacuterbol se realiza en pre ordenbull Situarse en la raiacutez (R)bull Recorrer el subaacuterbol izquierdo (I)bull Recorrer el subaacuterbol derecho (D)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 46: PROYECTO  METODOLOGIA DENYS.pptx

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece procesos

AB

C

condicioacuten

si a 0 No a 0

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

proceso

A

condicioacuten

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 47: PROYECTO  METODOLOGIA DENYS.pptx

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable 1048773 expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salida Imprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparecebull Alternativa En esta instruccioacuten la condicioacuten es booleana

REPETICION O BUCLES En un bucle hay una o varias acciones que se hande repetir y una condicioacuten que determina el nuacutemero de veces que serepiten las instrucciones

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 48: PROYECTO  METODOLOGIA DENYS.pptx

METODO DE WARNIEREl meacutetodo se basa en el empleo de llaves de distintos tamantildeos que se relacionan entre siacuteLa representacioacuten del algoritmo se basa en los siguientes puntosbull Un programa se representa por un solo diagrama en la cual se engloban todas las operaciones estas operaciones estaacuten colocadas a la derecha de la llave y en la parte izquierda se encuentra el nombrebull En la parte superior de la llave principal se coloca inicio

bull En la parte inferior de la llave principal se coloca fin

ACCIONES SIMPLESLas acciones simples tambieacuten denominadas instrucciones primitivas son aquellas que el procesador ejecuta de forma inmediatabull Asignacioacuten Almacena en una variable el resultado de evaluar una expresioacuten Variable expresioacutenbull Entrada Toma un dato del dispositivo de entrada Leer (Variable)bull Salida Devuelve un dato al dispositivo de salidaImprimir (variable)

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 49: PROYECTO  METODOLOGIA DENYS.pptx

SENTENCIAS DE CONTROLTambieacuten se llaman sentencias estructuradas y controlan el flujo de ejecucioacuten de otras instruccionesbull Secuencia Se ejecutan instrucciones de I1I2In en el mismo orden en el que aparece

bull Alternativa En esta instruccioacuten la condicioacuten es booleana

bull Repeticioacuten o bucles En un bucle hay una o varias acciones que se han de repetir y una condicioacuten que determina el nuacutemero de veces que se repiten las instrucciones

11 12 13

si 11 condicioacuten

no 12

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50
Page 50: PROYECTO  METODOLOGIA DENYS.pptx

DIFERENCIAS

El meacutetodo de Jackson solo evaluacutea cada modulo el cual contiene una serie de sentencias la cual no son evaluadas para terminar los moacutedulos estos proceso pasan a terminarse sin evaluarse y se evaluacutean hasta que terminan

En el meacutetodo de Warnier todo esto es diferente mientras que cada modulo y sentencia se van evaluando al mismo tiempo

  • Slide 1
  • Slide 2
  • Slide 3
  • Slide 4
  • Slide 5
  • Slide 6
  • Slide 7
  • Slide 8
  • Slide 9
  • Slide 10
  • Slide 11
  • Slide 12
  • Slide 13
  • Slide 14
  • Slide 15
  • Slide 16
  • Slide 17
  • Slide 18
  • Slide 19
  • Slide 20
  • Slide 21
  • Slide 22
  • Slide 23
  • Slide 24
  • GRAacuteFICA (DIAGRAMAS DE FLUJO)
  • Slide 26
  • Slide 27
  • Slide 28
  • Slide 29
  • Slide 30
  • Slide 31
  • Slide 32
  • Slide 33
  • Slide 34
  • Slide 35
  • Slide 36
  • Slide 37
  • Slide 38
  • Slide 39
  • Slide 40
  • Slide 41
  • Slide 42
  • Slide 43
  • Slide 44
  • Slide 45
  • Slide 46
  • Slide 47
  • Slide 48
  • Slide 49
  • Slide 50