logica tipos de datos operadores

26
Algoritmos Grupo 248 Docente: Ma. Eugenia Morales M. Institución Universitaria de Envigado Facultad de Ingenierías Tipos de datos Identificadores Operadores y prioridad Instrucciones de Asignación - Entrada y Salida de Información Ejercicios de lógica

Upload: memoralesiue

Post on 11-Jul-2015

1.037 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Logica tipos de datos operadores

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

Page 2: Logica tipos de datos operadores

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

Page 3: Logica tipos de datos operadores

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.

Page 4: Logica tipos de datos operadores

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).

Page 5: Logica tipos de datos operadores

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.

Page 6: Logica tipos de datos operadores

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

Page 7: Logica tipos de datos operadores

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>

Page 8: Logica tipos de datos operadores

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

Page 9: Logica tipos de datos operadores

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

Page 10: Logica tipos de datos operadores

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

Page 11: Logica tipos de datos operadores

Precedencia operadores aritméticos

Mayor precedencia

Agrupacion ( ) [ ]Exponencial ^

Multiplicación, División y Módulo * / %

Suma y Resta + -Menor precedencia

Page 12: Logica tipos de datos operadores

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

Page 13: Logica tipos de datos operadores

Precedencia de operadores lógicos

Mayor precedencia

Negación !Conjunción &&Disyunción ||Implicación →

Menor precedencia

Page 14: Logica tipos de datos operadores

Operadores relacionales

Operador Acción

> Mayor que

>= Mayor o igual que

< Menor que

<= Menor o igual que

== Igual

!= Distinto

Mayor precedencia < <= > >=Menor precedencia == !=

Page 15: Logica tipos de datos operadores

Precedencia de operadores:

Mayor precedencia

( )

^ ++ -- -

* / % !

+ - &&

|| > < >= <= != == Menor precedencia

Page 16: Logica tipos de datos operadores

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

Page 17: Logica tipos de datos operadores

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.

Page 18: Logica tipos de datos operadores

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

Page 19: Logica tipos de datos operadores

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

Page 20: Logica tipos de datos operadores

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)

Page 21: Logica tipos de datos operadores

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.

Page 22: Logica tipos de datos operadores

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> )

Page 23: Logica tipos de datos operadores

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> )

Page 24: Logica tipos de datos operadores

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.

Page 25: Logica tipos de datos operadores

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.

Page 26: Logica tipos de datos operadores

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.