Este documento trata sobre los tipos de datos, identificadores, operadores y prioridades, instrucciones de asignación, entrada y salida de información en algoritmos. Define los tipos de datos simples como enteros, reales, caracteres y lógicos, así como los datos compuestos. Explica las reglas para los identificadores y los diferentes operadores aritméticos, lógicos y relacionales con sus respectivas prioridades. Finalmente, describe las instrucciones de asignación, entrada y salida de datos en pseudocódigo.
1. Grupo 248
Docente: Ma. Eugenia Morales M.
Algoritmos
Tipos de datos
Identificadores
Operadores y prioridad
Instrucciones de Asignación
- Entrada y Salida de
Información
Ejercicios de lógica
Institución Universitaria de Envigado
Facultad de Ingenierías
2. Los datos y el tipo de datos que se define,
determina un conjunto de valores y las
operaciones sobre estos valores.
Los datos pueden ser:
◦ Simples
◦ Compuestos
Datos informáticos
3. Numéricos Enteros: o Int representan un subconjunto
finito de los números enteros. En máquinas de 8 bits su
rango va desde -32.768 a 32.767 y en máquinas de 32
bits: su rango va desde el -2.147.483.648 al
2.147.483.647,
Carácter: o Char El tipo de dato carácter es un digito
individual el cual se puede representar como numéricos (0
al 9), letras (a-z) y símbolo ($,_) según la tabla ASCII
(American Standard Code for Information Interchange) y
UNICODE.
Lógicos: o Booleano Este tipo de dato se emplea para
valores lógicos True – False.
Datos Simples
4. Numéricos Reales (float): almacenan
números muy grandes que poseen parte
entera y parte decimal. Su rango incluye los
positivos y los negativos y admite números
de 32 (float) y 64 bits (double).
Cadena de caracteres (String) es una
sucesión de caracteres (letras, números u
otros signos o símbolos). Se almacenan en
forma dinámica (pueden alterar su longitud
durante el tiempo de ejecución = listas
dinámicas), o en forma estática (su longitud
es fija a lo largo del tiempo de ejecución =
arrays).
Datos Compuestos
5. Un identificador es el nombre que se le da a cada uno de los
elementos incluidos en un algoritmo.
Existen identificadores predefinidos que forman parte del
lenguaje algorítmico, y los identificadores definidos por el
programador a través de variables y constantes.
En pseudocódigo, todo identificador debe cumplir unas reglas de
sintaxis:
◦ Consta de uno o más caracteres.
◦ El primer carácter debe ser una letra o el carácter subrayado (_)
◦ Las letras pueden ser minúsculas o mayúsculas del alfabeto inglés.
◦ No pueden existir dos identificadores iguales.
◦ Un identificador no puede contener caracteres especiales, salvo el
carácter subrayado (_). Es importante resaltar que las vocales no
pueden llevar tilde ni diéresis.
◦ Un identificador en lo posible debe ser un nombre nemotécnico, esto
es, utilización de letras abreviadas que den cuenta de qué tipo de dato
almacena, por ejemplo: char para carácter.
Identificadores…
6. De acuerdo a lo que has aprendido sobre identificadores, indica de
los siguientes cuáles son identificadores válidos:
1. Puerta21
2. 3tres
3. 2007
4. Helicóptero
5. COCHE_52
6. **motocicleta**
7. __platillo__
8. cas-ti-llo
9. ¡Fiesta!
10._*_*_
11.47_ejercicio
12.Costa Rica
13.aErOnAvE
Ejercicio con IDENTIFICADORES
7. Variables Constantes
Una variable representa a un Una constante representa a un
espacio de memoria en el cual valor (dato almacenado en
se puede almacenar un dato memoria) que no puede cambiar
que cambia tantas veces como durante la ejecución de un
sea necesario durante la programa.
ejecución de un programa. Para expresar una constante con
un nombre, la constante debe
El programador, cuando
ser declarada previamente.
desarrolla un programa debe
Todas las constantes que se
decidir:
declaran en un programa son
◦ Cuantas son las variables que
definidas de la misma
el programa necesita para
forma, indicando de cada una de
realizar las tareas que se le
ellas:
han encomendado.
el identificador y el valor que
◦ El tipo de dato que puede simboliza.
almacenar cada una de ellas.
En pseudocódigo, para declarar
◦ El identificador de cada una constante, vamos a utilizar
variable. la sintaxis:
En pseudocódigo para declarar ◦ Const <nombre_de_la_constante>
una variable utilizaremos la = <expresión>
sintáxis:
◦ <nombre-variable> = <expresión>
8. 16. Tipo de nutriente alimentario
De la siguiente información,
defina qué tipo de dato 17. Carrera o programa elegido
almacena y escriba un para estudiar
identificador para cada uno: 18. Nivel socio-económico
1. Número de teléfono 19. Ocupación (empleado –
2. Cédula de ciudadanía desempleado)
3. Código de producto 20. Profesión
4. Nombre de persona
5. Dirección 21. Tipo de vivienda
6. Valor de la hora 22. Opción (de una lista de
7. Salario básico opciones)
8. Salario Neto 23. Respuesta (Si – No)
9. Sexo 24. Tipo de procesador (PC)
10. Edad
25. URL
11. Valor de compra propiedad raíz
12. Estado (activo – inactivo) 26. Número celular
13. Email 27. Área (de una figura
14. Nombre de usuario geométrica)
15. Estado civil 28. Resultado (de una operación
matemática)
29. Nomenclatura
30. Capacidad de memoria RAM
Ejercicios con identificadores de variables:
9. En un programa, el tipo de un dato determina las
operaciones que se pueden realizar con él.
Los operadores pueden ser aritméticos, lógicos o
relacionales y las expresiones son combinaciones de
constantes, variables, símbolos de operación,
paréntesis y nombres de funciones especiales
Una expresión siempre consta de operandos y
operadores.
En una expresión los paréntesis definen la prioridad
de solución de la expresión, o sea, el orden de
cálculo.
Los operadores y las expresiones según el tipo de
dato que manipulan se clasifican en:
◦ Aritméticas
◦ Lógicas
◦ Carácter
Operadores y expresiones
10. Operador Acción Ejemplo
- Resta x = 5 - 3; // x vale 2
+ Suma x = 2 + 3; // x vale 5
* Multiplicación x = 2 * 3; // x vale 6
/ División x = 6 / 2; // x vale 3
% Módulo x = 5 % 2; // x vale 1
-- Decremento x = 1; x--; // x vale 0
++ Incremento x = 1; x++; // x vale 2
Operadores aritméticos y prioridad:
11. Mayor precedencia
Agrupacion () []
Exponencial ^
Multiplicación, División y Módulo * / %
Suma y Resta + -
Menor precedencia
Precedencia operadores aritméticos
12. Operador Acción Expresiones en lenguaje natural Formalización
P^Q
P pero Q
P sin embargo Q
&& ^ Conjunción (Y) P no obstante Q
P a pesar de Q
P^Q
o P o Q o ambas cosas
|| v Disyunción (O) al menos P o Q
como mínimo P o Q
PvQ
no P
! ¬ Negación es falso que P
no es cierto P
¬P
si P entonces Q
Q si P
→ Implicación Q es necesario para P
P es suficiente para Q
P→Q
Operadores lógicos
13. Mayor precedencia
Negación !
Conjunción &&
Disyunción ||
Implicación →
Menor precedencia
Precedencia de operadores lógicos
14. Operador Acción
> Mayor que
>= Mayor o igual que
< Menor que
<= Menor o igual que
== Igual
!= Distinto
< <= > >=
Mayor precedencia
Menor precedencia == !=
Operadores relacionales
15. Mayor precedencia
()
^ ++ -- -
* / % !
+ - &&
|| > < >= <= != ==
Menor precedencia
Precedencia de operadores:
16. Regla Básica: Operando OPERADOR Operando
A<B^C>D b^c<e
Y >= X b || c > d
i++; j - -; a<b>c
a = b || c = d
x^y^z=2
i ← i + 1;
h * m = p; k || h – 2
k / 2 = j; ¬P + 5
p (m * -2) + 5 = z; h ^q-p
a = b ^ c <> d (e – f || g) * s
T ← h % 2;
2+t^s*3
Y ← (m ^ 2) + (n ** 2);
¬P ^ Q || ¬P
T^5*k
CORRECTO INCORRECTO
Manejo de expresiones con operadores:
17. Representar el siguiente enunciado con
conectores lógicos:
◦ “Si no pago el recibo de la luz, entonces me
cortarán la corriente eléctrica, y Si pago la luz,
entonces me quedaré sin dinero o tengo que
pedir prestado, pero Si me quedo sin dinero y
tengo que pedir prestado, entonces no puedo
pagar la deuda”
◦ Donde:
P: Pago la luz.
Q: Me cortarán la corriente eléctrica.
R: Me quedaré sin dinero.
S: Tengo que pedir prestado.
T: Puedo pagar la deuda.
Taller de operadores (1)
19. De la siguiente afirmación “Andrés es padre de
Bernardo y éste es padre de Cecilia” se obtienen
las siguientes proposiciones:
P: Andrés es descendiente de Bernardo
Q: Bernardo es descendiente de Andrés
R: Cecilia es descendiente de Bernardo
S: Cecilia es descendiente de Andrés
Asignar los valores a las siguientes fórmulas de
las tablas de verdad y explicar porque:
◦ Proposición Valor Porque
◦ ¬P
◦ ¬Q
◦ P^Q
◦ ¬P ^ Q || ¬P
◦ P ^ ¬Q
Taller de operadores (3)
20. Suponiendo declaradas y asignadas las
variables:
◦ i=8, j=5, x=0.005, y=-0.01
Indique los valores de las siguientes
expresiones:
◦ (3 * i – 2 * j) % (2 * i – j)
◦ 2 * ( (i / 5) + (4 * ( j – 3 ) ) % (i + j – 2) )
◦ -(i + j) /2
◦ i++;
◦ j--;
◦ (x > y) && (i > 0) || (j < 5)
◦ (x > y) || (i > 0) && (j < 5)
Taller de operadores (4)
21. En programación, una instrucción de asignación
consiste en asignar el resultado de la
evaluación de una expresión a una variable.
En pseudocódigo, la sintaxis para escribir una
asignación es:
◦ <nombre_de_la_variable> ← <expresión>
El valor (dato) que se obtiene al evaluar la
<expresión> es almacenado en la variable que
se indique.
En una asignación, la variable debe ser del
mismo tipo que la expresión asignada.
Una asignación permite cambiar el valor (dato)
almacenado en una variable.
Asignación:
22. Una instrucción de entrada (o simplemente
entrada) consiste en asignar a una o más
variables, uno o más valores (datos) recibidos
desde el exterior. Normalmente, los datos son
recogidos desde la entrada estándar (el teclado),
pero, también existen otros dispositivos de
entrada (el ratón, el escáner,...).
En pseudocódigo, la sintaxis de una instrucción
de entrada es:
◦ Leer(<nombre_de_la_variable_1>,
<nombre_de_la_variable_2>,
...,
<nombre_de_la_variable_n> )
◦ También se puede escribir como:
leer( <lista_de_variables> )
Entrada de Datos
23. En programación, una instrucción de salida
consiste en llevar hacia el exterior los valores
(datos) obtenidos de la evaluación de una
lista de expresiones.
Normalmente, los datos son enviados a la
salida estándar (la pantalla), pero, también
existen otros dispositivos de salida (la
impresora, el plotter,...).
En pseudocódigo, la sintaxis de una
instrucción de salida es:
◦ escribir( <expresión_1>, ..., <expresión_n> )
◦ También se puede escribir como:
escribir( <lista_de_expresiones> )
Salida de datos
24. Tenga en cuenta: Elaborar un programa que
◦ Datos de E/S imprima el mensaje “Este
◦ Declaración e computador se apagará en cinco
minutos”.
inicialización de
variables. Hacer un programa que imprima
el resultado de multiplicar 2 * 5.
◦ Inicio – proceso –
Elaborar un programa que
fin
muestre IUE, Facultad de
◦ Prueba de Ingenierías y su nombre.
Escritorio Elaborar un programa que
muestre los pasos de un
algoritmo.
Elaborar un programa que
imprima los primeros 10 números
pares.
Elaborar un programa que
imprima los números del 1 al 10
en orden inverso.
Ejercicios con Algoritmos: salida de datos
25. Elaborar un programa que Elaborar un programa que de
ingrese fecha de nacimiento y acuerdo al tiempo de parqueo de
fecha actual e imprima la edad un vehículo, sabiendo que la
aproximada. hora cuesta $3000, calcule e
Elaborar un programa que imprima el valor a pagar y la
ingrese un número e imprima su placa del vehículo.
cubo. Elaborar un programa que de
Hacer un programa que ingrese acuerdo a un año dado calcule si
dos números e imprima su es bisiesto o no.
suma. Elaborar un programa que lea el
Hacer un programa que lea un lado de un cuadrado, calcule e
número e imprima su cuadrado. imprima su área.
Elaborar un programa que Elaborar un programa que lea el
ingrese valor hora y número de lado de un triangulo equilátero y
horas trabajadas de una persona calcule e imprima su área.
e imprima su salario básico Elaborar un programa que lea un
número e indique si es primo o
no.
Ejercicios con Algoritmos: E/S de datos
26. Ejercicios de diseño de algoritmos en
pseudocódigo, en:
http://www.carlospes.com/ejercicios_de_algorit
mos/
Identificadores, variables y constantes en:
http://es.wikipedia.org/wiki/Identificador
Joyanés Aguilar, Luis. Fundamentos de
programación: Algoritmos y Estructura de datos.
Ed. McGrawHill.
Fuentes de la información: