Esto es con el propósito de aprendes a solucionar problemas utilizando, la lógica computacional llevando una metodología que luego se adapta en al computador para utilizar los modernos enfoques orientadas a objeto, haciendo énfasis en la solución algorítmicas teniendo en mende que las soluciones serán implementadas en un lenguaje de programación orientado a objetos.
2
Logica computacional
Claudia Cortés Hernández
¿QUE ES UN PROBLEMA?
PROBLEMA es
para
CUESTION O PUNTO DISCUTIBLE
IDENTIFICAR UN PROBLEMA es
que
NECESARIO ENCONTRAR DENTRO DE LA SITUCION TODOS LOS ELEMENTOS IMPORTANTES Que son
REQUIERE UNA SOLUCION QUE GERNERE INCOGNITA CUYA SOLUCION se
REALIZA UTILIZANDO LA TECNOLOGIA y
DATOS QUE CONOCEMOS
EN OTRAS OCACIONES UTILIZANDO METODOS FILOSÓFICOS.
3
DATOS QUE DESCONOCE MOS y
ETAPAS PARA RESOLVER UN PROBLEMA
Logica computacional
PROCEDIMIENT OS QUE UTILIZAMOS PARA RESOLVERLO
Claudia Cortés Hernández
Entrada de datos
Proceso
Salida de datos
LOGICO COMPUTACIONAL Es aquella que nos ayuda a resolver ciertas acciones aplicando la computadora, contamos con dentro de la lógica computacional contamos con las siguientes herramientas para un preenalisis de un problema: Algoritmos, diagrama de flujo y seudocódigos. Todos estos nos ayudan a aclarar el panorama de resolución de un problema.
ALGORITMOS
DEFINICION Características Conjunto ordenado y finito de instrucciones que conduce a la solución de un problema.
ALGOROTMOS
ESTRUCTURA GENERAL
INICIO
Ordenado Finito Precisión
Salida de Datos FIN
Entrada de Datos PROCESO 4
Logica computacional
(Todas las operaciones)
Claudia Cortés Hernández
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 Diseñe un algoritmo para calcular el área y perímetro de un cuadrado. Inicio Datos de entrada. Leer 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
5
Logica computacional
Claudia Cortés Hernández
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 D.E. Leer gb, mb, kb, b Proceso Mb= (1024*gb)/1 Kb= (1024*mb)/1 b= (1024*kb)/1 D.s. Mostrar Fin. 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”
6
Logica computacional
Claudia Cortés Hernández
Diseñe un algoritmo y diagrama de flujo que dados tres numero diga cuál es el mayor.
NICIO
INICIO
D.E: leer número PROCESO
x, y, z
SI NUMERO >NUMERO IMPRIMIR”MAYOR”
NO
DE LO CONTRARIO
x>y and x>z
SI
IMPRIMIR”MENOR” FIN.
“MAYOR”
“MENOR”
FIN
7
Logica computacional
Claudia Cortés Hernández
Diseñe un algoritmo y diagrama de flujo de flujo que introducido un número diga que es positivo, negativo, nulo.
INICIO INICIO
D. E: leer x PROCESO Si x>0 entonces Imprimir “positivo” De lo contrario. Si x<0 entonces Imprimir “negativo” De lo contrario Imprimir “nulo” FIN
X
x>0
x>0
“Nulo”
“Positivo”
“Negativo”
FIN
8
Logica computacional
Claudia Cortés Hernández
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
INICIO
Num
DATOS DE ENTRADA: Leer núm. Si num >=100 and num<= 100 entonces c=trunc (num/100) r=num mod 100 u=r mod 100 Si u=c entonces “Ingrese Imprimir “capicúa” numero de 3 De lo contrario “no capicúa” cifras” Si no imprimir “ingrese numero De tres cifras” FIN.
Num>=100 and num = 999 c= frunc (num/100) r= num mod 100 u= r mod 10
u=c
“No capicua”
“Capicua”
FIN
9
Logica computacional
Claudia Cortés Hernández
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. INICIO Un 6 tiro regular. Ninguno tiro malo. d1, d2, d3
Inicio D.E: Leer d1, d2, d3 PROCESO Si d1+d2+d3=18 entonces Imprimir “tiro excelente”
d1 +d1+d3=18
De lo contrario Si d1+d2=12 or d1+d3=12 or d2+d3=12 entonces Imprimir “tiro bueno” De lo contrario d1+d2=12 or Si d1=6 or d2=6 or d3=6 entonces d1+d3=12 or Imprimir “tiro regular” d2+d3= 12 De lo contrario Imprimir “tiro malo” d16 Fin d2=6 d3=6
“Tiro malo”
“Tiro excelente”
“Tiro bueno”
“Tiro regular”
FIN
10
Logica computacional
Claudia Cortés Hernández
E
s una herramienta de la lógica computacional la cual representa de manera grafica el conjunto de instrucciones ordenados que llevan a la solución de un problema para diseñarlos se utilizan determinados símbolos o figuras que representan un acción dentro del proceso.
ALGORITMOS DEFINICION
DIAGRAMA DE FLUJO
Inicio
SIMBOLOS
Flujo de datos Conector misma hoja
Entrada de datos
Proceso
Conector otra hoja
Salida de Datos
impresora
Pantalla Fin Tomas de decisiones
EJEMPLOS
11
Logica computacional
Claudia Cortés Hernández
Su principal es objetivo es el de representar la solución de un algoritmo de la forma más detallada posible que a su vez lo más parecido al lenguaje a utilizar, su estructura general es la siguiente: Estructura Nombre del programa Tipos de datos a utilizar Declaración de variables y constantes Cuerpo de
inicio
Programa
Proceso o instrucciones Fin
POR EJEMPLO: /* Diseñe un pseudocódigo que sirve para calcular área de cuadrado. Programa: calcular- área- cuadrado
12
Logica computacional
Claudia Cortés Hernández
Cabecera l,A as single;
Inicio Visualizar “introduce lado de cuadrado” Leer (l) l:text1.text Cuerpo del calcular área Programa A: l x l Visualizar “el área es:” Text2.text=A
13
Logica computacional
Claudia Cortés Hernández
De esta manera podemos encontrar pseudocódigos orientados a un lenguaje de programación como Pascal, Java, c++.
_definición
Variable
_características
_Ejemplo:
14
Logica computacional
_1.- Se le asigna un nombre de acuerdo a lo que va realizar y la característica _Datos cuyo valor puede variar a lo largo o desarrollo de un algoritmo. _2.- se le asigna el tipo de dato que va a utilizar. _ x, y, z, nombre, edad, sexo, área, perímetro, etc. Claudia Cortés Hernández
Es un dato que permanece con un valor, sin cambios es decir, constante a lo largo del algoritmo. Ejemplo:
pi= 3.1416
TIPO S DE DATOS
CARACTERES
NUMERICOS
ENTEROS
15
REALES
CARACTER
Logica computacional
CADENA
BOLEANOS
VERDADEROS
Claudia Cortés Hernández
FALSOS
TIPOS DE ALGORITMOS
DE DESICION SIMPLE, DOBLE, MULTIPLE.
REPETITIVAS SECUENCIALES
PARA, MIENTRAS, REPETIR.
Es aquella en que la acci贸n o instrucci贸n sigue a otra en secuencia.
16
Logica computacional
Claudia Cort茅s Hern谩ndez
Diseña un algoritmo y diagrama de flujo para saber si un número introducido por el usuario es negativo. Inicio D.E Leer núm. Proceso Si num. <0 entonces Imprimir “num. Negativo” Fin si FIN
INICIO
núm
no
Núm< 0
si “numero Negativo ”
FIN
2.-Realiza un algoritmo y su diagrama de flujo que valide una división de 2 números, sabiendo que solo se podrá realizar la división d si el divisor es diferente de 0. Inicio D.E Leer x,y Proceso Si y!=0 R=x/y Imprimir R
17
Logica computacional
Claudia Cortés Hernández
Fin si FIN
INICIO
X,Y
no
y !=0
si R=X/Y
R
FIN
Esta estructura 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.
Ejemplo:
18
Logica computacional
Claudia Cortés Hernández
Diseña un algoritmo que determina si una persona es mayor de edad o menor de edad al introducir su edad o en teclado. Inicio D.E INICIO
Leer edad Proceso Si edad>= 18 entonces
Núm
Imprimir “mayor de edad” O de lo contrario Imprimir “menor de edad” Fin si
no
FIN
Edad>18
“menor de edad”
si
“mayor de edad”
FIN
Diseña un algoritmo que determina si un numero l introducido por el usuario es o no el par positivo. Inicio D.E Leer núm Proceso Si núm mod 2= 0 and núm>0, entonces Imprimir “par positivo” O de lo contrario Imprimir “no me interesa”
19
Logica computacional
Claudia Cortés Hernández
Fin si FIN
INICIO
Núm
no
“par positivo”
Núm mod 2=0 and núm >0
si “par negativo ”
FIN
Ejemplo de diseña un algoritmo que asignados o introducidos el numero de día de la semana mande un mensaje de la semana en la pantalla del día que corresponde ejemplos lunes =1 Inicio Case D.E. leer
20
día
Logica computacional
Claudia Cortés Hernández
INICIO Proceso Case1 opción día 1 Case 1 “lunes” Case 2 “martes” Case 3 “miercoles” Case 4 “jueves” Case 5 “viernes” Case 6 “sabado” Else Case 7 “domingo” FIN
OP1
OP2
OP3
OP 4
FIN
E
stas estructuras repiten una secuencia de de instrucciones un determinado número de veces son también llamados bucles o lazos el número de veces que realiza las instrucciones se denomina interacciones. Entre las estructuras repetitivas se encuentra while que significa mientras, for=para, y repeat=repetir. Por ejemplo:
21
Logica computacional
Claudia Cortés Hernández
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 evalué la 1ra vez como falsa el bloque de instrucciones no será ejecutada.
Por ejemplo: Dado un número natural positivo calcular la suma de los números naturales, del 1 hasta el número introducido.
Inicio D.E Leer núm=s Proceso Mientras i<=núm S=s+i I=i+1 Fin mientras Imprimir s FIN
22
Logica computacional
Claudia Cortés Hernández
FIN
Núm=1 and núm<=100 Ingrese valor
i=1 s=0
MQ 1<=núm
s=s+i i=i+1
Fin mientras
s
FIN
23
Logica computacional
Claudia Cortés Hernández
Realiza un algoritmo que que calcule la suma de los cuadrados de 1 al 10. Inicio Inicio D.E S=0
s=0
Process Para i=1, 10, 1 S=s+ (i*i)
Para i=1, 10,1
Fin para Imprimir s FIN
s=s+ (i*i)
Fin para
S
Fin
24
Logica computacional
Claudia CortĂŠs HernĂĄndez
Diseña un algoritmo que sume los números impares de 1 al 100 y que realice el cuadrado de los números pares. Inicio
s=0 sp =0 I=1
Para i=1, 100,1 X=i/2
R=o
Si=si+i
Sp=sp+ (i*i)
Fin para
Si
Sp
Fin
25
Logica computacional
Claudia Cortés Hernández
Son aquellos en que las acciones se ejecutan un número determinado de veces y depende de un valor predefinido.
Es el que determina el número que se repetirá en conjunto de instrucciones.
Almacena resultados sucesivos.es una variable que suma sore si misma un conjunto de valores, pero de esta manera tener la suma de todos ellos en una sola variable.
26
Logica computacional
Claudia Cortés Hernández
Espero que este trabajo te sirva, para que puedas contestar tus problemas.
27
Logica computacional
Claudia CortĂŠs HernĂĄndez