logica tipos de datos operadores
TRANSCRIPT
Algoritmos
Grupo 248Docente: Ma. Eugenia Morales M.
Institución Universitaria de EnvigadoFacultad de Ingenierías
Tipos de datosIdentificadores
Operadores y prioridadInstrucciones de Asignación
- Entrada y Salida de Información
Ejercicios de lógica
Datos informáticos
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 Simples
Numéricos Enteros: o Int representan un subconjuntofinito de los números enteros. En máquinas de 8 bits surango va desde -32.768 a 32.767 y en máquinas de 32bits: su rango va desde el -2.147.483.648 al2.147.483.647,
Carácter: o Char El tipo de dato carácter es un digitoindividual el cual se puede representar como numéricos (0al 9), letras (a-z) y símbolo ($,_) según la tabla ASCII(American Standard Code for Information Interchange) yUNICODE.
Lógicos: o Booleano Este tipo de dato se emplea paravalores lógicos True – False.
Datos Compuestos
Numéricos Reales (float): almacenannúmeros muy grandes que poseen parteentera y parte decimal. Su rango incluye lospositivos y los negativos y admite númerosde 32 (float) y 64 bits (double).
Cadena de caracteres (String) es unasucesión de caracteres (letras, números uotros signos o símbolos). Se almacenan enforma dinámica (pueden alterar su longituddurante el tiempo de ejecución = listasdinámicas), o en forma estática (su longitudes fija a lo largo del tiempo de ejecución =arrays).
Identificadores…
Un identificador es el nombre que se le da a cada uno de loselementos incluidos en un algoritmo.
Existen identificadores predefinidos que forman parte dellenguaje algorítmico, y los identificadores definidos por elprogramador a través de variables y constantes.
En pseudocódigo, todo identificador debe cumplir unas reglas desintaxis:
◦ 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 elcarácter subrayado (_). Es importante resaltar que las vocales nopueden llevar tilde ni diéresis.
◦ Un identificador en lo posible debe ser un nombre nemotécnico, estoes, utilización de letras abreviadas que den cuenta de qué tipo de datoalmacena, por ejemplo: char para carácter.
Ejercicio con IDENTIFICADORES
De acuerdo a lo que has aprendido sobre identificadores, indica delos 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
Variables Constantes Una variable representa a un
espacio de memoria en el cualse puede almacenar un datoque cambia tantas veces comosea necesario durante laejecución de un programa.
El programador, cuandodesarrolla un programa debedecidir:
◦ Cuantas son las variables queel programa necesita pararealizar las tareas que se lehan encomendado.
◦ El tipo de dato que puedealmacenar cada una de ellas.
◦ El identificador de cadavariable.
En pseudocódigo para declararuna variable utilizaremos lasintáxis:◦ <nombre-variable> = <expresión>
Una constante representa a unvalor (dato almacenado enmemoria) que no puede cambiardurante la ejecución de unprograma.
Para expresar una constante conun nombre, la constante debeser declarada previamente.
Todas las constantes que sedeclaran en un programa sondefinidas de la mismaforma, indicando de cada una de
ellas:el identificador y el valor quesimboliza.
En pseudocódigo, para declararuna constante, vamos a utilizarla sintaxis:◦ Const <nombre_de_la_constante>
= <expresión>
Ejercicios con identificadores de variables:
De la siguiente información,defina qué tipo de datoalmacena y escriba unidentificador para cada uno:
1. Número de teléfono2. Cédula de ciudadanía3. Código de producto4. Nombre de persona5. Dirección6. Valor de la hora7. Salario básico8. Salario Neto9. Sexo10. Edad11. Valor de compra propiedad raíz12. Estado (activo – inactivo)13. Email14. Nombre de usuario15. Estado civil
16. Tipo de nutriente alimentario
17. Carrera o programa elegidopara estudiar
18. Nivel socio-económico
19. Ocupación (empleado –desempleado)
20. Profesión
21. Tipo de vivienda
22. Opción (de una lista deopciones)
23. Respuesta (Si – No)
24. Tipo de procesador (PC)
25. URL
26. Número celular
27. Área (de una figurageométrica)
28. Resultado (de una operaciónmatemática)
29. Nomenclatura
30. Capacidad de memoria RAM
Operadores y expresiones
En un programa, el tipo de un dato determina lasoperaciones que se pueden realizar con él.
Los operadores pueden ser aritméticos, lógicos orelacionales y las expresiones son combinaciones deconstantes, variables, símbolos de operación,paréntesis y nombres de funciones especiales
Una expresión siempre consta de operandos yoperadores.
En una expresión los paréntesis definen la prioridadde solución de la expresión, o sea, el orden decálculo.
Los operadores y las expresiones según el tipo dedato que manipulan se clasifican en:◦ Aritméticas◦ Lógicas◦ Carácter
Operadores aritméticos y prioridad:
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
Precedencia operadores aritméticos
Mayor precedencia
Agrupacion ( ) [ ]Exponencial ^
Multiplicación, División y Módulo * / %
Suma y Resta + -Menor precedencia
Operadores lógicos
Operador Acción Expresiones en lenguaje natural Formalización
&& ^ Conjunción (Y)
P ^ QP pero Q
P sin embargo QP no obstante QP a pesar de Q
P ^ Q
|| v Disyunción (O)
o P o Q o ambas cosasal menos P o Q
como mínimo P o QP v Q
! ¬ Negación
no Pes falso que Pno es cierto P
¬P
→ Implicación
si P entonces QQ si P
Q es necesario para PP es suficiente para Q
P → Q
Precedencia de operadores lógicos
Mayor precedencia
Negación !Conjunción &&Disyunción ||Implicación →
Menor precedencia
Operadores relacionales
Operador Acción
> Mayor que
>= Mayor o igual que
< Menor que
<= Menor o igual que
== Igual
!= Distinto
Mayor precedencia < <= > >=Menor precedencia == !=
Precedencia de operadores:
Mayor precedencia
( )
^ ++ -- -
* / % !
+ - &&
|| > < >= <= != == Menor precedencia
Manejo de expresiones con operadores:
A < B ^ C > D
Y >= X
i++; j - -;
a = b || c = d
i ← i + 1;
h * m = p;
k / 2 = j;
p (m * -2) + 5 = z;
a = b ^ c <> d
T ← h % 2;
Y ← (m ^ 2) + (n ** 2);
¬P ^ Q || ¬P
b ^ c < e
b || c > d
a < b > c
x ^ y ^ z = 2
k || h – 2
¬P + 5
h ^ q - p
(e – f || g) * s
2 + t ^ s * 3
T ^ 5 * k
Regla Básica: Operando OPERADOR Operando
CORRECTO INCORRECTO
Taller de operadores (1)
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 (2)
Evaluar la siguiente expresión matemática teniendo en cuenta la precedencia de los signos:
( 5 + 10 ) * 3 = 45
2 [ 3 + ( 6 * 5 + 2 ) ] = 70
-5 * [ (-3 * 2 ) \ (-3) + 1 ] = -15
[ – [ -13 + ( 24 – 68 ) ] – ( -48 + 95) ] – (2 ^ 2)= 6
Taller de operadores (3)
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 (4)
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)
Asignación:
En programación, una instrucción de asignaciónconsiste en asignar el resultado de laevaluación de una expresión a una variable.
En pseudocódigo, la sintaxis para escribir unaasignación es:◦ <nombre_de_la_variable> ← <expresión>
El valor (dato) que se obtiene al evaluar la<expresión> es almacenado en la variable quese indique.
En una asignación, la variable debe ser delmismo tipo que la expresión asignada.
Una asignación permite cambiar el valor (dato)almacenado en una variable.
Entrada de Datos
Una instrucción de entrada (o simplementeentrada) consiste en asignar a una o másvariables, uno o más valores (datos) recibidosdesde el exterior. Normalmente, los datos sonrecogidos desde la entrada estándar (el teclado),pero, también existen otros dispositivos deentrada (el ratón, el escáner,...).
En pseudocódigo, la sintaxis de una instrucciónde 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> )
Salida de datos
En programación, una instrucción de salidaconsiste 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> )
Ejercicios con Algoritmos: salida de datos
Tenga en cuenta:
◦ Datos de E/S
◦ Declaración e inicialización de variables.
◦ Inicio – proceso –fin
◦ Prueba de Escritorio
Elaborar un programa que imprima el mensaje “Este computador se apagará en cinco minutos”.
Hacer un programa que imprima el resultado de multiplicar 2 * 5.
Elaborar un programa que muestre IUE, Facultad de Ingenierías y su nombre.
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: E/S de datos
Elaborar un programa queingrese fecha de nacimiento yfecha actual e imprima la edadaproximada.
Elaborar un programa queingrese un número e imprima sucubo.
Hacer un programa que ingresedos números e imprima susuma.
Hacer un programa que lea unnúmero e imprima su cuadrado.
Elaborar un programa queingrese valor hora y número dehoras trabajadas de una personae imprima su salario básico
Elaborar un programa que deacuerdo al tiempo de parqueo deun vehículo, sabiendo que lahora cuesta $3000, calcule eimprima el valor a pagar y laplaca del vehículo.
Elaborar un programa que deacuerdo a un año dado calcule sies bisiesto o no.
Elaborar un programa que lea ellado de un cuadrado, calcule eimprima su área.
Elaborar un programa que lea ellado de un triangulo equilátero ycalcule e imprima su área.
Elaborar un programa que lea unnúmero e indique si es primo ono.
Fuentes de la información:
Ejercicios de diseño de algoritmos en pseudocódigo, en: http://www.carlospes.com/ejercicios_de_algoritmos/
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.