logica maribel__4 a¡

32
22 de febrero de 2011 LOGICA COMPUTACIONAL Página 1 PORTADA---------------------------------------------------------3 PROPÓSITOS DE LA LÓGICA COMPUTACIONA-------4 ¿QUÉ ES UN PROBLEMA?------------------------------------------------------------5 ETAPAS PARA RESOLVERLO--------------------------------------------------------5 ¿QUÉ ES LÓGICA COMPUTACIONAL? -------------------6 HERRAMIENTAS-------------------------------------------------------------------------6 ALGORITMOS----------------------------------------------------7 ¿QUÉ SON LOS ALGORITMOS?-----------------------------------------------------7 ESTRUCTURA DE LOS ALGORITMOS-------------------------------------------7 TIPOS DE ALGORITMOS--------------------------------------------------------------8 1. ALGORITMOS SECUENCIALES-------------------------------------9 2. ALGORITMOS DE DECISIÓN----------------------------------------9 a) DECISIÓN SIMPLE-------------------------------------------------------------------------9 b) DECISIÓN DOBLE-------------------------------------------------------------------------11 c) DECISIÓN MÚLTIPLE---------------------------------------------------------------------13 3. ALGORITMOS REPETITIVOS----------------------------------------13 a) PARA----------------------------------------------------------------------------------------13 b) MIENTRAS---------------------------------------------------------------------------------15 c) REPETIR-------------------------------------------------------------------------------------16 4. EJEMPLOS DE ALGORITMOS---------------------------------------16 DIAGRAMAS DE FLUJO------------------------------------19 ¿QUÉ ES EL DIAGRAMA DE FLUJOS?--------------------------------------19 REPRESENTACIÓN GRAFICA--------------------------------------------------19 SÍMBOLOS-----------------------------------------------------------------------------------19 REGLAS PARA LA CREACIÓN DE DIAGRAMAS DE FLUJO--------------20

description

solo la tarea de logica

Transcript of logica maribel__4 a¡

22 de

febrero

de 2011

LOGICA COMPUTACIONAL

Página 1

PORTADA---------------------------------------------------------3

PROPÓSITOS DE LA LÓGICA COMPUTACIONA-------4

¿QUÉ ES UN PROBLEMA?------------------------------------------------------------5

ETAPAS PARA RESOLVERLO--------------------------------------------------------5

¿QUÉ ES LÓGICA COMPUTACIONAL? -------------------6

HERRAMIENTAS-------------------------------------------------------------------------6

ALGORITMOS----------------------------------------------------7

¿QUÉ SON LOS ALGORITMOS?-----------------------------------------------------7

ESTRUCTURA DE LOS ALGORITMOS-------------------------------------------7

TIPOS DE ALGORITMOS--------------------------------------------------------------8

1. ALGORITMOS SECUENCIALES-------------------------------------9

2. ALGORITMOS DE DECISIÓN----------------------------------------9

a) DECISIÓN SIMPLE-------------------------------------------------------------------------9

b) DECISIÓN DOBLE-------------------------------------------------------------------------11

c) DECISIÓN MÚLTIPLE---------------------------------------------------------------------13

3. ALGORITMOS REPETITIVOS----------------------------------------13

a) PARA----------------------------------------------------------------------------------------13

b) MIENTRAS---------------------------------------------------------------------------------15

c) REPETIR-------------------------------------------------------------------------------------16

4. EJEMPLOS DE ALGORITMOS---------------------------------------16

DIAGRAMAS DE FLUJO------------------------------------19

¿QUÉ ES EL DIAGRAMA DE FLUJOS?--------------------------------------19

REPRESENTACIÓN GRAFICA--------------------------------------------------19

SÍMBOLOS-----------------------------------------------------------------------------------19

REGLAS PARA LA CREACIÓN DE DIAGRAMAS DE FLUJO--------------20

22 de

febrero

de 2011

LOGICA COMPUTACIONAL

Página 2

EJEMPLOS DE DIAGRAMAS DE FLUJO--------------------------------21

PSEUDOCÓDIGOS---------------------------------------------25

¿QUÉ SON LOS PSEUDOCÓDIGOS?--------------------------------------------25

ESTRUCTURA DE LOS PSEUDOCÓDIGOS---------------------------------25

EJEMPLOS DE PSEUDOCÓDIGOS--------------------------------------------26

VARIABLES----------------------------------------------------27

CONSTANTES--------------------------------------------------27

TIPOS DE DATOS---------------------------------------------28

NUMERICO---------------------------------------------------------------------------------29

CARACTERES------------------------------------------------------------------------------29

BOOLEANOS--------------------------------------------------------------------------------29

CONTADOR-------------------------------------------------------30

ACUMULADOR--------------------------------------------------30

22 de

febrero

de 2011

LOGICA COMPUTACIONAL

Página 3

22 de

febrero

de 2011

LOGICA COMPUTACIONAL

Página 4

PROPOSITOS DEL SUBMODULO 1

Que el alumno aprenda a solucionar problemas utilizando

la lógica computacional, llevando una metodología que

luego se adaptará en el computador para utilizar los

modernos enfoques orientados a objetos, haciendo

énfasis en la solución algorítmica, teniendo en mente las

soluciones sean implementadas en un lenguaje de

programación orientada a objetos.

22 de

febrero

de 2011

LOGICA COMPUTACIONAL

Página 5

RESUELVE LOS SIGUIENTES EJERCICIOS:

Román y Ramiro son dos gemelos que van al colegio en autobús, ya que

este e diez veces mas rápido que ellos. En la calle que viven hay dos

paradas de la misma línea de autobuses, y aunque viven juntos, Román

siempre sale hacia la parada de autobuses del norte, que es la más

cercana y Ramiro sale a la vez hacia la parada del sur, en la misma

dirección que el autobús: curiosamente siempre llegan al colegio en el

mismo autobús. Si a Román le cuesta 9 minutos llegar a su parada.

¿Cuánto tiempo tarda ramiro en llegar a la suya?

Ecuación lineal: 10(2)=9 20=9 20-9=0 11=0 RESPUESTA: TARDA 11 MINUTOS

Coloca un número en cada cuadro, teniendo en cuenta que:

a) 3, 6,8, están en la horizontal superior.

b) 5, 7,9, están en la horizontal inferior.

c) 1, 2, 3, 6, 7, 9, no están en la vertical izquierda.

d) 1,3,4,5,8,9, no están en la vertical derecha.

8 3 6

4 1 2

5 9 7

María tiene 4 años, su hermana Martha tiene 3 veces su edad. ¿Qué edad

tendrá Martha cuando su edad sea el doble que el de María?

Ecuaciones de primer grado

M=María, Mt=Martha M=4 Mt=3m

22 de

febrero

de 2011

LOGICA COMPUTACIONAL

Página 6

Mt=2(3m) Mt=6(4) Mt=24 RESPUESTA: MARTHA TENDRÁ 24 AÑOS

Resuelve el siguiente triangulo con los numero del 1 al 9.

Estas como otros problemas tienen solución ya sea filosóficamente o incluso te puedes apoyar de una computadora utilizando la lógica computacional y de sus herramientas como son por medio de los algoritmos, diagramas de flujo o pseudocódigo. Ya que existen diferentes tipos de problemas y para los problemas tenemos diferentes formas de resolverlo. Pero tenemos que darle una solución el cual resuelva nuestras dudas e incógnitas.

9

2

4

5 8 6

7

3

1

22 de

febrero

de 2011

LOGICA COMPUTACIONAL

Página 7

Cuestión o

planteamiento

.

Que Requiere de

una solución.

Por medio

medio

De la

tecnología o

Métodos

filosóficos.

Entrada de

datos

1.-¿Qué datos tengo? 2.-¿Cuál es mi incógnita?

Proceso

1.-¿Qué operaciones debo realizar para resolverlo?

Salida de

datos

1.-¿Los resultados cumplen con mi objetivo?

22 de

febrero

de 2011

LOGICA COMPUTACIONAL

Página 8

Nos ayuda a

Resolver ciertas

acciones

Aplicandolas a

la

Computadora.

Herramientas

Algoritmos

.

Diagramas

de flujo.

Psedocódigos

.

22 de

febrero

de 2011

LOGICA COMPUTACIONAL

Página 9

ordenado

Que nos conduce a la

finito de

instrucciones.

Solución de un

Problema

.

Conjunto

.

Entrada

de datos.

Proceso.

Salida de

datos.

Se identifica con la

palabra leer por

ejemplo: Leer dato.

Todas las

operaciones que voy

a realizar.

Se identifica con la

palabra imprimir o

mostrar.

22 de

febrero

de 2011

LOGICA COMPUTACIONAL

Página 10

Secuenciales. Repetitiv

os.

De decisión.

Simple.

Doble.

Múltiple.

For

(para)

While

(mientras)

Repeat

(repetir)

Repetitivos

.

For (para)

While (mientras)

Repeat (repetir)

22 de

febrero

de 2011

LOGICA COMPUTACIONAL

Página 11

Es aquella en la que la acción (instrucción) sigue a otra en secuencia. Se representa de la

siguiente forma.

Se caracteriza porque una acción se ejecuta sobre otra. El diagrama de flujo coincide con el

orden físico en el que se han ido poniendo las instrucciones. Dentro de este tipo podemos

encontrar operaciones de inicio/fin.

INICIO D.E

PROCESO Acción 1 Accion2

.

. Acción n

Fin.

si_entonces (if_then)

Ejemplo de selección simple:

Diseñe un algoritmo y diagrama de flujo para saber si un numero

introducido por el usuario es negativo.

INICIO DATOS DE ENTRADA. Leer número

PROCESO Si numero <0 entonces

Imprimir “número negativo” FIN

Algoritmo

22 de

febrero

de 2011

LOGICA COMPUTACIONAL

Página 12

Realice un algoritmo y diagrama de flujo que valida la división de dos

números sabiendo que solo podrá realizar la división si el divisor es

diferente a cero.

INICIO.

DATOS DE ENTRADA: LEER NUM

PROCESO

Si num =0 entonces

R=x/y

Imprimir=r

Fin_si

FIN

INICIO

Número

Num<0

“num

neg.”

FIN

INICIO

X,Y

Y!=0

FIN

R=X/Y

R

Diagrama de flujo

Algoritmo Diagrama de flujo

22 de

febrero

de 2011

LOGICA COMPUTACIONAL

Página 13

si_entonces_ de lo contrario (if_then_else)

Esta estructura nos permite elegir entre dos opciones posibles si la condición es verdadera ,

ejecuta la opción 1 y si es falsa ejecuta la opción 2.

EJEMPLOS DE SELECCIÓN DOBLE:

Diseñe un algoritmo que determine si una persona es mayor o menor de

edad. Al introducir su edad en el teclado.

INICIO. DATOS DE ENTRADA: Leer edad.

PROCESO Si edad >= 18 entonces

Imprimir:”mayor de dad” De lo contrario

Imprimir: “menor de edad” FIN SI FIN.

Diagrama de flujo

Algoritmo

22 de

febrero

de 2011

LOGICA COMPUTACIONAL

Página 14

Diseñe un algoritmo que determine si un numero introducido por el usuario es o no par positivo.

INICIO DATOS DE ENTRADA: LEER NUMERO

PROCESO si numero mod 2=0 and

numero >0 entonces imprimir “par positivo”

de lo contrario imprimir “no me interesa”

FIN SI FIN

Algoritmo

Diagrama de flujo

22 de

febrero

de 2011

LOGICA COMPUTACIONAL

Página 15

en caso de opción hacer

Op1, Op2, Op3 Case

EJEMPLOS DE SELECCIÓN CON MULTIPLE:

Diseñe un algoritmo que asignado o introducido el numero del día de la semana mande un mensaje a la pantalla del día que corresponde. INICIO DATOS DE ENTRADA: leer día PROCESO Case opción día Case 1 “lunes” Case 2 “martes” Case 3 “miercoles” Case 4 “jueves” Case 5 “viernes” Case 6 “sabado” Case 7 “domingo” Else case Fin case

Son aquellas en que las acciones se ejecutan un número determinado de veces y dependen de

un valor predefinido o el cumplimiento de termina una acción.

Permiten representar aquellas acciones que pueden descomponerse en otras subacciones

primitivas.

Se ejecuta mientras la condición evaluada resulte verdadera.se usa frecuentemente cuando se

conoce el número de veces que se ejecutaran las acciones de un bucle.

22 de

febrero

de 2011

LOGICA COMPUTACIONAL

Página 16

EJEMPLO:

Diseñe un algoritmo que sume los números impares del 1-100 y que

realice el cuadrado de los numero pares.

INICIO

PROCESO

si=0 sp=0 i=1 para i=1,100,1 r=i/2 si r=0 entonces sp=sp+(i*i) entonces imprimirsp de lo contrario si=si+i entonces imprimir si fin para FIN

ALGORITMO DIAGRAMA DE FLUJO

22 de

febrero

de 2011

LOGICA COMPUTACIONAL

Página 17

Realiza un algoritmo que calcule la suma de los cuadrados del 1-10

INICIO

DATOS DE ENTRADA

PROCESO

si s =0 para i = 1,10,1 s= s+(i*i) fin para imprimir s FIN

Ejecuta un bloque de instrucciones mientras que la condición se evalué como

verdadero y siempre se evalúa antes de ejecutar el bloque de instrucciones en caso de

que la condición evalué la primera vez como falsa el bloque de instrucciones no será

ejecutado por lo que quiere decir que el numero de interacciones es igual a cero, en

caso contrario la condición evaluara como verdadero y se repetirá el bloque de

instrucciones.

POR EJEMPLO:

Dado un numero natural positivo calcular la suma de los números

naturales del hasta el numero introducido.

INICIO

FIN

S 0

Para i 1, 10, 1

S s+(i *i)

Fin para

Algoritmo

22 de

febrero

de 2011

LOGICA COMPUTACIONAL

Página 18

INICIO DATOS DE ENTRADA: leer número s

PROCESO: i=1 s =0

mientras i<= número S=s+i I=i+1

Fin mientras. IMPRIMIR S

FIN

Se ejecuta hasta que se cumpla una condición determinada que se comprueba hasta el

final del bucle.

Se llama Repetir a la estructura algorítmica que se ejecuta un número definido de

veces hasta que la condición se torna o se vuelve verdadera.

Diseñe un algoritmo para convertir una longitud dada en metros a sus

equivalentes en centímetros, pies, pulgadas y yardas. Considere que:

1m=100cm. 1pulgada=2.54cm. 1 pie=12 pulgadas. 1 yarda= 3 pies.

INICIO DATOS DE ENTRADA

PROCESO xcm=(sm*100m)/1

p=(xcm*1pulgada)/2.54cm FIN

22 de

febrero

de 2011

LOGICA COMPUTACIONAL

Página 19

Diseñe un algoritmo para calcular el área y perímetro de un cuadrado.

INICIO Datos de entrada. Leer L

PROCESO. A=L²

P=L*L DATOS DE SALIDA. Imprimir. A, P

FIN.

Diseñe un algoritmo para calcular el área y perímetro de un rectángulo.

INICIO DATOS DE ENTRADA. LEER b, h

PROCESO. a=b*h

p=2b+2h DATOS DE SALIDA. Imprimir a, p

FIN.

Diseñe un algoritmo que represente el porcentaje de varones y mujeres

que hay en un salón de clases.

INICIO DATOS DE ENTRADA leer v, m

PROCESO T=v+m

T - 100% %v=v*100%t

%m=m*100%t T=10

Diseñe un algoritmo que lea una medida en gibas y los convierta en Mb,

Kb y bites.

INICIO DATOS DE ENTRADA. Leer GB, Mb, Kb,b.

PROCESO. MB= (1024*GB)/1 KB= (1024*MB)/1 B= (1024*KB)/1

DATOS DE SALIDA. MOSTRAR FIN.

22 de

febrero

de 2011

LOGICA COMPUTACIONAL

Página 20

Diseñe un algoritmo que lea 3 longitudes y determine si forma un triangulo a no, si forma el triangulo que determine que tipo de triangulo forma: equilátero, isósceles, o escaleno.

INICIO DATOS DE ENTRADA: leer l1, l2, l3

PROCESO Determinar el layo mayor

Mayor= l1 Si l2>mayor entonces

Mayor =l2 Si l3>mayor entonces

Mayor=l3 Determinar la suma de los lados a excepción del lado mayor

S=l1+l2+l3 mayor Determinar qué tipo de triangulo se trata

Si mayor<s Si l1=l2 and l1=l3 entonces

Imprimir “equilátero” De lo contrario

Si l1=l2 or l1=l3 or l2=l3 Imprimir “isósceles”

De lo contrario Imprimir “escaleno”

Diseñe un algoritmo que lea el sueldo de tres

empleados y aplicarles un aumento del 10%. 12%,

15% respectivamente y de su salario final. INICIO

DATOS DE ENTRADA: leer S1, S2, S3 PROCESO

aum1 ¬ s1 * 0.10 aum2 ¬ s2 * 0.12 aum3 ¬ s3 * 0.15 sf1 ¬ s1 + aum1 sf2 ¬ s2 + aum2 sf3 ¬ s3 + aum3

imprimir (sf1, sf2, sf3) FIN

22 de

febrero

de 2011

LOGICA COMPUTACIONAL

Página 21

Fluido de datos

Conector a una misma hoja

Conector a otra hoja

Ó

Toma de desiciones

De la

de

Que llevan

un

representa

De manera

grafica

Logica

computacional

Herramienta.

conjunto

Instrucciones

ordenadas

Solucion de

un problema

inicio

FIN

leer

Asignación

impresora pantalla

22 de

febrero

de 2011

LOGICA COMPUTACIONAL

Página 22

a) Los diagramas de flujo deben escribirse de arriba hacia

abajo y de izquierda a derecha.

b) Los símbolos se unen con líneas las cuales tienen en la

punta una flecha que inca la dirección en la que fluye la

información.

c) No deben de quedar líneas de flujo sin conectar.

d) Todo texto escrito dentro de un símbolo debe ser legible

preciso, evitar el uso de muchas palabras.

e) Todos los símbolos pueden tener más de una línea de flujo

excepto el símbolo final.

22 de

febrero

de 2011

LOGICA COMPUTACIONAL

Página 23

Diseñe un algoritmo y diagrama de flujo que calcule

la resta de dos números dados.

INICIO

DATOS DE ENTRADA. Leer x,y

PROCESO

R=x-y

DATOS DE SALIDA. IMPRIMIR R

FIN.

Algoritmo Diagrama de flujo

INICIO

X, Y

R=X-Y

R

FIN

22 de

febrero

de 2011

LOGICA COMPUTACIONAL

Página 24

Diseñe un algoritmo y diagrama de flujo que dados tres numero diga cuál es el mayor.

INICIO

DATOS DE ENTRADA: LEER NUMERO

PROCESO

SI NUMERO >NUMERO

IMPRIMIR”MAYOR”

DE LO CONTRARIO

IMPRIMIR”MENOR”

FIN.

Diseñe un algoritmo y diagrama de flujo de flujo que introducido un número diga que es

positivo, negativo, nulo.

INICIO

DATOS DE ENTRADA: leer x

PROCESO

si x>0 entonces

imprimir “positivo”

de lo contrario.

si x<0 entonces

imprimir “negativo”

de lo contrario

imprimir “nulo”

FIN

INICIO

x>y and

x>z

“MAYOR” “MENOR”

FIN

x,y,z

INICIO

x

x>0

x>0 “positivo”

“nulo” “negativo”

SI NO

FIN

Algoritmo

Digrama de flujo

22 de

febrero

de 2011

LOGICA COMPUTACIONAL

Página 25

Diseñe un algoritmo y diagrama de flujo que permita ingresar una

cantidad de tres cifras y determine si es numero capicúa o no, si la cifra

es > a 999 y < a 100 que mande un mensaje “ingrese una cifra de tres

dígitos”

INICIO

DATOS DE ENTRADA: Leer num

si num >=100 and num<= 100 entonces c=trunc (num/100) r=num mod 100 u=r mod 100 si u=c entonces imprimir “capicua” de lo contrario “no capicúa” si no imprimir “ingrese numero de tres cifras” FIN.

INICIO

FIN

Num>=100

and num<=

999

u=c

num

c= frunc (num/100) r= num mod 100 u= r mod 10 “ingrese numero

de 3 cifras”

“capicua” “no capicua”

22 de

febrero

de 2011

LOGICA COMPUTACIONAL

Página 26

Diseñe un algoritmo y diagrama de flujo que califique el puntaje obtenido en el lanzamiento de tres dados en base a la cantidad de seis obtenidos: Tres 6 tiro excelente. Dos 6 tiro bueno. Un 6 tiro regular. Ninguno tiro malo. INICIO DATOS DE ENTRADA: Leer d1, d2, d3 PROCESO Si d1+d2+d3=18 entonces Imprimir”tiro excelente” De lo contrario Si d1+d2=12 or d1+d3=12 or d2+d3= 12 entonces imprimir”tiro bueno” de lo contrario si d1=6 or d2=6 or d3=6 entonces imprimir”tiro regular” de lo contrario imprimir

INICIO

d1, d2, d3

d1

+d1+d3=18

“tiro

excelente”

“tiro regular” “tiro malo”

FIN

d16 d2=6 d3=6

“tiro bueno”

d1+d2=12 or

d1+d3=12 or

d2+d3= 12

22 de

febrero

de 2011

LOGICA COMPUTACIONAL

Página 27

su

De una

la

Principal

objetivo.

Representar

Solucion de un

algoritmo

Forma mas

detallada

posible

Parecido al lenguaje a utilizar.

Nombre del

programa.

Tipos de daros

a utilizar.

Declaración

de variables y

constantes.

Cabecera.

INICIO.

Cuerpo de

programa.

Proceso o

instrucciones.

FIN

/*para comentar un psedocodigo*/

es

22 de

febrero

de 2011

LOGICA COMPUTACIONAL

Página 28

Diseñe un pseudocódigo que sirve para calcular el área de un cuadrado

/*Pseudocódigo que sirve para calcular área de cuadrado*/ Cabecera.

Cuerpo de

Programa

SUMA

Private sub command1 – click () i= Val (text1.text) a=Val (text2.text) Suma=i+a text3.text=suma End sub.

Programa que calcula si eres mayor o menor de edad.

A=Val (text. text) If a >18 then Text2.text= “mayor de edad” Else Text2.text=”menor de edad” End if End sub.

Programa_calcular_area_cuadrado L, A as single;

INICIO Visualizar “introduce lado de l cuadrado” Leer L Calcular área A=L*L Visualizar. “el área es” Text2.text=A FIN.

22 de

febrero

de 2011

LOGICA COMPUTACIONAL

Página 29

Es un dato cuyo valor puede variar a lo largo del desarrollo de un

algoritmo.

Características:

Se le asigna un nombre de acuerdo a lo que va a realizar.

Se le asigna el tipo de dato que va a utilizar.

Ejemplos de variables:

X, y, z, nombre, edad, sexo, área, perímetro, etc.

Es un dato que permanece con un valor, sin cambios, es decir, constante a

lo largo del desarrollo del algoritmo.

Ejemplos:

Fecha: 16/feb./2011

22 de

febrero

de 2011

LOGICA COMPUTACIONAL

Página 30

Numéricos

enteros

booleanos Caracteres

reales

carácter

cadena

V o f

(verdadero

o falso)

22 de

febrero

de 2011

LOGICA COMPUTACIONAL

Página 31

Este tipo de dato puede ser real o entero dependiendo del tipo de dato

que se vaya a utilizar.

ENTEROS: son los valores que no tiene punto decimal, pueden ser

positivos, o negativos y el cero.

REALES: Estos caracteres almacenan números muy grandes que

poseen parte entera y parte decimal.

CARÁCTER: Con el tipo carácter puedes tener objetos que

representen una letra, un número, etc. Es decir, puedes usar variables o constantes que representen un valor alfanumérico. Pero ojo, cada variable sólo podrá almacenar un carácter.

CADENA: Sin embargo, con las cadenas de caracteres (strings)

puedes contener en una sola variable más de un carácter. Por ejemplo,

puedes tener en una variable tu nombre

Se usa para valores lógicos, los podemos definir como datos comparativos dicha comparación devuelve resultados lógicos. Valores que representen verdadero o falso. Ejemplos:

Verdadero and falso falso

22 de

febrero

de 2011

LOGICA COMPUTACIONAL

Página 32

Falso or verdadero. Verdadero

Not verdadero. Falso

Un contador es una variable cuyo valor se incrementa o decrementa en

una cantidad constante cada vez que se produce un determinado suceso o

acción. Si en vez de incremento es decremento se coloca un menos en

lugar del mas.

Ejemplo:

i= i+1

Es una variable que suma sobre sí misma un conjunto de valores para de

esta manera tener la suma de todos ellos en una sola variable.

La diferencia entre un contador y un acumulador es que mientras el

primero va aumentando de un en uno, el acumulador va aumentando en

una cantidad variable.