2.1. tipos de datos - francisco gavidiari.ufg.edu.sv/jspui/bitstream/11592/7513/3/001.64-a543g...de...
TRANSCRIPT
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 O al 9 que formen un
número cuantificable, se representa en dos formas: números
enteros y números reales, el computador maneja 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:
7 5 1000
200 1994 -20
-14 -100 O
Los 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 15 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, signos de
puntuación.
Ejemplo:
UNIVERSIDAD FRANCISCO GAVJDJA.
Bo. Las F lores *22, Chalatenango
20
2.1.3. DATOS' LÓGICOS
Son aque~los que pueden tomar dos valores ·verdadero· o
"-fa 1so" .
2.2. CONSTANTES Y VARIABLES
CONSTANTES
La palabra misma lo dice es constante, no cambia, por lo
tanto es un valor fijo el cual no sufre variación a lo largo
de la ejecución de un proceso. Existen diferentes 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 lógicas (Verdadero y Falso).
CONSTANTE NUMÉRICAS: 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: Es un dato que no tiene un valor
cuantificable, si no, un valor de referencia.
21
Ejemplo.
NOMBRE EDAD
Capital El Salvador
CONSTANTES LÓGICAS: Son . c o n s t a n t e s muy especiales, que
aunque solamente existen dos valores, en 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 guardada
mediante un nombre <no mb r e de la variable). El valor no tiene
por qué ser el mismo; ya que se puede cambiar el valor de la
variable durante la ejecuci ón del programa. De tal 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 quiere saber cual es el valor que está
almacenando una variable en una determinada parte 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 u t I izarseí
abreviaturas o nombres simbólicos.
Ejemplos:
NOM ED Ni
TEL PC (Precio Costo) N2
DIR PV ( P r e c i o Venta) PROM
Una recomendación muy importante para poner nombres a las
variables es que estos, estén relacionados con el dato a
manipular en el la.
Ejemplo: PROMEDIO VENTAS
TIPOS DE LA VARIABLE:
Este elemento describe la clase de información que va ha
almacenar la variable.
23
Ejempl .o:
EDAD Es una variable numérica por tener que
almacenar un numero 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 C BAStC
VAR NOMBRE,DIRECCION:STRING; EDAD, NO_HIJOS : INTEGER;
CHAR NOMBRE,D IRECCION[301;
INT EDAD,NO HIJOS;
NOMBRES DIRECCION$ EDAD" NO HIJOS"
Nota: En BA5IC una variable queda definida desde el
momento en que se usa y se diferencian las de
caracter por 1 levar el signo de dólar ($), Y
las numéricas de tipo entero por el signo de
porcentaje (%).
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 las cuales deben de asignarse tomando en
cuenta las datas que se almacenarán, las tipos mas comunes
son:
a) NUMÉRICO ENTERÓ (numeras enteras)
bl NUMÉRICO REAL (numeras reales)
Cuando dentro de un programa se trabaja can los
diferentes tipas de datas (carácter, enteras, 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 sola puede asignarsele constantes a
valares de carácter, la contraria pro vocar1a un
errar.
2- Asignar a una variable de tipa entera un valor real
provocar1a error.
3- Asegurar que el resultado de una formula
corresponda al tipa de variable que guardará él
valor calculada.
4- Tener cuidado de na dupl icar el nombre de una
variable dentro de un programa o módulo.
25
5- Las constantes de carácter siempre están dentro un
s mbo l o s especial que por lo general son comillasí
( ") o apóstrofes ('); y estos no pertenecen a la
variable, depende del 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 de modo que contengan instrucciones que
instruyan a la computadora 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 para reso I ver determ i nado prob lema ( l o s
programas están formados en su mayor parte por
instrucciones ).
bJ EXPRESIONES:
Son combinaciones de constantes, variables,
operadores y funciones.
1) Expresiones numéricas. Estas expresiones se componen
de datos tipo numérico. operadores aritméticos y
funciones.
26
2) Expresiones de cadena. Estas expresiones se componen
de datos tipo carácter, operador de suma (concatena, unir
cadena) .
el FUNCIONES:
Son subrutinas integradas al lenguaje de
programación o definidas por el usuario en el programa,
estas permiten ejecutar cálculos 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 (INSmUCCIONES)
2.3.1.1. INSTRUCCrONES DE ENTRADA/SALIDA
ENTRADA: Son las que permiten a los programas adquirir la
información desde el exterior a la memoria, una
operación de entrada es cualquiera en que la
computadora adquiera información para procesarla;
desde cualquier medio o dispositivo (teclado,
- í unidad de disco) Algunas rt a t r-uc c í o n e s que nos
permiten real izar estas operaciones son:
27
LENGUAJE ..
1NSTRUCC ION
PASCAL READ READLN
C SCANF GETCHAR
BASTC INPUT READ LINE INPUT GET
ACCEPTCOBOL READ
SALIDA: 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 de este tipo son;
LENGUAJE ..
1NSTRUCC ION
PASCAL .
WRITE WRITELN
C PRINTF
BASIC PRINT LPRINT WRITE PRINT USING PUT
COBOL DISPLAY WRITE
IVERSl ~D" c, O
s
27
LENGUAJE ,
1NSTRUCC ION
PASCAL READ READLN
C SCANF GETCHAR
BASIC INPUT READ LINE INPUT GET
COBOL ACCEPT READ
SALIDA: 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 de este tipo s o n :
LENGUAJE ,
1NSTRUCC ION
PASCAL WRITE WRITELN
C PRINTF
BASIC PRINT LPRINT WRITE PRINT USING PUT
DISPLAYCOBOL 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:
a==20 Nota==10 Pi==3.1415926
Nom=="Flor de Maria"
b ) Cálculos de valores y asignación de estos a una
variable.
ejemplo:
PR=Nl+N2+N3 Y=X+5
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 control o de relación, por lo general
funcionan, en base a 'u na condici6n, y segón el resultado de
éstas t ve r-da d o r-o o fa 1so/hacer o no hacer) 1a computadora
dejará de ejecutar a ejecutará una parte del programa; san
éstas las instrucciones que permiten crear las estructuras de
repetición y de selección.Algunas instrucciones de este tipo
son:
29
,lNSTRUCCIONLENGUAJE
FOR - TO - DO IF - THEN - ELSE WHI LE - DO REPEAT / UNTIL
PASCAL
IF - EL5E FOR SWITCH DO /WHILE
C
I BA51C I FOR / NEXT
IF - THEN - ELSE WH 1LE / WEND DO WHI LE / LOOP UNTIL
COBOL PERFORM IF - THEN - ELSE
2.3.1.4. INSTRUCCIONES ESPECIALES
Son instrucciones que poseen algunos lenguajes, estas
permiten real izar operaciones avanzadas. que si el lenguaje no
las poseyera sería necesario crear en el programa una parte
que real izara esta operación especial.
Las operaciones especiales más comunes entre los
lenguajes de programación son de: EdLción, impresión,
conversi6n, clasificación (ordenación) , comun~caciones,
~ráficos, musicales, etc.
30
Ejemplos.
, LENGUAJE INSTRUCCION
PASCAL SOUND BAR3D DRAWPOLY UPAR
RENAME TOLOWAR TOUPAR TI ME_T
DBEDIT BROWSE CREATE CREATE INDEX
CHAIN
C
CLIPPER
COBOL MERGE
GET PUT DRAW PAINT
BASIC
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 en una
instrucción de transferencia de control, para ver la
necesidad de ejecutar o no una acción.
Los operadores se dividen en tres grupos:
31
Al OPERADORES AR 1TMÉT 1COS: Estos nos permiten realizar
cálculos básicos puramente matemáticos.
, OPERAC1ON OPERADOR PR10RIDA
D
BASIC PASCAL C COBOL
Suma + + + + Add 5
Resta - - - - 5
Multiplicaci. * * * * 2
División / / / / 2
Exponenciac. ~ --- --- --- 1
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 orden de
prioridad con que la computadora realiza las operaciones por
que la fórmula de cálculo asi lo exige, para esto se utiliza
los paréntesis ( J.
Ejemplo: Se quiere calcular el promedio de las constantes 5 y
7 Y guardarlo en la variable A.
A= 5+7/2 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 este caso en
necesario cambiar la prioridad.
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
existente entre 2 elementosCvariables,constantes,
expresiones)
, OPERACION OPERADOR EJEMPLO
Menor que < A<B
Mayor que > A>B
Menor o igual que <:= A<=B
Mayor o igual qUE:! >:= A>:=B
Igual que :;:: A=B
Distinto a <> A<>B
C) 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) o falsaCO).
Los operadores lógicos son:
, OPERACION OPERADOR
Negación NOT
Conjunción AND
Disjunción OR
Exclusiva XOR
Implicación IMP
Equivalencia EQV
33
NOT: Invierte el valor de una expresión lógica, si es
verdadera la hace falsa y si es falsa la hace verdadera.
A NOT A
o 1 1 O
AND: Hará una expresión verdadera sólo si todos los elementos
de la expresión lo son, y la hará falsa con almenos un
elemento falso que exista en la expresión.
A 8
o O O 1 1 O 1 1
OH: Hará una
eiementos
A AND 8
O O O 1
expresión
de la
lógica falsa
e xp r e s í ó 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 8
O 1 1 1
34
XOR: Hace una expresión verdadera si los elementos son
distintos entre si. (Si uno falso y otro verdadero)
A 8 A XOR 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 A IMP B
O O 1 O 1 1 1 ·0 O 1 1 1
EQV: Hace una expresión verdadera si los elementos son
equivalentes( ambos verdaderos o ambos falsos)
A B
O O 1 1
O 1 O 1
Todos los
A EQ.V B
1 O O 1
2.3.3. FUNCIONES
lenguajes proporcionan un cierto número de
rutinas, las cuales permiten hacer más flexibles el hecho de
programar, éstas permiten realizar cálculos con los datos
dentro del programa. una función puede usarse de igual modo
que se utilizan las variables y constantes en una expresión.
35
Las funciones se dividen en 'dos grupos:
a) Funciones prede~in~das internas o estandar: Son las que ya
vienen 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 permiten
al programador definir sus propias funciones. las cuales
serán disefiadas y probadas como 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.
2.3 ..4. EXPRESIONES
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*C~2
M= (Y2-Yll/(X2-Xl> R= D-INT(D>
b) De carácter: Se componen por datos de carácter.
Ejemplo:
N="FLOR" E="BUENOS DÍAS" A="ANA LUISA"
NOTA: Tomar en cuenta que las variables N,E y A Son de tipo
carácter.
36
2.4. TRATAMIENTO DE DATOS
(OPERACIONES)
El objetivo de rea 1 izar un programa es procesar
información para querer otra nueva para el usuario del
programa o para el programa mismo. Este procesamiento se hace
utilizando los operadores.
2.4.1 OPERACIONES ARITMéTICAS
Para este tratamiento se auxilia el programador de
variables, constantes, funciones y sobre todo de los
operadores aritméticos, que se encargarán de procesar a 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 Esta fórmula se encargar ía de hacer la operación.
Por lo general las f'ó r-m u ía s que se utilizan dentro de los
programas para hacer los cálculos requeridos, 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 V= Debe escribirse V=E/T
T
Debe escribirse S=L~2
y ;:: X-;: - 3X + 12 Debe escribirse Y = X ~2 - 3*X + 12
Li + Ls PM= Debe escribirse 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
1- S ;:: P( 1+ [ . Nl
.., c... S = P ( 1+ 1) n
B.H v ':l . llR =
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 y de selección
en la toma de decisiones.
De una expresión relaciona l solo puede resultar uno, de dos
valores posibles:Falso (Ol 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 2
elementos posibles, pero mediante las operaciones lógicas
podríamos relacionar 2 6 más elementos, 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 valar de 8
se encuentra entre A y C (A<B <Cl l a que nas ser vi~á
en un programa para chequear que un valor está en
un intervalo determinado.
X<7 OH X)=10
La expresión lógica 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 valo~ de A sea mayor o igual que
S, ya que el 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 e xp r-e s n será verdadera solo si X,Y.Zí ó
tienen los valores 5,7,2 respectivamente.
40
K=l OR K=10 OR K=-5
La exp re s í n será verdadera cua ndo K tomeó
cualquier de los tres valores descritos(1,lO,-5l
EJERCICIO 3
Explique cuando las siguientes 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 las operaciones(Aritméticas, r el a c iona 1 e s y
1ó g i c a s ) tienen un orden predefinido con el cual se
desarrollarán, a éste orden ~e le conoce como prioridad de l
op~rado~ éste será el p~imero en ope~arse y a medida aumenta
de jerarquía también asi aumentará su tiempo de espera para
ser desa~rol lado.
41
La prioridad de todos los operadores
siguiente tabla:
TIPO DE OPERADOR PRIORIDAD OPERADOR
PAR¿NTESIS 1 ( )
OPERADORES AR 1TMÉT I'COS ...,
L:... ~
3 * 3 I 4 \ DIV 5 MOD 6 + 6 -
OPERADORES,.DE RELACION 7 =
7 <> 7 < 7 > 7 <= 7 >=
se muestra en la
SIGNIFICADO
MÁXIMA PRIORIDAD
EXPONENCIACION,.MULTIPLICACION,.DIVISION,.DIVISION ENTERA MODULO SUMA RESTA
IGUALDAD DIFERENTE MENOR QUE MAYOR QUE MENOR O IGUAL QUE MAYOR O IGUAL QUE
OPERADORES LÓG LCOS e
9 10
NOT AND OR
NEGACIÓN LÓGICA Y LÓGICO O LÓGICO
11 XOR O EXCLUSIVA 1 1 EQ.V EQUIVALENCIA 12 IMP IMPLI CA
Es preciso recordar que para cambiar el orden de
~jecución de las operaciones se han de utilizar parentesis.
Las operaciones entre paréntesis se real izan siempre primero;
dentro de los paréntesis se mantiene e l orden normal de
realización de los operadores .