18 2. RECURSOS DE , LA PROGRAMACION Toda obrera, para poder realizar su abra requiere de un conjunta de recursos (herramientas y materiales) que le servirán para manipular su materia prima y así dar forma a su creación. Las programadores, también san obreros que construyen obras maestras 11 amadas programas, para esto necesi tan también de un conjunto de recursos que les ayudarán a dar forma a su creación, estas recursos san: Constantes, Variables, Instrucciones, Operadores. Funciones, Expresiones, etc. el usa de estas, junto can las técnicas de programación y una dosis personal de creatividad e imaginación san las que ayudarán a crear buenas programas. 2.1. TIPOS DE DATOS DE CARACTER 19 2_1_1_ DATOS NUMsRICOS Es cualquier serie de dígitos del número cuantificable, enteros números y se O al representa en reales, el dos computador 9 que formen un formas: maneja números de modo diferente estas formas: Los números ENTEROS se refiere a números completos; que no tienen parte decimal o fraccionaria, pero puede ser negativos o positivos. Ejemplos: Los 7 5 1000 200 1994 -20 -14 -100 O números REALES siempre tienen un pun to decimal, no existe como almacenar numeradores o denominadores separados, por eso las fracciones se almacenan como números decima les. Ejemplos: 3. 1 4 1 5 9 2 6 2.1275Ll2 -4.100578 -5.1412 -3010.001 7200.301 2~1~2~ DATOS DE CARACTER (ALFA~RICOS) Son los que se agrupan en series o cadenas de caracteres como letras, digi tos, caracteres especiales, puntuación. Ejemplo: UNIVERSIDAD FRANCISCO GAVJDJA. Bo. Las F lores *22, Chalatenango signos de 20 2.1.3. DATOS' LÓGICOS Son aque~los que pueden tomar dos valores ·verdadero· o "-fa 1 so" . 2.2. CONSTANTES Y VARIABLES CONSTANTES La palabra misma lo dice es constante, no cambia, por lo tanto es un valor fijo el de la ejecución de un cual no sufre variación a proceso. Existen diferentes lo largo tipos de constantes de las cuales mencionaremos las más comunes: Constantes Numérícas (Numeras enteros, reales, etc.). Constantes Carácter (Letras, Palabras, Oracíones, etc. ) . Constantes Booleanas o CONSTANTE NUMÉRICAS: lógicas (Verdadero y Falso). Son va l o r e s que reflejan cantidad, datos que cuantifican a un elemento . Ejemplo. 9 - 1994 89 3.141592 0.5 9.123 -4 -8982 5+7 CONSTANTE DE CARACTER: cuantificable, Es un dato que no tiene un si no, un valor de referencia. valor 21 Ejemplo. NOMBRE EDAD Capital El Son . c o n s t a n t e s CONSTANTES LÓGICAS: aunque Salvador solamente existen dos muy especiales, valores, en que base a ellos pueden 1 legar a funcionar muchos programas. Ejemplo. VERDADERO FALSO VARIABLES Son las que sirven para almacenar un dato en memoria. una variable designa simplemente una información mediante un nombre <n o mb r e de la variable). El por qué ser el valor no tiene mismo; ya que se puede cambiar el variable durante la ejecuci ón del programa. guardada De valor de tal la forma que éstas pueden tomar diferentes va t ores en diferentes partes de 1 programa depend e ndo í de los procesos que se estén desarrollando. Cada variable que se utilice en un programa debe contar con dos caracteristicas: al Nombre de la variable bJ Tipos de la variable 22 NOMBRE DE LA VARIABLE Cuando se almacenando quiere una saber variable es cual en una valor el determinada que parte está de un programa es necesario, simplemente hacer referencia al nombre de la variable, el cual no es mas que una descripción mediante caracteres de la variable. Ejemplos: NOMBRE EDAD NaTAl TELEFONO COSTO NOTA2 DIRECCION VENTA PROMEDIO Las anteriores son variables que tienen la capacidad de almacenar el dato que describen, claro que no todas las veces el nombre tendrá. que ser tan riguroso, podrian ut í I izarse abreviaturas o nombres simbólicos. Ejemplos: NOM ED TEL PC DIR PV ( P r e c i o Venta) Ni (Precio Costo) N2 PROM Una recomendación muy importante para poner nombres a las variables es manipular en Ejemplo: que estos, estén relacionados con el dato a el la. PROMEDIO VENTAS TIPOS DE LA VARIABLE: Este elemento describe la clase de información que va ha almacenar la variable. 23 Ejempl .o: Es EDAD una variable almacenar un numérica numero por tener que cuantificable (la cantidad de años de un individual. NOMBRE Es una variable de carácter por guardar información descriptiva (el nombre de un individuo O de una cosa) Una variable que almacenará información descriptiva, tendrá que ser de tipo carácter o de cadena; una que almacene un número cuantificable, será de tipo numérico. Cada lenguaje tiene sus formas de definir el tipo de las variables. Ejemplos: A continuación se presentan varias formas de definir variables en diferentes lenguajes, tomemos en cuenta los siguientes dato s: NOMBRE, DIRECCION, EDAD, No DE HIJOS PASCAL CHAR NOMBRE,D IRECCION[301; INT EDAD,NO HIJOS; VAR NOMBRE,DIRECCION:STRING; EDAD, NO_HIJOS : INTEGER; Nota: BAStC C NOMBRES DIRECCION$ EDAD" NO HIJOS" En BA5IC una variable queda definida desde el momento en que se usa y se diferencian las de caracter por 1 levar el las numéricas de porcentaje (%). signo de dólar tipo entero por el ($), Y signo de 24 2.2.1. REGLAS DE MANIPULACIÓN En un programa no podemos manipular las variables de manera irresponsable, debemos diferenciar el tipa de cada una de éstas, para as1 poder asignar los valares que van a almacenar. En los diferentes lenguajes existen varios tipas de datos numéricos cuenta las cuales las datas que deben de se almacenarán, asignarse las tomando en tipos mas comunes son: a) NUMÉRICO ENTERÓ (numeras enteras) bl NUMÉRICO REAL (numeras reales) dentro programa Cuando de un diferentes tipas de datas trabaja se (carácter, enteras, can los reales), deben tomarse en cuenta las siguientes reglas: 1- A una variable numérica sala puede asignarsele constantes a valares numéricas, y a una variable de carácter valares sola de puede carácter, asignarsele la contraria constantes a pro vocar1a un errar. 2- Asignar a una variable de tipa entera un valor real provocar1a error. 3- Asegurar que corresponda al el resultado tipa de de variable una que formula guardará él valor calculada. 4- Tener cuidado de na dupl icar el nombre variable dentro de un programa o módulo. de una 25 5- Las constantes de carácter siempre están dentro un s í mbo l o s especial ( ") o apóstrofes que por ('); variable, depende del lo general y estos no son comillas pertenecen a la lenguaje que se uti I ice. 2.3. ELEMENTOS DE UN PROGRAMA Sentencias, expresiones, funciones, operadores, son en parte los elementos que constituyen un programa, y como ya se ha definido, un programa es un conjunto de lineas ordenadas secuencialmente instruyan a de modo que la computadora contengan instrucciones que sobre las operaciones que ha de realizar para resolver un problema. aJ ACCIONES OPERATIVAS (INSTRUCCIONES): Las instrucciones son un conjunto de palabras que utiliza cada lenguaje, l a s cuales se usan para instruir a la compu ta d o ra acerca de las di feren tes operac iones que debe rea I i zar programas para están reso I ver formados determ i nado en su prob lema mayor ( los parte por instrucciones ). bJ EXPRESIONES: Son combinaciones de constantes, variables, operadores y funciones. 1) de Expresiones numéricas. Estas expresiones se componen datos funciones. tipo numérico. operadores aritméticos y 26 2) Expresiones de cadena. Estas expresiones se componen de datos tipo carácter, operador de suma (concatena, unir cadena) . el FUNCIONES: integradas subrutinas Son programación o definidas por el estas permiten ejecutar al lenguaje usuario en el cálculos de programa, especiales con los datos. Se pueden util izar funciones de igual modo que se utilizan datos como parte de una sentencia. d) OPERADORES: Son todo aquellos simbolos aritméticos o palabras reservadas que realizan operaciones aritméticas, lógicas y de relación. 2 ..3.1 .. ACCIONES OPERATIVAS 2.3.1.1. ENTRADA: Son INSTRUCCrONES DE ENTRADA/SALIDA las que permiten a información operación desde de el unidad cualquier de disco) los programas adquirir exterior entrada computadora adquiera desde (INSmUCCIONES) es a o Algunas memoria, cualquiera información medio la para en rt una la procesarla; dispositivo -í que la a t r-u c c o n e s í permiten real izar estas operaciones son: (teclado, que nos 27 . 1NSTRUCC ION LENGUAJE SALIDA: PASCAL READ READLN C SCANF GETCHAR BASTC INPUT READ LINE INPUT GET COBOL ACCEPT READ Son las instrucciones que permiten mostrar la información en un dispositivo de salida (pantal la,. impresor), también permiten guardar la información en un dispositivo de almacenamiento (discos, cintas magnéticas ) . Algunas instrucciones LENGUAJE . de este tipo son; . 1NSTRUCC ION PASCAL WRITE WRITELN C PRINTF BASIC PRINT LPRINT WRITE PRINT USING PUT COBOL DISPLAY WRITE IVERSl ~D" c, s O 27 , 1NSTRUCC ION LENGUAJE SALIDA: PASCAL READ READLN C SCANF GETCHAR BASIC INPUT READ LINE INPUT GET COBOL ACCEPT READ Son las instrucciones que permiten mostrar la información en un dispositivo de salida (pantal la, impresor), también permiten g uardar la ,informaci ón en un dispositivo de almacenamiento (discos, c i n t a s magnét icas ) . Algunas instrucciones LENGUAJE de este tipo s o n : , 1NSTRUCC ION PASCAL WRITE WRITELN C PRINTF BASIC PRINT LPRINT WRITE PRINT USING PUT COBOL DISPLAY WRITE 28 2.3.1.2. INSTRUCCIÓN DE ASIGNACIÓN O CALCULO. Este tipo de instrucciones nos permiten 2 operaciones muy importantes. a) Asignar valores a una variable. ejemplo: Pi==3.1415926 Nota==10 a==20 Nom=="Flor de Maria" b) Cálculos de valores asignación y de estos a una variable. ejemplo: Y=X+5 PR=Nl+N2+N3 2.3.1.3. INSTRUCCIONES DE TRANSFERENCIA DE CONTROL Las instrucciones de un programa se ejecutan normalmente en e larden en que están han sida ca locadas; si n embarga, existen instrucciones que permiten interrumpir esta ejecución secuencial del programa. Estas instrucciones se denominan de transferencia de funcionan, control o de relación, en base a 'u n a condici6n, éstas t ve r-da d o r-o o fa 1 so/hacer dejará de ejecutar a o no ejecutará una y por segón el hacer) parte del lo general resultado de 1a computadora programa; san éstas las instrucciones que permiten crear las estructuras de repetición y de selección.Algunas instrucciones de este tipo son: 29 , lNSTRUCCION LENGUAJE PASCAL FOR - TO - DO IF - THEN - ELSE WHI LE - DO REPEAT / UNTIL C IF - EL5E FOR SWITCH DO /WHILE I I BA51C COBOL 2.3.1.4. Son instrucciones FOR / NEXT IF - THEN - ELSE WH 1LE / WEND DO WHI LE / LOOP UNTIL PERFORM IF - THEN - ELSE INSTRUCCIONES ESPECIALES que poseen algunos lenguajes, permiten real izar opera ciones avanzadas. que si el las pose yera sería necesario crear en el estas lenguaje no programa una parte que real izara esta operación especial. Las operaciones lenguajes de conversi6n, ~ráficos, especiales programación clasificación musicales, etc. son más de: comunes EdLción, (ordenación) , entre los impresión, comun~caciones, 30 Ejemplos. , INSTRUCCION LENGUAJE PASCAL SOUND BAR3D DRAWPOLY UPAR C RENAME TOLOWAR TOUPAR TI ME_T CLIPPER DBEDIT BROWSE CREATE CREATE INDEX COBOL CHAIN MERGE BASIC GET PUT DRAW PAINT 2.3.2 OPERADORES Son simbolos o siglas que nos permiten realizar diferentes tipos de operaciones, con la finalidad de generar nueva información (cálculos) o de real izar una prueba instrucción de transferencia de control, necesidad de ejecutar o no una acción. Los operadores se dividen en tres grupos: para en una ver la 31 Al Estos AR 1TMÉT 1COS: OPERADORES nos permiten realizar cálculos básicos puramente matemáticos. , PR10RIDA D OPERADOR OPERAC1ON BASIC PASCAL COBOL C + Add Suma + + + Resta - - - - 5 Multiplicaci. * * * * 2 División / / / / 2 Exponenciac. ~ ---­ ---­ ---­ 1 5 Div.entero \ Div ---­ ---­ 3 Módulo Mod Mod % ---­ 4 NOTA: En e no existen los operadores para exponenciaci ón pero está la funcione POW. En muchas ocasiones se hace necesario cambiar el prioridad con que la computadora realiza que la fórmula de cálculo asi los paréntesis ( Ejemplo: las operaciones por para esto se utiliza J. Se quiere calcular el 7 Y guardarlo en A= 5+7/2 lo exige, orden de las constantes 5 y promedio de la variable A. El resultado almacenado en A, de ésta expresión seria 8.5 por el motivo que la división tiene prioridad sobre la suma y nosotros sabemos que el promedio de 5 y 7 es 6, en necesario cambiar la prioridad. este caso en 32 A=:. (5+7)/2 Ahora el r e s u 1 tado en A seria el correcto (6), ya que los paréntesis indican que primero deben desarrol lar la suma y no la división. Bl OPERADORES RELACIONALES: Nos permiten evaluar la relación entre existente 2 elementosCvariables,constantes, expresiones) , OPERADOR OPERACION Menor que < A<B Mayor que > A>B Menor o igual que <:= A<=B Mayor o igual qUE:! >:= A>:=B :;:: A=B <> A<>B Igual que Distinto a C) EJEMPLO OPERADORES LÓG 1COS: Nos permi ten eva 1uar dos o mas elementos o expresiones relacionales con e l objeto de saber si la expresión lógica es cierta( 1) Los operadores o falsaCO). lógicos son: , OPERACION OPERADOR Negación NOT Conjunción AND Disjunción OR Exclusiva XOR Implicación IMP Equivalencia EQV 33 NOT: Invierte valor el de una expresión verdadera la hace falsa y si es falsa A NOT lógica, si es la hace verdadera. A o 1 1 O AND: Hará una expresión verdadera sólo si todos los elementos de la expresión elemento falso OH: lo son, que exista en la expresión. A AND 8 A 8 o O O O 1 1 O O 1 1 1 Hará una eiementos y la hará falsa con almenos un O expresión la de lógica e xp r e s í falsa ó n son solo si falsos, todos y la los hará verdadera con almenas un elemento verdadero que exista en la expresión. A 8 O O O 1 1 O 1 1 A OH O 1 1 1 8 34 XOR: Hace una verdadera expresión si los elementos son distintos entre si. (Si uno falso y otro verdadero) A XOR 8 A B o O O O 1 1 1 O 1 110 IMP: Hace una expresión falsa si el primer elemento de ésta es verdadero. A B O O O 1 ·0 1 1 1 EQV: Hace una A IMP B 1 1 O 1 expresión equivalentes( verdadera A B A EQ.V B O O O 1 1 1 O 1 1 O O 1 rutinas, los los elementos lenguajes FUNCIONES proporcionan un cierto número las cuales permiten hacer más flexibles el programar, éstas dentro del programa. que se utilizan son ambos verdaderos o ambos falsos) 2.3.3. Todos si permiten una realizar cálculos con función puede usarse de de hecho de los igual datos modo las variables y constantes en una expresión. 35 Las funciones se dividen en 'dos grupos: a) Funciones vienen prede~in~das internas o estandar: Son las que ya incorporadas en: el, lenguaje da Progr.amación algunas funciones bastante comunes entre los lenguajes son; ABS. lNT. SQRT. SIN. COSo TAN. CHR. EOF. LOG. STR. VAL b) Funciones de~inidas por el usuario: Además de las funciones ya incorporadas la mayor parte de los lenguajes al programador definir sus propias funciones. serán disefiadas y probadas como permiten las cuales cualquier ,p r o g r a ma de computador. Estas func iones son pequefios programas que el programador incorpora en sus dise~os de programación. EXPRESIONES 2.3 .. 4. Es un conjunto de datos relacionados entre si mediante operadores. hay dos tipos de expresiones. al Numéricas: Se componen solo de datos numsricos. Ejemplo: Y= 5*X+l E= M= (Y2-Yll/(X2-Xl> R= D-INT(D> M*C~2 b) De carácter: Se componen por datos de carácter. Ejemplo: N="FLOR" E="BUENOS DÍAS" NOTA: Tomar en cuenta que carácter. A="ANA LUISA" las variables N,E y A Son de tipo 36 2.4. TRATAMIENTO DE DATOS (OPERACIONES) objetivo El información para de un rea 1 izar querer otra es programa nueva para procesar usuario el del programa o para el programa mismo. Este procesamiento se hace utilizando los operadores. 2.4.1 OPERACIONES ARITMéTICAS Para este tratamiento constantes, variables, operadores aritméticos, se auxilia funciones que y el programador sobre todo de se encargarán de procesar a de los los anteriores. Ejemplo: En un programa se quiere sumar 2 números que se encuentran a lmacenados en las variables A y 8, e l resultado quiere guardarse en una tercer variable S. s- A+B Por lo Esta fórmula se encargar ía general las programas para hacer f'ó r-m u ía s que de hacer se utilizan los cálculos requeridos, la operación. dentro de los no se escriben como normalmente la notación matemática lo hace por lo cual se hace necesario escribir éstas fórmulas en una notación que la computadora pueda operar. 37 Ejemplos: E Debe escribirse V= V=E/T T Debe escribirse y ;:: X-;: 3X + 12 - S=L~2 Debe escribirse Y = X ~2 - 3*X + 12 Li + Ls Debe escribirse PM= PM= (Li + Ls) /2 2 y= J x+2 Debe escribirse y= (x+2)~(1/2) Debe tomarse en cuenta que algebraicamente = JX+2 (X+2)l /2 EJERCICIO 1 S ;:: P( 1+ [ . Nl c... S = P ( 1+ 1) ':l v . llR = 1- .., n B.H 2 4. AC= 3.141592.R2 Y2-Yl 5 . M= X2-Xl 6. Y ;:: 2x 3 + 2x 2 - 4x + 1 Nl+ N2+ N3 7 . MD= 3 U IVERSI DuFR CISCO f L. . . SAlVADOR, liL SALVAOOR, c..... ¡ 1 38 2.4.2. OPERACIONES RELACIONALES Son de capital importancia ya que mediante los resultados que producen se manejan las estructuras de control en la y de selección toma de decisiones. De una expresión relaciona l valores posibles:Falso (Ol solo puede resultar uno, de dos o Verdadero( 1). Ejemplos: Supongamos las siguientes variables con sus respectivos valores: A=5; B=14; C=-7¡ D=3.1415926; E=14 , EXPRES10N RESULTADO A=B O C <E 1 B=E 1 S OE O D>=A-3 1 EJERCICIO 2 Suponiendo los siguientes valores, encont rar el valor de: A=l¡ B=7; C=-7 D=21; E~15; F=14 1. B=D 6. A<>D ') Lo. • .~ >E 7. B+C>=14 3. C<D 8. 5 >10 4. 2*B=F 9. F OB 5. D<=E 10. C+B=O 39 2.4~3 OPERACIONES LÓGICAS (BOOLEANAS) Las operaciones relacionales solo nas permiten operar elementos posibles, pero mediante las podríamos relacionar 2 6 más elementos, operaciones 2 lógicas para concluir si una expresión l ó g i c a es falsa o es verdadera. Ejemplos: A<B AND B<C El ejemplo anterior indica que el se encuentra entre A y C (A <B <Cl valar de 8 l a que nas en un programa para chequear que un ser vi~á valor está en un intervalo determinado. X<7 OH X)=10 La lógica expresión indica que el va lar a lmacenado en X sea menor que 7 a mayor o i g u a l que 10 pero nunca un dato entre éstos dos va lores 7 Y 10 NOT A<B Indica que el S, ya que el valo~ de A sea mayor o igual que operador NOT invierte el valor de una expresión lógica /relacional. Esta expresión también podria e s c r b r s e í si í lo deseamos A)=8 X=5 AND Y=7 AND Z=2 Esta tienen e xp r-e s í ó n será verdadera solo los valores 5,7,2 respectivamente. si X,Y.Z 40 K=l OR K=10 OR K=-5 La exp re s cualquier de í ó n será verdadera cua ndo K tome los tres valores descritos(1,lO,-5l EJERCICIO 3 cuando Explique siguientes las exprssiones ssrán verdaderas y en que casos serán falsas. Al K<O OR K>O Bl A;;l AND B >5 el K>;;25 AND K>30 Dl A;;O DR K;;-7 El NDT (A>=O AND 8 (;;5) 2.4.4. JERARQuíA DE LOS OPERADORES Todas 1ó g i c a s ) las tienen desarrollarán, op~rado~ de ser a operaciones(Aritméticas, un orden éste orden éste será el lado. ~e p~imero jerarquía también asi desa~rol predefinido r el a c ion a 1 e s con le conoce como en ope~arse aumentará su y a el cual y se prioridad de l medida aumenta tiempo de espera para 41 La prioridad de todos los operadores se muestra en la siguiente tabla: TIPO DE OPERADOR OPERADOR PRIORIDAD PAR¿NTESIS 1 OPERADORES AR 1TMÉT I'COS ..., ( - EXPONENCIACION ,. MULTIPLICACION ,. DIVISION ,. DIVISION ENTERA MODULO SUMA RESTA 7 7 7 7 7 7 = <> < > <= >= IGUALDAD DIFERENTE MENOR QUE MAYOR QUE MENOR O IGUAL QUE MAYOR O IGUAL QUE e NOT AND OR XOR EQ.V IMP NEGACIÓN LÓGICA Y LÓGICO O LÓGICO O EXCLUSIVA EQUIVALENCIA IMPLI CA ~ 3 3 *I 4 \ DIV MOD + 5 6 6 OPERADORES LÓG LCOS 9 10 11 11 12 Es preciso ~jecución MÁXIMA PRIORI­ DAD ) L:... OPERADORES,. DE RELACION de SIGNIFICADO recordar que para cambiar el orden de las operaciones se han de utilizar parentesis. Las operaciones entre paréntesis se real izan siempre primero; dentro de los paréntesis se realización de los operadores . mantiene e l orden normal de