CENTRO BACHILLERATO TECNOLOGICO agropecuario No. 131
LÓGICA COMPUTACIONAL ÍNDICE PROPOSITO DEL SUBMODULO 1 ¿QUE ES UN PROBLEMA? LAS ETAPAS PARA RESOLVERLO ¿QUÉ ES LA LOGICA COMPUTACIONAL? ALGORITMO DIAGRAMA DE FLUJO PSEUDOCÓDIGOS VARIABLES CONTADOR Y ACUMULADOR CONSTANTES TIPOS DE DATOS TIPOS DE ALGORITMOS EJEMPLO DE SOCLUCION DE ALGORITMO
SANTIAGO JUXTLAHUACA, OAXACA
010101010101010101010101010101010101010101010101010
ALUMNO: MAURO DE JESÚS LÓPEZ 4º SEMESTRE GRUPO “A” TECNICO EN INFORMATICA
PROPÓSITO DEL SUBMODULO 1
EL ALUMNO APRENDERA A SOLUCIONAR PROBLEMAS UTILIZANDO LA LOGICA COMPUTACIONAL, QUE LUEGO ADAPTARA EL COMPUTADOR PARA UTILIZAR LOS MODERNOS ENFOQUES ORIENTADOS A LOS ODJETOS HACIENDO ENFASIS EN LA SOLUCION ALGORITMICA, TENIENDO EN MENTE QUE LAS SOLUCIONES SERAN IMPLEMENTADOS EN UN LENGUAJE DE PROGRAMACION ORIENTADO A ODJETOS.
LOGICA COMPUTACIONAL ALUMNO: MAURO DE JESÚS LÓPEZ 4º SEMESTRE GRUPO “A” TECNICO EN INFORMATICA
¿QUÉ ES UN PROBLEMA? ES UNA CUESTION O PUNTO DISCUTIBLE QUE REQUIERE DE UNA SOLUCION, QUE GENERA INCOGNITAS CUYA SOLUCION SE REALIZA UTILIZANDO LA TECNOLOGIA Y EN OTRAS OCASIONES UTILIZANDO METODOS FILOSOFICOS. PARA IDENTIFICAR UN PROBLEMA ES NECESARIO ENCONTRAR DENTRO DE LA SITUACION TODOS LOS ELEMENTOS IMPORTANTES QUE INTERVIENEN EN EL; DATOS QUE CONOCEMOS, DATOS QUE DESCONOCEMOS Y LOS PROCEDIMIENTOS A UTILIZAR PARA SU SOLUCION. LAS ETAPAS PARA RESOLVER UN PROBLEMA SON:
ENTRADA DE DATOS ¿DATOS TENGO? ¿CUÁL ES MI INCOGNITA?
ETNTRADA
PROCESO ¿QUE OPERACIONES DEBO DE REALIZAR PARA OBTENER EL RESULTADO?
SALIDA DE DATOS LOS RESULTADOS QUE CUMPLEN MI ODJETIVO
¿QUÉ ES LA LOGICA CUMPUTACIONAL? LA LOGICA COMPUTACIONAL ES AQUELLO QUE NOS AYUDA A RESOLVER CIERTOS ACCIONES APLICANDO LA COMPUTADORA DENTRO DE LA LOGICA COMPUTACIONAL SE CUENTA CON LAS SIGUIENTES HERRAMIENTAS PARA UN PREANALISIS DE UN PROBLEMA: ALGORITMOS, DIAGRAMAS DE FLUJO Y SEUDOCODIGOS, TODOS ESTOS NOS AYUDAN A ACLARAR EL PANORAMA DE SOLUCION DE UN PROBLEMA.
UN ALGORITMO ES UN CONJUNTO ORDENADO Y FINITO DE INSTRUCCIONES QUE CONDUCE A LA SOLUCION DE UN PROBLEMA.
ESTRUCTURA GENERAL ALGORITMO
EJEMPLO
ENTRADA DE DATOS PROCESO DE DATOS SALIDA DE DATOS
INICIO LEER D.E. X, Y PROCESO R=X-Y SALIDA IMPRIMIR R FIN
ES UNA HERRAMIENTA DE LA LOGICA COMPUTACIONAL, LA CUAL RERPRESENTA DE MANERA GRAFICA EL CONJUTO DE INSTRUCCIONES ORDENADAS QUE LLEVAN A LA SOLUCION ALUMNO:DE MAURO DE JESÚS LÓPEZ 4º SEMESTRE GRUPO “A” TECNICO EN INFORMATICA UN PROBLEMA.
•
INICIO
•
ENTRADA DE DATOS
•
PROCESO
•
SALIDA DE DATOS
•
FIN
•
FLUJO DE DATOS
•
CONECTAR MISMA HOJA
•
CONECTAR OTRA HOJA
SIGNIFICADO
DIGRAMA DE FLUJO
EJEMPLO
ALUMNO: MAURO DE JESÚS LÓPEZ 4º SEMESTRE GRUPO “A” TECNICO EN INFORMATICA
EL PSEUDOCÓDIGO ES UN LENGUAJE INTERMEDIO ENTRE NUESTRO LENGUAJE Y EL DE PROGRAMACIÓN, DEBIDO A QUE QUIEN LO UTILIZA SE GUÍA POR UNA SERIE DE NORMAS PERO SIN LLEGAR A USAR UNA ESTRUCTURA TAN RÍGIDA COMO LA DEL LENGUAJE DE PROGRAMACIÓN.
• • •
CABEZA
ESTURCTURA
CUERPO DEL PROGRAMA
NOMBRE DEL PROGRAMA TIPOS DE DATOS DECLARACION DE VARIABLES Y CONSTANTES
INICIO
PROCESO O INSTRUCCIONES
FIN PSEUDOCÓDIGOS
/*PSEUDOCODIGO QUE SIRVA PARA PARA CALCULAR AREA DE CUADRADO/*
CABEZA
PROGRAMA: CALCULAR_AREA_CUADRADO I, A AS SINGLE;
EJEMPLO
CUERPO DEL PROGRAMA
INICIO VISUALIZAR”INTRODUCE LADO DEL CUADRADO” LEER (L) I: TEXT1.TEXT. CALCULAR ÁREA A: L*L VISUALIZAR”EL ÁREA ES;” TEXT2. TEXT=A FIN
ALUMNO: MAURO DE JESÚS LÓPEZ 4º SEMESTRE GRUPO “A” TECNICO EN INFORMATICA
VARIABLE
VARIABLES Y CONSTANTES
ES UN DATO CUYO VALOR PUEDE VARIAR A LO LARGO O DESARROLLO DE UN ALGORITMO. LAS CARACTERISTICAS DE UNA VARIABLE SON 2: No. 1 SE LE ASIGNA UN NOMBRE DE ACUERDO A LO QUE VA A REALIZAR Y LA CARACTERISTICA No. 2 SE LE ASIGNA EL TIPO DE DATO QUE VA A UTILIZAR.
EJEMPLOS
CONSTANTE
ES UN DATO QUE PERMANECE CON SU VALOR, SIN CAMBIOS LO LARGO DEL DESARROLLO DEL ALGORITMO.
EJEMPLOS
CONTADOR
ACUMULADOR
TIPOS DE DATOS
X, Y, Z, NOMBRE, EDAD, SEXO, ÁREA, PERIMETRO, ECT.
π=3.1416 A= 4
EL QUE DETERMINA EL NÚMERO DE VECES QUE SE REPITE UN CONJUNTO DE INSTRUCCIONES. ALMACENA RESULTADOS SUCESIVOS
EN LOS LENGUAJES DE PROGRAMACIÓN UN TIPO DE DATO ES UN ATRIBUTO DE LAS PARTES, DE LOS DATOS QUE SE INDICA AL ORDENAR (Y/O AL PROGRAMADOR) ALGO SOBRE LA CLASE DE DATOS SOBRE LOS CUALES SE VA A PROCESAR.
NÚMERICOS REAL Ó ENTERO CARÁCTER NUMERICOS (0 AL 9), LETRAS (A-Z) Y SIMBOLOS ($, _) BOLEANOS VERDADERO Ó FALSO
TIPOS DE ALGORITMOS ALUMNO: MAURO DE JESÚS LÓPEZ 4º SEMESTRE GRUPO “A” TECNICO EN INFORMATICA
UN ALGORITMO SECUENCIAL ES AQUEL EN EL QUE SE NECESITA QUE UN PASO ANTERIOR HAYA CONCLUIDO PARA CONTINUAR CON OTRO. DE ESTA FORMA, EN ESTE TIPO DE ALGORITMOS SE REQUIERE DE DATOS DE LA ETAPA ANTERIOR, COMO UNA CADENA O SECUENCIA DE INFORMACIÓN. EJEMPLO:
ALUMNO: MAURO DE JESÚS LÓPEZ 4º SEMESTRE GRUPO “A” TECNICO EN INFORMATICA
UN ALGORITMO SELECTIVO ES AQUEL EN EL QUE SE ESTABLECEN CONDICIONES PARA PODER REALIZAR UNA ACCIÓN ESPECÍFICA, EN LOS LENGUAJES DE PROGRAMACIÓN SE IMPLEMENTAN LAS SENTENCIAS IF O SELECT CASE PARA LLEVAR A CABO ESTE TIPO DE ALGORITMOS. EJEMPLO:
UN ALGORITMO REPETITIVO O CÍCLICO ES AQUEL EN EL QUE EL PROGRAMADOR ESTABLECE UN RANGO DE REPETICIÓN PARA UNA ACCIÓN DADA, O EN EL QUE SE DETERMINA QUE UNA ACCIÓN SE REPITA DE FORMA CÍCLICA MIENTRAS SE CUMPLA ALGUNA CONDICIÓN. EN LOS LENGUAJES DE PROGRAMACIÓN SE USAN LAS SENTENCIAS WHILE Y FOR PARA LLEVAR A CABO ESTE TIPO DE ALGORITMOS. EJEMPLO:
EJEMPLOS DE SOLUCION DE ALGORITMOS ALUMNO: MAURO DE JESÚS LÓPEZ 4º SEMESTRE GRUPO “A” TECNICO EN INFORMATICA
SI UN NUMERO ES POSITIVO,NEGATIVO O NULO. Diseñe un algoritmo y diagrama de flujo que introducido un número diga, positivo, negativo o nulo. Inicio D. E. Leer X Proceso X=0 Imprimir “Positivo” Si no X<0 Imprimir “Negativo” Si no “Nulo” Salida Imprimir “Positivo”, “Negativo”, “Nulo” Fin
SI ES UN NÚMERO ES POSITIVO PAR. Leer x ALUMNO: MAURO DECondición JESÚS LÓPEZ 4º SEMESTRE GRUPO “A” TECNICO EN INFORMATICA x or 2=0 and x >0 Si la condición es verdadera "par positivo" De lo contrario "no me interesa” Fin
PARA SABER SI ES UN NUMERO CAPICÚA. ALUMNO: MAURO DE JESÚS LÓPEZ 4º SEMESTRE GRUPO “A” TECNICO EN INFORMATICA
Diseñe un algoritmo que permita ingresar una cantidad de 3 cifras y determine si es un número capicúa o no, si la cifra es mayor a 999 y menor 100 que mande un mensaje que diga que ingrese una cifra de 3 dígitos. Inicio D.E. Leer X Proceso Si X>100 and num<=999 C= trunc (num/100) R= hum mod 100 U= r mod U= c Imprimir “capicúa” de lo contrario “no capicúa” Si no “Ingresar numero de 3 cifras” Fin
ALUMNO: MAURO DE JESÚS LÓPEZ 4º SEMESTRE GRUPO “A” TECNICO EN INFORMATICA
PARA SABER SI PEDRO JUAN Y MARIO SON CONTEMPORÁNEOS. Diseñe un algoritmo donde se ingresen las edades de Juan, Mario y Pedro y determine quién es contemporáneo con quien. Inicio D. E. Leer j, m, p Proceso J=m and m=p Imprimir “contemporáneos” J=m Imprimir “Juan y Mario” M=p Imprimir “Mario y Pedro” J=p Imprimir “Juan y Pedro” De lo contrario Imprimir “ninguno es contemporáneo” Datos de Salida Imprimir J, m, p Fin
INTRODUCIR ENTRE 1 Y 100. Que sumeDElos números del 1 GRUPO al 100 y“A” que realice EN el INFORMATICA ALUMNO: MAURO JESÚS LÓPEZimpares 4º SEMESTRE TECNICO cuadrado de los números pares Inicio Proceso I____________1 S____________0 Para
ALUMNO: MAURO DE JESÚS LÓPEZ 4º SEMESTRE GRUPO “A” TECNICO EN INFORMATICA
DADO UN NUMERO NATURAL POSITIVO CALCULAR LA SUMA DE LOS NÚMEROS NATURALES HASTA EL NÚMERO INTRODUCIDO. 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 num Proceso I=1 S=0 Mientras i<=num S= s+i I= i+1 Fin mientras Datos de salida S Fin
ALUMNO: MAURO DE JESÚS LÓPEZ 4º SEMESTRE GRUPO “A” TECNICO EN INFORMATICA
QUE VALIDE UNA DIVICION DE DOS NUMEROS, SABIENDO QUE SOLO PODRA REALIZAR LA DIVICION SI EL DIVISOR ES DIFERENTE A CERO (0). Realice un diagrama de flujo y algoritmo que valide una división de 2 números, sabiendo que solo podría realizar la división si el divisor es diferente de 0. Inicio D. E Leer x, y PROCESO Si y!=0 entonses R= x/y Imprimir R Fin_si FIN
ALUMNO: MAURO DE JESÚS LÓPEZ 4º SEMESTRE GRUPO “A” TECNICO EN INFORMATICA
PARA SABER SI UN NUMERO ES NEGATIVO. Diseñe un algoritmo y diagrama de flujo para saber si un número introducido por el usuario es negativo. Inicio Datos de entrada: Leer num Proceso Si num <0 Num negativo Fin
ALUMNO: MAURO DE JESÚS LÓPEZ 4º SEMESTRE GRUPO “A” TECNICO EN INFORMATICA
DETERMINA SI ES MAYOR O MENOR DE EDAD.
Diseñe un algoritmo que determine si una persona es mayor o menor de edad al introducir su edad por el teclado. Inicio Datos de entrada: Leer Y Proceso: Si y>=18 Imprimir “Mayor de edad” De lo contrario Imprimir “Menor de edad” Fin_si FIN
ALUMNO: MAURO DE JESÚS LÓPEZ 4º SEMESTRE GRUPO “A” TECNICO EN INFORMATICA
DADA 3 CANTIDADES DETERMINA CUAL ES MAYOR. Diseñe un algoritmo y diagrama de flujo que dados 3 números diga cuál es el mayor.
Inicio D. E. Leer X, Y, Z Proceso Si X>Y AND X>Z Imprimir “mayor”, X Si no Y>X AND Y>Z Imprimir “Mayor Y”, Y Si no “Mayor Z”, Z Fin
ALUMNO: MAURO DE JESÚS LÓPEZ 4º SEMESTRE GRUPO “A” TECNICO EN INFORMATICA
DETERMINA LA SUMA DE LOS NÚMEROS DEL 1 AL 10
ALUMNO: MAURO DE JESÚS LÓPEZ 4º SEMESTRE GRUPO “A” TECNICO EN INFORMATICA
CALIFICAR EL PORCENTAJE OBTENIDO EN EL LANZAMIENTO DE 3 DADOS EN BASE A LA CANTIDAD, 6 OBTENIDOS DE ACUERDO A PUNTO DE CADA TIRO Y PONER SI ES: EXCELENTE, BUENO, REGULAR MALO. Diseñe un algoritmo que califique el puntaje obtenido en el lanzamiento de 3 dados en base a la cantidad de 6 obtenidos de acuerdo a lo siguiente: 3 seis obtenidos es un tiro excelente, 2 seis obtenidos bueno y 1 seis obtenido regular y ninguno tiro mal. Inicio D.E. Leer X, Y, Z X+Y+Z=18 Si “tiro excelente” Si X+Y=12 OR X+Z=12 OR Y+Z=12 Si “tiro bueno” Si X=6, Y=6, Z=-6 Si “tiro regular” De lo contrario “tiro malo” Imprimir “tiro excelente”, “tiro bueno”, “tiro regular”, “tiro malo”. Fin
ALUMNO: MAURO DE JESÚS LÓPEZ 4º SEMESTRE GRUPO “A” TECNICO EN INFORMATICA
ALGORITMO QUE DETERINA LA SUMA DE LOS NUMEROS HASTA EL NÚMERO INTRODUCIDO.
INICIO LEER Num I 1 S 0 i<=num s s+i i i+1 fin(MQ) IMPRIMIR S FIN
ALUMNO: MAURO DE JESÚS LÓPEZ 4º SEMESTRE GRUPO “A” TECNICO EN INFORMATICA
QUE SUME LOS NÚMEROS IMPARES Y EL CUADRADO DE LOS PARES
Diseñe un algoritmo que calcule la suma del 1 al 100, y si no introducen un número que este entre ese rango que diga: introduzca un número del 1 al 100(mientras) Inicio D. E. Leer núm. Proceso SI NUM>=1 AND NUM<=100 DE LO CONTRARIO “INGRESE UN NUMERO DEL 1 AL 100” SI I=1 S=100 Mientras i<=num S= s+i I= i+100 Fin mientras Datos de salida S Fin
ALUMNO: MAURO DE JESÚS LÓPEZ 4º SEMESTRE GRUPO “A” TECNICO EN INFORMATICA
QUE REALICE UNA MULTIPLICACIÓN DE LOS NÚMEROS QUE ESTÉN ENTRE 1 Y 100. Diseñe un algoritmo que calcule la multiplicación del 1 al 100, y si no introducen un número que este entre ese rango que diga: introduzca un número del 1 al 100(para) Inicio D. E. Leer núm. Proceso SI NUM>=1 AND NUM<=100 DE LO CONTRARIO “INGRESE UN NUMERO DEL 1 AL 100” SI I=1 S=100 Para i<=núm. S= s+i I= i+100 Fin mientras Datos de salida S Fin
ALUMNO: MAURO DE JESÚS LÓPEZ 4º SEMESTRE GRUPO “A” TECNICO EN INFORMATICA
ALGORITMO QUE CALCULE LA SUMA DE LOS CUADRADOS DEL 1 AL 10.
Diseñe un algoritmo que calcule la suma de los cuadrados del 1 al 10
INICIO Proceso S=0 Para i=1, 10,1 S= s+ (i*i) I= i+1 Fin para Datos de salida S Fin
ALUMNO: MAURO DE JESÚS LÓPEZ 4º SEMESTRE GRUPO “A” TECNICO EN INFORMATICA
ALGORITMO QUE SUME LOS NÚMEROS IMPARES DEL 1 AL 100 Y QUE REALICE EL CUADRADO DE LOS PARES.
INICIO Proceso Si=0 Sp= 0 i= 1 Para i=1, 3, 1 R= i mod2 R= 0 Si= si +i Sp= Sp+ (i*i) Fin (para) Datos de salida Imprimir Si Sp Fin
ALUMNO: MAURO DE JESÚS LÓPEZ 4º SEMESTRE GRUPO “A” TECNICO EN INFORMATICA
Diseñe un algoritmo que lea 3 longitudes y determine si forma un triangulo o no, si forma un triangulo que determine qué tipo de triangulo es: equilátero, isósceles o escaleno. Considere que para formar un triangulo que el lado mayor sea menor que la suma de los otros dos lados.
ALUMNO: MAURO DE JESÚS LÓPEZ 4º SEMESTRE GRUPO “A” TECNICO EN INFORMATICA
ALGORITMO QUE DETETRMINE SI UN NÚMERO ES INTRODUCIDO POR EL USUARIO ES O NO ES PAR POSITIVO. Diseñe un algoritmo que determine si un número introducido por el usuario es o no es par positivo. Inicio Datos de entrada: Leer X, Y Proceso Si y!=0 R= X/Y Imprimir R
ALUMNO: MAURO DE JESÚS LÓPEZ 4º SEMESTRE GRUPO “A” TECNICO EN INFORMATICA
Diseñe un algoritmo que determine si una persona es mayor o menor de edad al introducir su edad por el teclado.
Inicio Datos de entrada: Leer Y Proceso: Si y>=18 Imprimir “Mayor de edad” De lo contrario Imprimir “Menor de edad” Fin_si FIN
ALUMNO: MAURO DE JESÚS LÓPEZ 4º SEMESTRE GRUPO “A” TECNICO EN INFORMATICA