Está en la página 1de 16

Unidad III: Datos y Entidades Primitivas

Hasta ahora los ejemplos de algoritmos y diagramas de flujo están basados en procesos ambiguos,
desde ahora tendrán un enfoque técnico para que sean ejecutados por el computador, para ello
debemos tener en cuenta algunos conceptos básicos.

DATOS
Son valores que pueden ser Cualitativos o Cuantitativos, se representan a través de una secuencia
de símbolos: números, letras o caracteres. Por ejemplo:
- 321443
- codigo
- 24/12/2000
- cod-123

Los datos indican condiciones o situaciones que por sí solos NO aportan ninguna información
importante; sin embargo al ser procesados y contextualizados, sus resultados serán la información
para conocer un fenómeno, tomar decisiones o ejecutar acciones.

TIPOS DE DATOS
En programación es indispensable determinar a qué tipo o categoría corresponden los datos con los
que se trabaja. Cada conjunto de datos de un tipo específico se manipula de diferente manera para
obtener los resultados deseados. Los tipos de datos básicos en la programación son:

Numérico
 Entero: tipo de dato formado por el conjunto de los números enteros.
 Real: tipo de dato formado por el conjunto de los números reales.
Texto
 Caracter: tipo de dato formado por una unidad o símbolo que puede ser una letra, un número,
una mayúscula o un signo de puntuación.
 Cadena: tipo de dato formado por un conjunto de caracteres dispuestos de forma
consecutiva.
PARA EL DISEÑO DE ALGORITMOS, EL TEXTO SE REPRESENTA ENTRE COMILLAS (“ “).
Lógico
 Boolean: tipo de dato que puede representar dos valores: Verdadero o Falso, Si o No.

NOTA: estos son básicamente los tipos de datos en los lenguajes de programación, sin embargo
algunos lenguajes amplían sus tipos de datos para aprovechar la disposición de la memoria en el
computador, por ejemplo hay tipos de datos enteros: sencillos, dobles, etc. Este tema se
profundizará en los inicios de la programación en Lenguaje C.

VARIABLES
En programación, las Variables son espacios de trabajo (contenedores) reservados para guardar
datos (valores). El valor de una Variable puede cambiar en algún paso del Algoritmo o permanecer
invariable; por lo tanto, el valor que contiene una variable es el del último dato asignado a esta.
Es importante destacar, que nombrar o etiquetar una Variable tienen reglas estrictas por los
lenguajes de programación, algunas de estas reglas que utilizaremos por ahora durante la
elaboración de Algoritmos o Diagramas de Flujo son:
- Debe iniciar exclusivamente con una letra.
- Se utilizará estrictamente el caracter: _ (guión)
- Pueden ser: combinación de letras; combinación de letras, caracter o números.
- No utilizar palabras reservadas por las instrucciones del Algoritmo. (Por ejemplo: para hacer, fin,
inicio, etc)
- No cumplen reglas de ortografía.
EJEMPLOS VÁLIDOS OBSERVACIÓN
nom  Combinación de solo letras
1gt x Está iniciando con un número
número x El acento no es un caracter válido
not12  Combinación de letras y números
nomb_apell  Combinación de letras y caracter
calif_mat-8 x El símbolo – no se permite

Se recomienda nombrar las Variables, con alusión al objetivo con que esta se utilizará. Por ejemplo:
VARIABLE OBJETIVO
direc Para almacenar una dirección
nom Para almacenar un nombre
calif_mat_8 Para almacenar la octava nota de matemática

CONSTANTES
Al igual que las variables, son espacios de trabajo reservados para guardar datos; sin embargo el
valor de la Constante NO puede cambiar en algún paso del Algoritmo. Mantiene las mismas reglas
de las variables para nombrarla o etiquetarla.

OPERADORES
Son símbolos que sirven para manipular datos (operandos). Sus tipos son:
TIPOS SÍMBOLO : NOMBRE
+ : suma
- : resta
* : producto
Aritméticos / : división
←: asignación
ᶺ : potencia
() : agrupamiento (los paréntesis)
Alfanuméricos & : concatenación
V : verdadero
F : falso
Lógicos NO : negación
Y : conjunción ( “y” lógico)
O : disyunción (“o” lógico)
= : igual a
≠ : diferente a
> : mayor que
Relacionales < : menor que
≥ : mayor o igual que
≤ : menor o igual que
Internamente el ordenador interpreta su lenguaje binario 1 y 0 como verdadero y falso
respectivamente.
Hay que destacar que en Matemáticas se asigna valores a las variables con el símbolo ”=” (A=1,
Y=30, etc.), sin embargo para el diseño de algoritmos se utilizará el símbolo “←” (A←1, Y←30, etc.).
Para el diseño de algoritmos el símbolo “=” se utilizará para comparar (Por ejemplo A=30, sería ¿es
A igual a 30?).
NOTA: es importante destacar que algunos lenguajes de programación difieren en estas
simbologías; aunque hacen las mismas operaciones, se recomienda conocer la gramática de estos
lenguajes antes de utilizarlos.

Orden de evaluación de los operadores.


Los computadores ejecutan los operadores en un orden predeterminado. El siguiente es el orden
(jerarquía) para ejecutar los operadores anteriores:
1. Agrupamiento (se ejecutan primero los más internos).
2. Potencias, Productos y Divisiones.
3. Sumas y Restas.
4. Concatenación.
5. asignación
6. Relacionales.
7. Negación.
8. Conjunción.
9. Disyunción.
Por ejemplo, para X=45/(8+(-3))
1° se resuelve el paréntesis más interno: 8+(-3)=8-3, por lo que X=45/(8-3)
2° se resuelve el paréntesis (8-3)=5, por lo que X=45/5
3° se resuelve 45/5=9, por lo que X=9

EXPRESIONES
Una expresión está compuesta por valores, funciones, primitivas, constantes y/o variables, o por una
combinación de los anteriores mediante operadores (las funciones y primitivas se explicarán en otro
tema). Estas expresiones siguen reglas de construcción y el orden de evaluación de los operadores.
Las Expresiones pueden ser:
• Aritméticas: dan como resultado un valor numérico. Contienen únicamente operadores aritméticos
y datos numéricos (es decir, un número o una variable de tipo número). Ejemplos:
o 6*(3+5). En primer lugar se resuelve el grupo 3+5 (resultado 8), luego se multiplica por 6
(resultado 48).
o (num - 4)*34. En primer lugar se resuelve el grupo num - 4, este resultado se multiplica por 34.
o 4ᶺ2/8-7. La presencia de ᶺ, interpreta que el número a la izquierda es la Base y a su derecha
es el exponente, 4ᶺ2=16, luego viene 16/8=2 y este se resta con 7, resultando -5.
• Alfanuméricas: dan como resultado una serie o cadena de caracteres. Por ejemplo:
“Hola”&”que tal”. Esta concatenación une los textos “Hola” y “que tal”, resultando “Holaquetal”, sin
embargo “Hola ”&”que tal” o “Hola”&” que tal” resultaría “Hola que tal” (los espacios
en el texto también se toman en cuenta: “Hola ”&”que tal”, “Hola”&” que tal”).

• De Asignación: Estas Expresiones asignan (símbolo “←”) el resultado de una Expresión a una
Variable o a una Constante.
o x ← 6*(3+5). El valor resultante (48) de la operación se almacena en la variable “x”.
o y ← 4ᶺ2/8-7. El valor resultante (-5) de la operación se almacena en la variable “y”.
o resul ← x-y. El valor resultante (53) de la operación se almacena en la variable “resul”.

• De Relación: son aquellas que involucran un operador relacional que compara o evalúa a dos
valores del mismo tipo, cuyo resultado sería un valor “verdadero” o “falso”.
Por ejemplo sean:
A←36, B← -45, W← “G”, X ← 12

A>50: “¿es A mayor que 50?”, el resultado es “falso” ya que 36 es menor que 50.
B<X-A: “¿es B menor que X-A?”, el resultado depende de la resta X-A, este da -24; entonces “¿es B
menor que -24?”, resultados final es verdadero ya que -45 es menor que -24.
X≤W: “¿es X menor o igual que W?”, el resultado es un ERROR, ya que no se pueden comparar dos
variables de tipos diferentes, en este caso X es un número y W es un texto.

• Lógicas: dan como resultado un valor "Verdadero"(v) o "Falso"(f). Contienen números, variables
y/o constantes enlazadas con operadores relacionales y lógicos (A>0 y B<=5).
Los casos de expresiones lógicas requieren conocimientos en lo que también se conocen como
TABLAS DE VERDAD (o también, Lógica Proposicional), éstas se aplican a los operadores “NO”, “Y”
y “O” los cuales se describirán a continuación.

Tabla de Verdad “NO”: consiste en negar la proposición (una proposición es un estado final que
puede ser verdadero o falso) que se presenta.
Sea A una variable lógica, la siguiente tabla describe la negación:
A NO(A)
v f
f v

Es decir, cuando la variable A sea v, la expresión NO(A) da como resultado f. En este caso al
sustituir el valor de A en la expresión, sería NO(v); el cual se leería “NO verdadero”. Cuando se niega
una verdad su resultado es falso (f). Análogamente sucede lo mismo cuando A es f, NO(f) resulta
verdadero.
Noten que en la tabla, entre paréntesis se coloca la proposición a evaluar, en este caso es la variable
A.

Tabla de Verdad “O”: en este caso se evalúan dos proposiciones cuyo resultado sería falso cuando
exclusivamente ambas proposiciones sean falsas. A continuación se muestra todos los estados
posibles para dos proposiciones A y B.
A B AOB
v v v
v f v
f v v
f f f

En este caso el resultado de la operación está en A O B. Otra forma de interpretar la tabla es cuando
una de las proposiciones es verdadera, su resultado es verdadero. También podría leerse cada
resultado:
verdad o verdad es verdad
verdad o falso es verdad
falso o verdad es verdad
falso o falso es falso
Tabla de Verdad “Y”: en este caso se evalúan dos proposiciones cuyo resultado sería verdadero
cuando exclusivamente ambas proposiciones sean verdadero. A continuación se muestra todos los
estados posibles para dos proposiciones A y B.
A B AYB
v v v
v f f
f v f
f f f
En este caso el resultado de la operación está en A Y B. Otra forma de interpretar la tabla es cuando
una de las proposiciones es falso, su resultado es falso. También podría leerse cada resultado:
verdad y verdad es verdad
verdad y falso es falso
falso y verdad es falso
falso y falso es falso

NOTA: las tablas de verdad “Y”, “O”, también pueden aplicarse a más de dos variables.

A continuación casos estudios para análisis de las expresiones lógicas.


En nuestra vida cotidiana están inmersas las expresiones lógicas para llevar a cabo una toma de
decisión. Por ejemplo cuando decimos “si tengo dinero el sábado, voy al cine”, note que esta
proposición está condicionada a:
- tener dinero.
- día sábado,
para ir al cine.
Debe cumplirse ambas condiciones (es decir, ambas condiciones deben ser verdadero) para poder ir
al cine, aquí estamos en precedencia de una proposición de conjunción (“Y” lógico). Entonces para
este caso también podría interpretarse:

“tengo dinero y el día es sábado, voy al cine”

Noten que en la realidad para esta proposición sería algo así en la tabla:
A B AYB Realidad
v v v tengo dinero y el día es sábado: voy al cine
v f f tengo dinero y el día NO es sábado: NO voy al cine
f v f NO tengo dinero y el día es sábado: NO voy al cine
f f f NO tengo dinero y el día NO es sábado: NO voy al cine

A modo de ejemplos, a continuación se listan algunas variables con valores asignados las cuales
permitirán evaluar algunas proposiciones:
A ← 30
Nom ← “juan”
X ← 45
Sex ←”F”
S←X/9

PROPOSICIÓN ANÁLISIS RESULTADO


1. A≠30 O S≥10 [30≠30 es f] O [5≥10 es f] : f O f f
2. Sex=”F” Y NO(X>45) [“F”=”F” es v] Y NO[45>45 es f] : v Y [NO(f)] : v Y v v
3. A-X<0 Y Nom≠”juan” A-X es -15. [-15<0 es v] Y [“juan”≠”juan” es f] : v Y f f

CONTADOR
Recordemos que en nuestro sistema de numeración decimal contamos en orden ascendente
(0,1,2,..,n, en este caso el conteo es un incremento de uno en uno) o descendente (n-1,n-2,..,
3,2,1,0, en este caso el conteo es un decremento de uno en uno).
El contador es una expresión matemática que describe lo anterior, se va incrementando o
decrementando en una cantidad constante cada vez que se produce un determinado suceso o
acción. Para cumplir con este proceso, el contador debe tener un valor inicial que le permita
reevaluarse.
Supongamos que C es la variable que se comportará como un contador.
Paso 1. C←0 : aquí se inicializa en cero el contador
Paso 2. C←C+1 : en este caso el valor inicial C igual a 0 se evalúa en la fórmula C←0+1,
reevaluándose el valor de la variable C, su nuevo valor es 1, ahora C←1.

Si en algún momento el algoritmo encuentra este contador, inmediatamente lo reevalúa


… (supongamos que aquí se ejecutaron pasos 3,4 y 5 sin estar el contador)
Paso 6. C←C+1 : aquí se reevalúa el contador C←1+1 (el 1 en rojo es el valor de C en paso 2, es
decir C←1) ahora el nuevo valor de C es 2, C←2.

Cada vez que el algoritmo consiga la expresión del contador C lo va a reevaluar incrementándolo en
1.
Sin embargo el mejor provecho en el uso de un contador, está cuando se cuenta con una instrucción
que automáticamente permita repetir el recalculo del contador. Hasta ahora solo podríamos usarlo en
un diagrama de flujo porque se ha mostrado como el funcionamiento del símbolo Decisión permite
la repetición de algunos procesos. Recordemos el ejemplo de preparar la limonada corrigiendo la
cantidad de azúcar a agregar (para efectos de ejemplos futuros se llamará a este diagrama:
diagrama base de la limonada):

Inicio 1
Agua Agregar azúcar
Limón
Azúcar
Recipiente Revolver el contenido del
recipiente

Tomar recipiente
Probar el contenido

Agregar agua al recipiente

¿Le falta azúcar? SI


Exprimir limones

NO
Agregar jugo de limones al Limona
recipiente da lista

1 Fin

Fíjense que en este caso cuando se ejecute “probar el contenido” se evalúa “¿le falta azúcar?”, si le
falta azúcar al contenido repetimos el proceso de “agregar azúcar”, ejecutándose nuevamente los
siguientes procesos, hasta que consideremos que no le falta azúcar.
Estas son las circunstancias ideales para el uso de un contador, por ejemplo supóngase que
deseamos saber la cantidad de veces que le agregamos azúcar a la limonada después de probarla.
La clave en este ejemplo está en saber lo que se desea, en este caso “la cantidad de veces que le
agregamos azúcar a la limonada después de probarla”, noten que la palabra “cantidad” expresa un
número, y la palabra “veces” expresa cuantificar (mismo análisis si fuese ¿cuántas veces le
agregamos azúcar …?), aquí viene el trabajo de un contador.
Sea “CONTA” la variable que se usará como contador:

Inicio 1

Agua Agregar azúcar


Limón
Azúcar
Recipiente CONTA←CONTA+1
CONTA

Revolver el contenido del


Tomar recipiente Probar el contenido

Agregar agua al recipiente ¿Le falta azúcar?


SI

Exprimir limones
NO
Limonada lista
Agregar jugo de limones al CONTA
recipiente

Fin
1

a) En primera instancia se inicializa la variable CONTA en 0 (esto debe hacerse antes del proceso
“agregar azúcar” ya que si se coloca después, este siempre se modificaría a CONTA←0 durante
las repeticiones)

b) Después de “agregar azúcar” en una primera instancia, se evalúa el contador que sería
CONTA←0+1 (recuerde que CONTA anteriormente se inicializó en 0, CONTA←0),

ahora el nuevo valor de CONTA es 1 (0+1=1), CONTA←1. El valor de CONTA←1 en este momento
significa que se ha agregado azúcar 1 vez.
c) Ahora si más abajo, al evaluar “¿le falta azúcar?” la respuesta es SI,

entonces repetimos el proceso “agregar azúcar” y nuevamente recalculamos el contador


CONTA←1+1 (recuerde que el valor actualizado de CONTA es 1), se vuelve a modificar el valor de
CONTA, que ahora sería CONTA←2 (1+1=2), este valor indica que 2 veces se ha agregado azúcar.

Si NO “¿le falta azúcar?”, se muestra la “limonada lista” y el valor de la variable CONTA, que en este
caso es 2.

Y así se estaría cumpliendo con el requisito de mostrar la cantidad de veces que se agrega azúcar.

ACUMULADOR
Es una variable cuyo valor se incrementa o decrementa en un valor que no es fijo. Un acumulador
suele utilizarse para acumular resultados producidos en las iteraciones repetitivas.
Cuando un valor no es fijo, se hace referencia a una variable, entonces un acumulador se va
incrementando o decrementando en una cantidad variable.
Para cumplir con este proceso, el acumulador debe tener un valor inicial que le permita reevaluarse y
una variable que determina el factor de incremento o decremento según sea el caso.
Supongamos que A es la variable acumulador, y num el factor con que se incrementa o decrementa.
A = A © num (© : significa cualquier operador matemático).
Ejemplo:
Paso 1. A←0: aquí se inicializa en cero el contado (dependiendo del problema, puede inicializarse
con otro valor).
Paso 2. num←20: num es el factor a acumular, en este caso 20.
Paso 3. A←A+num : en este caso el valor inicial A igual a 0 y num igual a 20 se evalúa en la fórmula
A←0+20, reevaluándose el valor de la variable A, su nuevo valor es 20, ahora A←20. El operador
suma determina que es un acumulador de incremento.
Si en algún momento en el algoritmo se modifica el factor, como por ejemplo:
Paso 4….
Paso 5. num←35
… (supongamos que aquí se ejecutaron pasos 6 y 7 sin estar el acumulador o el factor num)
Paso 8. A←A+num : aquí se reevalúa el acumulador A←20+35 (el 20 en rojo es el valor de “A”
obtenido en el paso 3, y 35 en verde es el valor de “num” obtenido en paso 5) ahora el nuevo valor
de A es 55, A←55.

Al igual que en el uso de un contador, el acumulador es de provecho cuando se cuenta con una
instrucción que automáticamente permita repetir su recalculo.
Para el diagrama base de la limonada, supóngase que se desea saber los gramos de azúcar que se
agrega al contenido.
Inicio
1

Agua
Limon Azucar
Recipiente
A
Agregar azucar

A←0 A←A+azucar

Tomar recipiente Revolver el contenido del


recipiente

Agregar agua al
Probar el contenido
recipiente

Exprimir limones ¿Le falta azúcar?


Agregar jugo de limones
al recipiente No
Limonada lista
1 A

Fin

a) En primera instancia se inicializa la variable A en 0. Se ha retirado de la lista de entrada el Azúcar,


porque se necesitará más adelante.
b) Se define la entrada de la variable “azucar”, la cual contendrá la cantidad (gramos) de azúcar a
agregarse en el contenido. Supóngase que azúcar=30 (recuerde que la medida es en gramos)

c) Una vez “capturado” la cantidad de azúcar, se agrega al contenido y luego evaluamos el


acumulador, ya que se ha agregado una primera cantidad de azúcar.

Actualizando A←A+azucar, sería A←0+30, A←30

d) Si al evaluar la Decisión la respuesta es SI, volvemos a “capturar” un valor para la variable


“azucar” y luego se reevaluaría A←A+azucar.
Supongamos que ahora la captura del valor para Azucar es 20, entonces al reevaluar A←A+azucar
quedaría A← 30+20 (recuerde que 30 viene del paso C, A←30), la reevaluación quedaría A←50,
este valor significa que en esta 2da incorporación de azúcar se han añadido 50 gramos en total.

e) Si no le falta azúcar, se estaría mostrando la limonada con el valor de A (en este caso A←50).

Este resultado de A sería la cantidad de gramos de azúcar que se agregaron a la limonada.


Ejemplos de diagramas de flujos con los elementos anteriormente explicados, haciendo uso
obligatorio del símbolo Decisión:
1) Totalizar la sumatoria de las edades de 4 personas.

Inicio

cont←0

sum←0

Edad
cont←cont+1

cont≤4
SI

No
sum

Fin

2) Determinar cuántas veces se insertaron números mayores o iguales que cero.

1
Inicio

cont←cont+1
cont←0

¿Hay más números?


numero
SI

SI Numero<0 No
cont
No
1 Fin 14 y 18 años, mostrar cuántos
3) En una obra de teatro solo se permiten entradas de jóvenes entre
jóvenes entraron y cuál es la sumatoria de sus edades.

1
Inicio
Fin

cont←cont+1
cont←0

sum←0 sumt←sum+edad

edad ¿Hay más jóvenes?


SI

edad≥14 Y edad≤18
cont
sum
SI
1
Fin

Las actividades para esta unidad 3 se asignarán en la clase presencial

También podría gustarte