Unidad Iv Algoritmos

32
UNIVERSIDAD TECNOLÓGICA DEL CHOCÓ FACULTAD DE INGENIERÍA PROGRAMA DE TELEINFORMÁTICA ASIGNATURA: Lógica de Programación Docente MARTHA IMELDA LUNA LÓPEZ Ing. De Sistemas U. Eafit Esp. En Derecho de las Telecomunicaciones

Transcript of Unidad Iv Algoritmos

Page 1: Unidad Iv Algoritmos

UNIVERSIDAD TECNOLÓGICA DEL CHOCÓFACULTAD DE INGENIERÍA

PROGRAMA DE TELEINFORMÁTICA

ASIGNATURA: Lógica de Programación

DocenteMARTHA IMELDA LUNA LÓPEZ

Ing. De Sistemas U. EafitEsp. En Derecho de las Telecomunicaciones

Page 2: Unidad Iv Algoritmos

Unidad N. IVAplicación de Algoritmos

Objetivo:Definir las características

básicas para trabajar algoritmos que podrán ser implementados posteriormente en un lenguaje

de programación

Page 3: Unidad Iv Algoritmos

La lógica es la capacidad de pensar racionalmente acerca de solucionesalternativas y los resultados de aplicarlas , y por lo tanto de hacer eleccionesinteligentes.

Definiciones de lógica:

•Es el estudio crítico del razonamiento y tiene un valor teórico y práctico•Es el estudio de los métodos y principios usados al distinguir entre los

LA LOGICA

•Es el estudio de los métodos y principios usados al distinguir entre losargumentos correctos (buenos) y los argumentos incorrectos (malos).•En un sentido amplio, es el estudio del correcto razonamiento.

Page 4: Unidad Iv Algoritmos

EXPRESIONES

Combinaciones de constantes, variables, símbolos deoperaciones, paréntesis y nombres de funciones especiales.

expresiones aritméticas ≈ fórmulas matemáticas

TIPO RESULTADO Se construyenmedianteoperadoresoperadores

Numéricas Numérico Aritméticos

Alfanuméricas Alfanumérico Alfanuméricos

Booleanas VERDADERO

o FALSO

Relacionales o

Lógicos

Page 5: Unidad Iv Algoritmos

EXPRESIONESOperadores Aritméticos

OPERADOR SIGNIFICADO Tipos deoperandos

Tipos deresultado

^ ** ↑ Potencia Entero o real Entero o real

+ Suma Entero o real Entero o real

- Resta Entero o real Entero o real

* Multiplicación Entero o real Entero o real

/ div División Real Real

Mod % Resto Entero Entero

Page 6: Unidad Iv Algoritmos

PROBLEMAS PROPUESTOS

1. Encontrar el valor de la variable B, después de la ejecución de las siguientes

2. operaciones (B,X,Y son variables de tipo entero)•B = 2 + 3 •B = 8 •X = 2 •Y = 6 •B = X*Y •B = X*Y •B = 5 •B = B+1 •B = 2 + 3 •B = B*2 •X = 2 •Y = 6 •B = B+X*Y •B =5 •B = B*2+5

Page 7: Unidad Iv Algoritmos

EXPRESIONES

Operadores de Relación

OPERADOR SIGNIFICADO

< Menor que

> Mayor que

= == Igual que

<= Menor o igual que

>= Mayor o igual que

<> != Diferente de

Page 8: Unidad Iv Algoritmos

EXPRESIONESOperadores Lógicos

OPERADOR EXPRESIÓN LÓGICA SIGNIFICADO

no, not, ! no p, not p, !p negación de p

y, and, && p y q, p and q, p && q conjunción de p y q

o, or, || p o q, p or q, p || q disyunción de p y q

A no A

F V

V F

A B A y B

V V V

V F F

F V F

F F F

A B A o B

V V V

V F V

F V V

F F F

Page 9: Unidad Iv Algoritmos

EJEMPLOS DE EXPRESIONES LÓGICAS

10 > 3 = verdadero

1 > 3 = falso

2 > 1 && 4 > 10 = falso

2 > 10 && 4 < 10 = falso

3 == 2 || 3 > 2 = verdadero

20 > 1 && 4 < 10 = verdadero

5 < 10 && 10 <= 20 = verdadero

2 > 1 | | 1 < 1 = verdadero

Page 10: Unidad Iv Algoritmos

EXPRESIONESOtros Operadores

Operador Significado

+ Concatenación

( ) Paréntesis

Page 11: Unidad Iv Algoritmos

EXPRESIONESOrden de prioridad de los Operadores

1. Paréntesis (las expresiones más internas se evalúan primero)2. Signo operador exponencial (potencias) ^4. Operadores *, /,5. Operadores DIV y resto6. Operadores +, -,7. Concatenación7. Concatenación8. Relacionales9. Negación10. Conjunción11. Disyunción

Page 12: Unidad Iv Algoritmos

EXPRESIONESJerarquía de los operadores aritméticos

Para realizar operaciones que tienen varios operadores aritméticos esimportante tener presente el nivel de jerarquía de éstos:Estas jerarquías son tres:•En primer lugar, está el operador POTENCIA.•En segundo lugar, aparecen los operadores MULTIPLICACION, DIVISION,MODULO Y DIVISION ENTERA•En tercer lugar, están los operadores SUMA y RESTA

•Los operadores se llevan a cabo de mayor a menor jerarquía y de izquierda aderecha.•Si una expresión contiene subexpresiones entre paréntesis, éstas se evalúanprimero; teniendo en cuenta la jerarquía de los operadores aritméticos en estasubexpresión. Si las subexpresiones se encuentran anidadas por paréntesis,primero se evalúan las subexpresiones que se encuentran en el último nivel deanidamiento.•El siguiente cuadro resume la jerarquía de estos operadores:

JERARQUIA OPERADOR1º **2º *, /, mod, div3º +, -

Page 13: Unidad Iv Algoritmos

CONSTANTES

Una Constante es un símbolo que permite referenciar un espacio de memoriaen el que hay un dato almacenado qué no se puede cambiar. En términosgenerales, una constante es una variable para la cual no se puede modificarsu estado durante la ejecución de un programa.

Las constantes se declaran de la siguiente manera:

Nombre= literal

Donde Nombre es el nombre de la constante y literal es lo que representa elvalor de la constante.

Ejemplos:

Tamaño_Maximo= 100Saludo= “HOLA BUENOS DIAS”Velocidad_luz= 300000000PI= 3,1415916

Page 14: Unidad Iv Algoritmos

BLOQUES DE ASIGNACIÓN

El bloque de asignación se utiliza para asignar valores o expresiones a unavariable. Es importante saber que cada vez que a una variable se le hace unaasignación nueva, esta pierde el valor que tenía anteriormente.

El formato estándar de una asignación es:

NombreVariable <- Expresión o valor. ONombreVariable = Expresión o valor

Ejemplos:A <- 20B <- 130C <- 200D <- A + BE <- B + CF <- (A+B) / 3G <- (9 ** 2) * C div B

Los bloques de asignación se clasifican en asignación aritmética, asignaciónlógica, asignación de cadena de caracteres.

Page 15: Unidad Iv Algoritmos

BLOQUES DE ASIGNACIÓN

Asignación aritmética: A una variable se le asigna el resultado de una expresión aritmética.

VAR1 <- 50 + 15 – 10VAR2 <- 25*2/3VAR3 <- VAR1*VAR2 + (VAR1 –10)

Asignación lógica: En una variable lógica sólo se podrán guardar datos lógicos( "verdadero" o "falso") o el resultado de evaluar una expresión lógica. lógicos( "verdadero" o "falso") o el resultado de evaluar una expresión lógica.

VAR1 <- 5>10VAR2 <- 2>4 o 3 < 5VAR3 <- 25 > 21

Asignación de datos alfanuméricos: A una variable se le asigna un carácter o una cadena de caracteres.

VAR1 <- ‘S’VAR2 <- ‘N’VAR3 <- “Bienvenidos”

VAR4 <- “Presione cualquier tecla para continuar”

Page 16: Unidad Iv Algoritmos

EJEMPLOS DE OPERACIONES DE ASIGNACIÓN

ENUNCIADO:

Hacer un algoritmo que lea un número entero N y muestre el triple del

número.

VARIABLES:

N para guardar el número que ingresa el usuario( de tipo entero).

TRIPLE para guardar el triple del número.

EXPLICACION DEL ALGORITMO

Primero se declaran las variables requeridas N y TRIPLE. luego se pide alPrimero se declaran las variables requeridas N y TRIPLE. luego se pide al

usuario que ingrese el valor de N, se calcula el triple de N y se muestra el

resultado.INICIO

Entero: N, TRIPLE

Leer (N)

TRIPLE= 3*N

Mostrar (“El Triple de N es:” N)

Fin programa

Page 17: Unidad Iv Algoritmos

EJEMPLOS DE OPERACIONES DE ASIGNACIÓN

ENUNCIADO:Hacer un algoritmo que lea el nombre y la edad de una persona y que muestre elnombre y la cantidad de meses vividos.

DATOS:los datos de entrada son :NOMBRE: para guardar el nombre de la persona ( es de tipo cadena).EDAD: para guardar la edad de la persona (es de tipo real)MESES: para guardar el cálculo de los meses vividos, recordar que un año tiene12 meses(de tipo real).12 meses(de tipo real).EXPLICACION DEL ALGORITMOSe debe definir las variables a utilizar NOMBRE. EDAD, MESES. Luego se leenlos datos NOMBRE y EDAD una vez leídos los datos se calcula los meses vividosse muestra el nombre y los meses vividos.Inicio

Cadena: NOMBREReal: EDAD,MESESLeer (NOMBRE, EDAD)MESES=EDAD*12Mostrar (NOMBRE, MESES)

Fin programa

Page 18: Unidad Iv Algoritmos

EJEMPLOS DE OPERACIONES DE ASIGNACIÓN

ENUNCIADO:Hacer un algoritmo que lea el nombre, la cantidad de horas trabajadas y el valor de cada hora. muestre el nombre y el pago del trabajador.DATOS: los datos de entrada son :NOMBRE: para guardar el nombre del trabajador (tipo cadena).NH: para guardar las horas trabajadas( tipo real).VH: para guardar el valor de cada hora( tipo real).otros datos:otros datos:P : para guardar el pago. recordar que el pago se calcula así: P = NH* VH

EXPLICACION DEL ALGORITMOse deben declarar las variables a utilizar NOMBRE, NH, VH y P. Luego se leen los datos NOMBRE, NH, VH. Una vez leídos los datos se hace el cálculo para determinar el pago. Se muestra el nombre y el pago del trabajador.

InicioCadena: NOMBREReal: NH,VH, PLeer ( NOMBRE, NH, VH)P= NH*VHMostrar(NOMBRE, P)

Fin programa

Page 19: Unidad Iv Algoritmos

EJEMPLOS DE OPERACIONES DE ASIGNACIÓN

ENUNCIADO:Hacer un algoritmo que lea un número entero N y muestre el triple del número.

VARIABLES:N para guardar el número que ingresa el usuario( de tipo entero).TRIPLE para guardar el triple del número.

EXPLICACION DEL ALGORITMOPrimero se declaran las variables requeridas N y TRIPLE. luego se pide al usuario Primero se declaran las variables requeridas N y TRIPLE. luego se pide al usuario que ingrese el valor de N, se calcula el triple de N y se muestra el resultado.

Inicio

Entero: N, TRIPLELeer (N)Triple= 3*NMostrar (“EL TRIPLE DE N ES:” TRIPLE)

Fin Programa

Page 20: Unidad Iv Algoritmos

EJEMPLOS DE OPERACIONES DE ASIGNACIÓN

ENUNCIADO:Hacer un algoritmo que lea un entero N y muestre el 10 % del número.

VARIABLES Se declara N de tipo entero, para guardar el dato entrado por el usuario.Se declara P de tipo real, para guardar 10 % del número.

EXPLICACION DEL ALGORITMO Se declaran las variables requeridas, se le pide al usuario que entre el dato N, se Se declaran las variables requeridas, se le pide al usuario que entre el dato N, se calcula el 10 % del número y se muestra.

InicioEntero: NReal: PLeer (N)P=N*0.1Mostrar (P)

Fin Programa

Page 21: Unidad Iv Algoritmos

EJEMPLOS DE OPERACIONES DE ASIGNACIÓN

ENUNCIADO:Hacer un algoritmo que lea tres números enteros A, B y C y muestre la suma delos tres datos lo mismo que el producto.VARIABLESSe declaran las variables A, B y C de tipo entero, para guardar cada uno de losdatos. Se declara la variable SUMA de tipo entero, para guardar la suma de lostres datos. Se declara la variable PRODUCTO de tipo entero, para guardar elproducto de los tres datos.

EXPLICACION DEL ALGORITMOSe declaran las variables requeridas, se le pide al usuario que entre los valorespara A, B y C. se calcula la suma y el producto y luego se muestran.Inicio

Entero: A, B, C, SUMA, PRODUCTOLeer (A, B, C)SUMA= A+B+CPRODUCTO= A*B*CMostrar (SUMA, PRODUCTO)

Fin programa

Page 22: Unidad Iv Algoritmos

EJEMPLOS DE OPERACIONES DE ASIGNACIÓN

ENUNCIADO:hacer un algoritmo que lea un número entero N y muestre un mensaje formado con la cadena " LA MITAD DEL NUMERO ES " y la mitad del número ingresado.

VARIABLES se declaran N, de tipo entero , para guardar el dato que ingrese el usuario.se declaran MITAD, de tipo real , para guardar la mitad del dato que ingrese el usuario.

EXPLICACION DEL ALGORITMO se declaran las variables requeridas, se le pide al usuario que entre N. se calcula la mitad del número N y finalmente se muestra el mensaje pedido.

InicioEntero: NReal: MITADLeer (N)MITAD= N/2MOSTRAR( “LA MITAD DEL NUMERO ES:”, MITAD)

Fin programa

Page 23: Unidad Iv Algoritmos

EJEMPLOS DE OPERACIONES DE ASIGNACIÓN LOGICA

ENUNCIADO:Hacer un algoritmo que lea el dato N de tipo entero y muestre el resultado de la siguiente expresión lógica:

N > 10

VARIABLES Se declara N, de tipo entero , para guardar el número que ingresa el usuario.Se declara RESPUESTA, de tipo lógico , para guardar el resultado de laSe declara RESPUESTA, de tipo lógico , para guardar el resultado de laexpresión .

EXPLICACION DEL ALGORITMOse declaran las variables requeridas. en RESPUESTA se guarda el resultado deevaluar la expresión indicada y final mente se muestra el resultado.Inicio

Entero: NLógico: RESPUESTALeer (N)RESPUESTA= N>10Mostrar ( RESPUESTA)

Fin programa

Page 24: Unidad Iv Algoritmos

EJEMPLOS DE OPERACIONES DE ASIGNACIÓN LOGICA

ENUNCIADO:Hacer un algoritmo que lea el dato N, de tipo entero y muestre el resultado de la siguiente expresión lógica:

N > 10 && N < 50

VARIABLES Se declara N, de tipo entero , para guardar el número que ingresa el usuario. Se declara RESPUESTA, de tipo lógico , para guardar el resultado de la expresión. declara RESPUESTA, de tipo lógico , para guardar el resultado de la expresión.

EXPLICACION DEL ALGORITMO se declaran las variables requeridas. en RESPUESTA se guarda el resultado de evaluar la expresión indicada y final mente se muestra el resultado. Inicio

Entero: NLogico: RESPUESTALeer (N)RESPUESTA= N>10 && N<50Mostrar (RESPUESTA)

Fin programa

Page 25: Unidad Iv Algoritmos

EJEMPLOS DE OPERACIONES DE ASIGNACIÓN LOGICA

ENUNCIADO:Hacer un algoritmo que lea los datos N1 y N2 de tipo entero y muestre el resultado de la siguiente expresión lógica:

N1 > 10 && N2 < 30 | | verdaderoVARIABLES se declara N1 y N2, de tipo entero , para guardar los números que ingresa el usuario.se declara RESPUESTA, de tipo lógico , para guardar el resultado de la expresión. expresión.

EXPLICACION DEL ALGORITMO se declaran las variables requeridas. se leen los datos N1 y N2, en RESPUESTA se guarda el resultado de evaluar la expresión indicada y final mente se muestra el resultado. Inicio

Entero: NLógico: RESPUESTALeer (N)RESPUESTA= N>10 && N<30 || VERDADERO

Fin programa

Page 26: Unidad Iv Algoritmos

EJEMPLOS DE OPERACIONES DE ASIGNACIÓN LOGICA

10 > 3 =

A= 1 > 3 = FALSE

2 > 1 && 4 > 10 =

2 > 10 && 4 < 10 =

3 == 2 || 3 > 2 =

20 > 1 && 4 < 10 =

5 < 10 && 10 <= 20 =

2 > 1 | | 1 < 1 =

Page 27: Unidad Iv Algoritmos

PROBLEMAS PROPUESTOS

2. Encontrar el valor de la variable B (de tipo lógico, después de la ejecución delas siguientes operaciones (X,Y ,Z son variables de tipo entero)•X = 6•Y = 6•B = X >Y•X = 4•Y = 6•Z =1•B = ( (X<=Z) and (Z<10)) or (Y>X)3. Hacer un algoritmo que calcule la suma de dos números enteros.3. Hacer un algoritmo que calcule la suma de dos números enteros.4. Realizar un algoritmo que lea el nombre y la edad de una persona y queimprima el nombre y la cantidad de meses vividos.5. Hacer un algoritmo que convierta metros a kilómetros y centímetros.6. Hacer un algoritmo que convierta horas a minutos y a segundos7. Hacer un algoritmo que permita pasar kilogramos a gramos y toneladas.8. Hacer un algoritmo que calcule el perímetro de un cuadrado.9. Hacer un algoritmo que lea un número entero y muestre el cuadrado delnumero, el doble del numero, la mitad del numero y el 20% del numero.10. Hacer un algoritmo que lea el nombre, la cantidad de horas trabajadas y elvalor de la hora. Que muestre el salario y el nombre

Page 28: Unidad Iv Algoritmos

PROBLEMAS PROPUESTOS

1. Hacer un algoritmo que lea el dato N de tipo entero y muestre el resultado de la siguiente expresión lógica x < 3 && X < 20

2. Hacer un algoritmo que lea los datos enteros A y B y muestre el resultado de la expresión lógica A >( B - 10)

3. Hacer un algoritmo que lea el dato N de tipo entero y muestre el 3. Hacer un algoritmo que lea el dato N de tipo entero y muestre el resultado de la expresión lógica N >= 0.

4. Hacer un algoritmo que lea el dato N de tipo entero y muestre el resultado de la expresión lógica N < 10 | | N < 30.

5. Hacer un algoritmo que lea los datos enteros A , B y C y muestre el resultado de la expresión lógica A * C >= ( B - 10)

Page 29: Unidad Iv Algoritmos

PRUEBAS DE ESCRITORIO

La prueba de escritorio de un algoritmo consiste en simular paso a paso las instrucciones del algoritmo hasta obtener el resultado final.

EJEMPLO:

Hacer un seguimiento (prueba de escritorio) del siguiente grupo de instrucciones.instrucciones.

INICIOSUMA=0X=20SUUMA= SUMA + XY=40X=X + Y **2SUMA= SUMA + X/YMOSTRAR ( “EL VALOR DE LA SUMA ES:” SUMA)

FIN PROGRAMA

Page 30: Unidad Iv Algoritmos

PRUEBAS DE ESCRITORIO

SUMA X Y

0 20 40

20 1620

60,5

La raya horizontal indica que el valor subrayado desaparece de la dirección de memoria y es reemplazado por un nuevo valor.

SALIDA: EL VALOR DE SUMA ES: 60,5

Page 31: Unidad Iv Algoritmos

ASPECTOS A TENER EN CUENTA

a. En un algoritmo a las variables se les da valor, bien sea por unaasignación o por una instrucción de entrada.

b. El valor que se le asigna a una variable en cualquiera de loscasos debe ser del mismo tipo de dato que la variable.

c. En la prueba de escritorio se deben mostrar los cambios quec. En la prueba de escritorio se deben mostrar los cambios quesufren todas las variables del algoritmo.

d. La instrucción de asignación no puede ser tomada como unaigualdad, ya que la variable que recibe el valor puede aparecertambién al lado derecho de la expresión.

e. Si una variable aparece en más de una instrucción de entrada oasignación, su valor es destruido cada que se ejecuta una nuevainstrucción.

Page 32: Unidad Iv Algoritmos

RECURSOS

Bibliografía.

OVIEDO, Regino Efrain M, Lógica de Programación. Ecoeediciones.

Joyanes Aguilar Luis. Fundamentos de ProgramaciónJoyanes Aguilar Luis. Fundamentos de Programación

SITIOS WEB:

http://www.alegsa.com.ar/Notas/70.phphttp://www.deguate.com/infocentros/educacion/recursos/computacion/origen.htmhttp://www.udea.edu.cohttp://www.bloginformatico.com/concepto-y-tipos-de-software.phphttp://mx.geocities.com/berebl2001/mipag5.html