Vous êtes sur la page 1sur 10

Estructura general de un programa

I - PROGRAMA Un programa de computadoras es un conjunto de instrucciones u ordenes dadas a la mquina que producir la ejecucin de una determinada tarea. En esencia, un programa es el medio para conseguir un fin. El desarrollo de un programa requiere las siguientes fases: 1. definicin y anlisis del problema 2. diseo de algoritmos diagrama de flujos pseudocdigo 3. codificacin de programa 4. depuracin y verificacin del programa 5. documentacin 6. mantenimiento II - PARTES CONSTITUTIVAS DE UN PROGRAMA Tras la decisin de desarrollar un programa, el programador debe establecer el conjunto de especificaciones que debe contener el programa: entrada salida y algoritmos de resolucin, que incluirn las tcnicas para obtener las salidas de las entradas. Conceptualmente un programa puede ser considerado como una caja negra, la caja negra o el algoritmo de resolucin, en realidad, es el conjunto de cdigos que transforma las entradas (datos) del programa en salidas (resultado). El programador debe establecer de donde provienen las entradas al programa. Las entradas, en cualquier caso, procedern de un dispositivo de entrada (teclado, disco, etc.). el proceso de introducir la informacin de entrada (dato) en la memoria de la computadora se denomina entrada de datos, operacin de lectura o accin de leer. Las salidas de datos se deben presentar en dispositivos perisfricos de salida: pantalla, impresoras, discos, etc. La operacin de salida de datos se conoce como escritura o accin de escribir. III - INSTRUCCIONES Y TIPOS DE INSTRUCCIONES El proceso de diseo del algoritmo o posteriormente de codificacin del programa consiste en definir las acciones o instrucciones que resolvern el problema. Las acciones o instrucciones se deben escribir y posteriormente almacenar en el mismo orden en que han de ejecutarse, es decir, en secuencia. Un programa puede ser lineal o no lineal. Un programa es lineal si las instrucciones se ejecutan secuencial mente, sin bifurcaciones, decisiones ni comparaciones. Un programa no es lineal cuando se interrumpe la secuencia mediante instrucciones de bifurcacin. Tipos de Instrucciones Las instrucciones disponibles en lenguaje de programacin dependen del tipo de lenguaje. Sin embargo las instrucciones bsicas son independientes del lenguaje. La clasificacin ms usual es: 1. instrucciones de inicio/fin 2. instrucciones de asignacin 3. instrucciones de lectura 4. instrucciones de escritura 5. instrucciones de bifurcacin. Algunas de las instrucciones Tipos de instrucciones Pseudocdigo ingls Pseudocdigo espaol Comienzo de proceso begin inicio Fin de proceso end fin Entrada (lectura) read leer Salida (escritura) write escribir asignacin A5 B7 instrucciones de asignacin

Ejemplos de instrucciones de asignacin: a) A 80 la variable A toma el valor de 80. b) Que valor tomara la variable C tras la ejecucin de las siguientes instrucciones. A 12 A contiene el valor 12 BA B contiene el valor de A, es decir, 12 CB C contiene el valor de B, el cual contiene el valor de A que es 12 c) N 2 Se le asigna a la variable N el valor 2 N N + 5 Se realiza el calculo N + 5 y el resultado se asigna nuevamente a la variable N, es decir, N toma un nuevo valor, en este caso 7. Instrucciones de lectura de datos (entrada) Esta instruccin lee datos de un dispositivo de entrada. Ej: leer (NMERO, HORAS, TASA) Leer del terminal los valores NUMERO, HORAS, TASA, estos valores se archivan en la memoria; suponiendo que los tres nmeros se tecleados en respuesta a la instruccin son 123, 32, 120, significara que se han asignado a las variables esos valores y equivaldra a la ejecucin de las instrucciones. NUMERO 123 HORAS 32 TASA 120 Instrucciones de escritura de resultados (salida) Estas instrucciones se escriben en un dispositivo de salida. Ej: A 100 B 200 C 300 escribir (A, B, C) Se visualizara en la pantalla o imprimira en la impresora los valores 100, 200 y 300 que contiene las variables A, B y C. Instrucciones de bifurcacin El desarrollo lineal de un programa se interrumpe cuando se ejecuta una bifurcacin. Las bifurcaciones pueden ser, segn el punto del programa a donde se bifurca, hacia delante o hacia atrs bifurcacin hacia atrs instruccin 1 instruccin 2 instruccin 3 instruccin 8 bifurcacin adelante instruccin 1 instruccin 2 instruccin 3 instruccin 8

Las bifurcaciones en el flujo de un programa se realizarn de modo condicional en funcin del resultado de la evaluacin de la condicin. Bifurcacin incondicional: la bifurcacin se realiza siempre que el flujo del programa pase por la instruccin sin necesidad del cumplimiento de ninguna condicin. Bifurcacin condicional: la bifurcacin depende del cumplimiento de una determinada condicin. IV - ELEMENTOS BSICOS DE UN PROGRAMA En programacin se debe separar la diferencia entre el diseo del algoritmo y su implementacin en un lenguaje especfico. Por ello, se debe distinguir claramente entre los conceptos de programacin y medio en que ellos se implementan en un lenguaje especfico. Sin embargo, una vez que se

comprendan los conceptos de programacin cmo utilizarlos, la enseanza de un nuevo lenguaje es relativamente fcil. Los lenguajes de programacin, como los restantes lenguajes, tienen elementos bsicos que se utilizan como bloques constructivos, as como reglas para las que esos elementos se combinan. Estas reglas se denominan sintaxis del lenguaje. Solamente las instrucciones sintctica mente correcta pueden ser interpretadas por la computadora y todos los programas que contengan errores de sintaxis son rechazados por la mquina. Los elementos bsicos o constitutivos de un programa son: Palabras reservadas (inicio, fin, si-entocesetc). Identificadores (nombres de variables esenciales, procedimientos, funciones, nombres del programaetc). Caracteres especiales (coma, apstrofos, etc.). Constantes Variables Expresiones Instrucciones Adems de estos elementos bsicos, existen otros elementos que forman parte de los programas, cuya comprensin y funcionamiento ser vital para el correcto diseo de un algoritmo y naturalmente la codificacin del programa. Estos elementos son: Bucles Contadores Acumuladores Interruptores Estructuras a) Secuenciales b) Selectivas c) Repetitivas El amplio conocimiento de todos los elementos de programacin y modo de su integracin en los programas constituyen las tcnicas de programacin que todo buen programador debe conocer. V - DATOS, TIPOS DE DATOS Y OPERACIONES PRIMITIVAS El primer objetivo de toda computadora es el manejo de informacin o datos pueden ser las cifras de ventas de un sper mercado o las calificaciones de una clase. Un dato es una expresin general que describe los objetos con los cuales opera una computadora. La mayora de las computadoras pueden trabajar con varios tipos de datos. Los algoritmos y los programas correspondientes operan sobre esos tipos de datos. La accin de las instrucciones ejecutables de las computadoras se refleja en cambios en los valores de las partidas de los datos. Los datos de entrada se transforman por el programa, despus de las etapas intermedias en datos de salida. Existen dos tipos de datos: simples (sin estructura) y compuestos (estructurados). Los datos estructurados son conjuntos de partidas de datos simples con relaciones definidas entre ellos. Los distintos tipos de datos se representan en diferentes formas en la computadora. A nivel de maquina, un dato es un conjunto o secuencia de bits (dgitos 0 o 1). Los lenguajes de alto nivel permiten basarse en abstracciones e ignorar los de detalles de la representacin. Los tipos de datos simples son los siguientes: numricos (interger,real) lgicos (booleam) caracteres (char, string) Existen algunos lenguajes de programacin FORTRAN esencialmente- que admiten otros tipos de datos; complejos, que permiten tratar los nmeros complejos, y otros lenguajes pascal- que tambin permiten declarar y definir sus propios tipos de datos; enumerados (enumerated) y subrango (subrange).

Datos numricos El tipo numrico es el conjunto de valores numricos. Estos pueden representarse en dos formas distintas: Tipo numrico entero (interger). Tipo numrico real (real). Enteros: el tipo entero es un subconjunto finito de los nmeros enteros. Los enteros son nmeros completos, no tienen componentes fraccionarios o decimales y pueden ser negativos o positivos. Ejemplos de nmeros enteros son: 5 6 -15 4 20 17 1340 26 Los enteros se denominan en ocasiones nmeros de puntos o coma fija. Los nmeros enteros mximos y mnimos de una computadora suelen ser -32768 a 32768. Los nmeros enteros fuera de este rango no se puede representar como entero, sino como reales, aunque existen excepciones enteros largos: FORTAN, Turbo Basic, etc. Reales: el tipo real consiste en un subconjunto de los nmeros reales. Los nmeros reales siempre tienen un punto decimal y pueden ser positivos o negativos. Un nmero real consta de una parte entera y una parte decimal. Los siguientes ejemplos son nmeros reales: 0.08 3739.41 3.7452 -52.321 -8.12 3.0 En aplicaciones cientficas se requiere una representacin especial para manejar nmeros muy grandes, como la masa de la Tierra, o muy pequeos como la masa de un electrn. Una computadora solo puede representar un nmero fijo de dgitos. Este nmero puede variar de una maquina a otra, siendo ocho dgitos un nmero tpico. Este lmite provocar problemas para representar y almacenar nmeros muy grandes o muy pequeos como son los ya citados o lo siguientes: 48672135,432 0.00000000387 Existe un tipo de representacin denominada notacin exponencial o cientfica y que se utiliza para nmeros muy grandes o muy pequeos. As. 367520100000000000000 Se representa en notacin cientfica descomponindolo en grupos de tres dgitos. 367 520 100 000 000 000 000 Y posteriormente en forma de potencia de 10 3.675201 x 1020 Y de modo similar .0000000000302579 3.02575 x 10-11 La representacin en coma flotante es una generalizacin de notacin cientfica. Obsrvese que las siguientes expresiones son equivalentes: 3.675201 x 1019 = .3675201 x 10 20 = .03675201 x 10 21 36.75201 x 1018 = 367.5201 x 10 17 = 3675.201 x 10 16 Datos lgicos (booleanos) El tipo lgico es aquel dato que solo puede tomar uno de dos valores: cierto o verdadero (true) y falso (false). Este tipo de datos se utiliza para representar las alternativas (si/no) a determinadas condiciones. Ej: cuando se pide si un valor entero es par, la respuesta ser verdadera o falsa, segn sea par o impar. leer (num) si ((num mod 2) = = 0) Imprimir(Es par) sino Imprimir (No es par)

Datos tipo carcter y tipo cadena El tipo carcter es un conjunto finito y ordenado de caracteres que la computadora reconoce. Un dato tipo carcter contiene un solo carcter. Los caracteres que reconocen las diferentes computadoras no son estndares, sin embargo, la mayora reconoce los siguientes caracteres: caracteres alfabticos (A, B, C, . . . Z) (a, b, c, . . . z) caracteres numricos (0, 1, 2. . . 9) caracteres especiales (+, -, *, /, &, @, #, {}, []. . . ) Una cadena (string) de caracteres es una sucesin de caracteres que se encuentran delimitados por una comilla (apstrofo) o doble comillas, segn el lenguaje de programacin. La longitud de una cadena de caracteres es el nmero de ellos comprendidos entre separadores o limitadores. Algunos lenguajes tienen dato tipo cadena. Ej: hola Mortimer 23 de diciembre del 2012 = ) sonrie VI CONSTANTES Y VARIABLES Los programas de computadora contienen ciertos valores que no deben cambiar durante la ejecucin del programa. Tales valores se llaman constantes. De igual forma, existen otros valores que cambiarn durante la ejecucin del programa; a estos valores se les llama variables. Constantes: es una partida de datos que permanecen sin cambios durante todo el desarrollo del algoritmo o durante la ejecucin del programa. Constantes tipo numrico Ej: Constantes reales vlidos constantes reales no vlidos 1.234 1,752.63 (comas no permitidas) - 0.1436 82 (normalmente tiene que contener un punto decimal, aunque hay lenguajes que lo admite sin punto) Una constante tipo carcter: o constante de caracteres consiste en un carcter vlido encerrado dentro de apstrofos; Ej: B + 4 ; O una cadena de caracteres Juan Dominguez Constantes lgicas (boolean) Slo existen dos constantes lgicas verdadero falso Variable: Es un conjunto o partida de datos cuyo valor puede cambiar durante el desarrollo del algoritmo o ejecucin del programa. Dependiendo del lenguaje hay diferentes tipos de variables, tales como enteras, reales, carcter, lgicas y de cadena. Una variable que es de un cierto tipo solo puede tomar valores de ese tipo. Una variable se identifica por los siguientes atributos: nombre que lo asigna y tipo que describe el uso de la variable. Los nombres de las variables conocidas tambin como identificadores, suelen constar de varios caracteres alfabticos. No se deben utilizar como identificadores palabras reservadas del lenguaje de programacin. Los nombres de las variables elegidas para el algoritmo deben ser significativos y tener relacin con el objeto que representa. Ej: NOMBRE para representar nombres de personas PRECIOS para representar los precios de diferentes artculos NOTAS para representar las notas de una clase

VII EXPRESIONES Las expresiones son combinaciones de constantes, variables, smbolos de operacin, parntesis y nombres de funciones especiales. Las mismas ideas son utilizadas en notacin matemtica tradicional; por ejemplo. a+(b+3)+c1/2 Aqu los parntesis indican el orden de clculo y c1/2 representa la funcin raz cuadrada. Se representa a + (b + 3) + c^(1/2) Cada expresin toma un valor que se determina tomando los valores de las variables y constantes implicadas y la ejecucin de las operaciones indicadas. Una expresin consta de operandos y operadores. Segn sea el tipo de objetos que manipulan, las expresiones se clasifican en: Aritmticas Relacionales Lgicas Carcter El resultado de una expresin aritmtica es de tipo numrico; el resultado de la expresin relacional y de una expresin lgica es de tipo lgico; el resultado de una expresin carcter es de tipo carcter. Expresiones aritmticas Las expresiones aritmticas son anlogas a las frmulas matemticas. Las variables y constantes son numricas (real o entera) y las operaciones son las aritmticas. + suma resta * multiplicacin / divisin , **, ^ exponenciacin div divisin entera mod mdulo (resto) Ej: 5x7 se representa 5*7 62 se representa 6/2 3 3 se representa 3^3 (3 x 22 + 22) 4 se representa (3 * 2 ^ 2 + 2 ^ 2) / 4 Operadores DIV y MOD El smbolo / se utiliza para la divisin real y el operador div por lo general representa la divisin entera. El operador mod representa el resto de la divisin entera, aunque hay lenguajes que utilizan otros smbolos como %. Ej: 19 div 3 equivale a 6 19 mod 6 equivale a 1 10 div 3 equivale a 3 12 mod 4 equivale a 0 Reglas de prioridad Las expresiones que tienen dos o ms operandos requieren unas reglas matemticas que permitan determinar el orden de las operaciones, estas reglas se denominan reglas de prioridad o presentencia y son: 1. Las operaciones que estn encerradas en parntesis se evala primero. Si existen diferentes parntesis anidados (interiores unos a otros), las expresiones ms internas se evalan primero. 2. Las operaciones aritmticas dentro de una expresin suelen seguir el siguiente orden de prioridad:

Operador exponencial (^, , **) Operadores *, / Operadores div y mod Operadores de suma y resta En caso de coincidir varios operadores de igual prioridad, el orden de prioridad en ese caso es de izquierda a derecha. Ej: 8 + 7 * 3 + 4 * 6 8 + 21 + 24 29 + 24 53 Expresiones lgicas (booleanas) Un segundo tipo de expresiones es la expresin lgica, cuyo valor es siempre verdadero o falso. Las expresiones lgicas se forman combinando constantes lgicas, variables lgicas y otras expresiones lgicas, utilizando los operadores lgicos not, and y or y los operadores relacionales o de comparacin; =, <, >, <=, >=, <>. Operadores de relacin Los operadores de relacin permiten realizar comparaciones de valores de tipo numrico o carcter. Los operadores de relacin sirven para expresar las condiciones en los algoritmos. El formato general para las expresiones es. Expresin1 operador de relacin expresin2 Operador Significado < Menor que > Mayor que == Igual que <= Menor o igual que >= Mayor o igual que <> Distinto que Y el resultado de la operacin ser verdadero o falso Ej: 3<6 verdadero 0>3 falso 2 == 2 verdadero 9 >= 9 verdadero 8 <= 10 falso Para realizar comparaciones de datos de tipo carcter, se requiere una secuencia de ordenacin de los caracteres similar al orden creciente o decreciente. Esta ordenacin suele ser alfabtica, tanto maysculas como minsculas, y numrica, considerndose de modo independiente. Pero si se consideran caracteres mixtos, se debe recurrir a un cdigo normalizado como es el de ASCII. Aunque no todas las computadoras siguen el cdigo normalizado en su juego completo de caracteres s son prcticamente estndar los cdigos de los caracteres alfanumricos ms usuales. Operadores lgicos Los operadores lgicos bsicos son not (no), and(y) y or (o). Funcionamiento de los operadores lgicos Operador lgico Expresin lgico Significado No (not) no p (not p) Negacin de p Y (and) p y q (p and q) Conjuncin de p y q O (or) p o q (p o q) Disyuncin de p y q Ej (1 > 0) y (3 = = 3) verdadero (0 >= 3) o (5 < 7) verdadero (4<>6) y (8 < 1) falso

Prioridad de los operadores lgicos Los operadores aritmticos seguan un orden especfico de prioridad cuando exista ms de un operador en las expresiones. De modo similar, los operadores lgicos tienen una orden de prioridad. Ej: Prioridad de operadores (lenguaje java) Operador Prioridad ++ y -- (incremento y decremento en 1) *, /, % +, <, >, >=, <= = = (igual a), != (no igual a) && (lgico y, and) (lgico o, or) =, +=, -=, *=, /=, %= (operadores de asignacin) Al igual que en las expresiones aritmticas, los parntesis se pueden utilizar y tendrn prioridad sobre cualquier operacin VIII FUNCIONES INTERNAS Las operaciones que se requieren en los programas exigen en numerosas ocasiones, adems de las operaciones aritmticas bsicas, ya tratadas, un nmero determinado de operadores especiales que se denominan funciones internas, incorporadas o estndar. Las funciones internas ms usuales funcin Descripcin Tipo de argumento Resultado abs (x) Valor absoluto de x Entero o real Igual que argumento arctan (x) Arco tangente de x Entero o real real cos (x) Coseno de x Entero o real real exp (x) Exponencial de x Entero o real real ln (x) Logaritmo neperiano de x Entero o real real log10 (x) Logaritmo decimal de x Entero o real real redondeo(x)(round(x))* Redondeo de x real entero seno (x) (sin(x))* Seno de x Entero o real real cuadrado (x) (sqr(x))* Cuadrado de x Entero o real igual que argumento raiz2 (x) (sqrt(x))* Raz cuadrada de x Entero o real real Trunc (x) Truncamiento de x real entero IX LA OPERACIN DE ASIGNACIN La operacin de asignacin es el modo de almacenar valores a una variable. La operacin de asignacin se representa con el smbolo u operador . La operacin de asignacin se conoce como instrucciones o sentencias de asignacin cuando se refiere a un lenguaje de programacin. El formato general de una operacin de asignacin es: Nombre de la variable expresin La flecha se sustituye en otros lenguajes por = , sin embargo, en la redaccin de algoritmos es preferible usar la flecha. Ej: A 5 significa que a la variable A se le ha asignado el valor 5 La accin de asignar es destructiva, ya que el valor que tuviera la variable antes de la asignacin se pierde y se reemplaza por el nuevo valor Ej A5 se le asigna el valor 5 a la variable A A 25 el valor 5 asignado anteriormente se pierde y es reemplazado por 25

Hay diferentes formas de asignacin. A continuacin se muestran algunas X Y + 2 en este caso el resultado del clculo de la derecha es asignado a la variable X N N + 1 es posible utilizar tambin utilizar el mismo nombre de variable en ambos lados del operador de asignacin. Asignacin aritmtica Las expresiones en las operaciones de asignacin son aritmticas: Ej: AMN 3 + 14 + 8 se evala la expresin de la derecha y se le asigna el resultado a AMN TER1 5 + 8 se le asigna a TER1 el resultado del clculo 5+8 TER2 2 + 3 se le asigna a TER2 el resultado del clculo 2+3 COCIENTE TER1 / TER2 se le asigna a COCIENTE el resultado del clculo TER1/TER2 Asignacin lgica La expresin que se evala en la operacin de asignacin es lgica. Ej: Suponiendo que M, N, P son variables de tipo lgico. M8<5 N M o (7 < = 12) P 7>6 Tras evaluar las operaciones anteriores, las variables M, N, y P tomaran los valores falso, verdadero, verdadero. Asignacin de cadenas de caracteres La expresin que se evala es de tipo cadena: X Juan Perez a la variable de tipo carcter X se le asigna la cadena de caracteres Juan Perez. X ENTRADA Y SALIDA DE INFORMACIN Los clculos que realizan las computadoras requieren para ser tiles la entrada de los datos necesarios para ejecutar las operaciones que posteriormente se convertirn en resultados o salida. Las operaciones de entrada permiten leer determinados valores y asignarlos a determinadas variables. Esta entrada se conoce como operacin de lectura (read). Estos datos son procesados y transformados en salida. La operacin de salida se denomina escritura (write). En la escritura de algoritmos las acciones de lectura y escritura se representa por los formatos siguientes leer ( lista de variables de entrada ) escribir ( lista de variables de salida ) Ej: leer (A, B, C) representa la lectura de tres valores de entrada que se asignaran a las variables A, B, C escribir (hola Vargas) visualiza en la pantalla el mensaje hola Vargas XI ESCRITURA DE ALGORITMOS / PROGRAMAS La escritura de un algoritmo mediante una herramienta de programacin debe ser lo ms clara posible y estructurada, de modo que su lectura facilite considerablemente el entendimiento del algoritmo y su posterior codificacin en un lenguaje de programacin. Un algoritmo consta de dos componentes: una cabecera de programa y un bloque algoritmo. La cabecera de programa es una accin simple que comienza con la palabra algoritmo. Debe estar seguida por el nombre asignado al programa completo. El bloque algoritmo es el resto del programa y consta de dos componentes o secciones: las acciones de declaracin y las acciones ejecutables.

Las declaraciones definen o declaran las variables y constantes que tengan nombres. Las acciones ejecutables son las acciones que posteriormente deben realizar la computacin cuando el algoritmo convertido en programa se ejecute. algoritmo cabecera del programa seccin de declaracin seccin de acciones Estudiaremos las partes basndonos en el pseudocdigo Cabecera del programa o algoritmo Todos los algoritmos y programas deben comenzar con una cabecera en la que se exprese el identificador o nombre correspondiente con la palabra reservada que seale el lenguaje. En los lenguajes de programacin, la palabra reservada suele ser program. En algortmica se denomina algoritmo. Declaracin de variables En esta seccin se declaran o describen todas las variables utilizadas en el algoritmo, listndose sus nombres y especificando sus tipos. Esta seccin comienza con la palabra reservada var y tiene el siguiente formato. var tipo1 : lista de variables1 tipo2 : lista de variables2 tipon : lista de variables_n donde cada lista variables es una variable simple o una lista de variables separadas por comas y cada tipo es uno de los tipos de datos bsicos (entero, real, carcter, etc). Ej: var entera : numero_empleado real : horas, impuesto, salario Declaracin de constantes numricas En esta seccin se declaran todas las constantes que tengan nombre. Su formato es const pi = 3.141592 tamao = 43 horas = 6.50 Los valores de estas constantes ya no pueden variar en el transcurso del algoritmo. Declaracin de constantes y variables carcter Las constantes de carcter simple y cadenas de caracteres pueden ser declarados en la seccin del programa const, al igual que las constantes numricas. const estrella = * frase = 12 de octubre mensaje = Hola, que tal ? Comentarios La documentacin de un programa es el conjunto de informacin interna externa al programa, que facilita su posterior mantenimiento. La documentacin puede ser interna y externa. La documentacin externa es aquella que se realiza externamente al programa y con fines de mantenimiento y actualizacin La documentacin interna es la que se acompaa en el cdigo o programa fuente y se realiza a base de comentarios significativos. Estos comentarios se representan con diferentes notaciones, segn el tipo de lenguaje de programacin. Las ms comunes son: // para comentarios de una lnea /*. . . . */ para un bloque de comentarios (* . . . . *) para un bloque de comentarios

Vous aimerez peut-être aussi