Centro de bachillerato técnico Agropecuario CBTa 131 Tec. Informática Sub modulo 1. –Algoritmos, Diagramas de flujo…… Vianey Ortiz Oax
Santiago Juxtlahuaca.
LOGICA COMPUTACIONAL 1er. Sub modulo
QUE ES UN PROBLEMA?
Un problema es un punto discutible que requiere de una solución, que genera ingonita.
ETAPAS PARA RESOLVER UN PROBLEMA: INICIO INICIO Entrada Entrada De De Datos Datos Datos Datos
Proceso
Salida Salida De De Datos Datos FIN FIN
QUE ES LA LOGICA COMPUTACIONAL? Es aquella que nos ayuda a resolver un problema
UTILIZANDO LA TECNOLOGIA.
Dentro de esto se puede encontrar
Algoritmos
Diagramas Diagramas De De Flujo Flujo
Pseudocodigo
Que son los Algoritmos?
Es un conjunto ordenada de instrucciones Conduce a una solución de un problema
UN ALGORITMO DEBE SER
ESTRUCTURA GENERAL
(características ) Proceso INICIO Entrada de Datos
ORDENADO Salida Salida de de Datos Datos
FIN
FINITO PRESICION
EJEMPLOS DE ALGORITMOS Ejemplo1: Diseñe un algoritmo para calcular el área y perímetro de un cuadrado. Inicio: Datos De Entrada =L
Proceso: a =L2
o P =L+L+L+L P =4 L Salida De Datos: = a,p.
Ejemplo2: Dise ñe un algoritmo para calcular el área y perímetro de un rectángulo. Inicio: Datos de entrada: b,h
Proceso: a =b*h P =2b +2h
Salida De Datos: a,p
Ejemplo3: Dise ñe un algoritmo que lea uana medida y los convierta en megas, kilos y bytes. Inicio Datos de Entrada: leer
Gb.
Proceso: Mb =(1024* Gb.)/1 Kb =(1024*Mb)/1 b =(1024*Kb)/1 Salida de Datos:
Mostrar
Mb, Kb, B
fin
Ejemplo4: Dice ñe un algoritmo que dada la hora actual en horas, minutos y segundos determinen cuantas horas, minutos y segundos restan para culminar el día. Inicio: Datos de entrada: Horas, minutos y segundos. Hora actual 11:30 Proceso: Total seg. Rest 86 400-(hr*3600+60 min+seg) hrs =total seg rest /3600 resto =total seg rest Mod o Residuo o 360 min = resto /60 seg = resto: Mod o residuo 60
Salida de Datos: Horas, minutos y seg. FIN
DIAGRAMAS DE FLUJO QUE SON LOS DIAGRAMAS DEFLUJO
Es una herramienta de lógica computacional
Se representa de manera grafica Conjunto de instrucciones ordenada , que llevan a una solución.
S
ignificado de los símbolos en un Diagrama de flujo
Algoritmo Inicio Entrada de Datos Proceso Salida de Datos
Fin
Símbolo:
función:
Flujo de Datos Conectar misma Hoja Conectar otra hoja impresora
Pantalla
Toma de Decisiones
PSEUDOCODIGO Que son los Pseudocodigo?
Su principal objetivo es representar la solución de un algoritmo De la forma más detallada posible Muy parecido al lenguaje de programación. CABECER A: -Nombre -Nombre del del programa programa Tipos Tipos de de datos datos aa utilizar utilizar Declaración Declaración de de variables variables yy
CUERPO CUERPO INICIO INICIO Programa Programa ---proceso ---proceso de instrucciones de instrucciones.
ESTRUCTUR
/* Para comentar un pseudocódigo
Constantes Constantes
A
EJEMPLOS DE PSEUDOCODIGOS: EJEMPLO1: diseñar un pseudocódigo que sirve para calcular el área de un cuadrado:
/* Pseudocódigo que sirve para calcular el área del cuadrado */ Programa: Calcular_area_cuadrado.
Cabecera
Dim
I, A as Single.
INICIO Cuerpo Del
Visualizar “introduce lado del cuadrado”
Programa
Leer (I) I: text1.text Calcular área: A: I*I Visualizar “el área es” Text2.text=A FIN
EJEMPLO2:
/* Pseudocódigo que sirve para la suma de números*/ Prívate sub comomand 1_chick () Nombre Dim I, a suma as integer
evento
Función que convierte carácter equivalente en número. I=Val (text1.text) introduce num 1___
I =text1.text
A=Val (text2.text) introduce num 2___
a=text2.text
Nombre objeto propiedades Suma=i+a Text3.text=suma End- sub
suma =i+a
Tipos de algoritmos: (Secuenciales, de decisión y repetitivos)
ALGORITMOS SECUENSIALES: INICIO
ACCION 1
ACCION 2
ACCION 3
FIN
ALGORITMOS SELECTIVAS O DE DECISION: SIMPLE:
Si-Entonces If- them No
Condició n
si Acció n
FIN
EJEMPLOS DE SIMPLE: Ejemplo1.-Diseñe un algoritmo y diagrama de flujo para saber si un numero introducido del usuario negativo. INICIO Entrada de Datos
Proceso si el número es < 0 entonces
Leer núm.
Imprimir “núm. negativo” FIN- si
Diagrama de flujo: INICIO
Núm.
Núm.<0 <0 Nú Nú m. m. neg neg ativ ativ oo
FIN
Ejemplo2.-realice un algoritmo y diagrama de flujo que valide una división de dos número, sabiendo que solo podrá realizar la división, si el divisor es diferente de 0. INICIO DATOS DE ENTRADA: Leer x,y
PROCESO Si y!=0 entonces R=x/y Imprimir R Fin-si
DIAGRAMA DE FLUJO:
INICI INICI O O
X,y
Y!=0
R
X/F
R
DOBLE:
Si-entonces de lo contrario If-them-else
no
si
Condició n
Acción2
Acción1
FIN
Ejemplos de diagramas de flujo Doble: Ejemplo1.-Diseñe un algoritmo que determine si una persona es mayor o menor de edad por el teclado. INICIO DATOS DE ENTRADA
Proceso si edad > = 18 entonces
Leer edad
imprimir “mayor de edad” De lo contrario Imprimir “menor de edad”
fin –si
Diagrama de flujo: INICIO
EDAD
Edad >=18
““ m m
““ m m
aa yy
ee nn
oo rr
oo rr
”
””
FIN
Ejemplo2.-diseñe un algoritmo que determine si un numero introducido por por el usuario es o no par positivo. INICIO Entrada de datos
Proceso si un numero mod 2 =0 and
Leer núm.
Núm.> 0 entonces
Imprimir “par positivo” De lo contrario “un me interesa”
Fin-si INICIO
núm. núm.
““ nn oo
Núm. Núm. Mod Mod 2=0 2=0 And And núm. núm. >0 >0
“ p
m m ee ii nn tt ee rr ee ss aa ””
o s FIN
i t i v o ”
Ejemplo3.-diseñe un algoritmo y diagrama de flujo que introducido un número me diga si es positivo, negativo o nulo. INICIO Datos de entrada Leer núm.
Proceso Si núm. > 0 es positivo y núm. Entonces imprimir “positivo” De lo contrario Si <0 entonces es negativo Entonces imprimir “negativo”
INICIO
Núm.
Núm. >0
Núm.>0
“ n e g a ti v o ”
“n ul o”
“ p o si ti v o ”
Fin
MULTIPLE: En caso de opción hacer 0P1, 0P2, OP3 case
Caso opción
OP1
OP2
OP3
0P4
Ejemplos: De diagrama de flujo simple Múltiple: Ejemplo1.-Diseñe un algoritmo que permita ingresar una cantidad de 3 cifras y determine si es un numero capicúa o no, si la la cifra es mayor a 999 y menor que a 100, que mande un mensaje que diga que se ingrese una cifra de tres digitos.
INICIO Datos de entrada Leer núm.
Diagrama de flujo: INICIO
Núm.
Núm. > = 100 and Núm.<= 999
“ingr esen úm. de 3 cifras ”
C= truac (num/100) R= num mod 100 u= r mod 10
U =c
“no “no capic capic úa” úa”
“cap “cap icúa icúa ””
FIN
Ejemplo2.-disiñe un algoritmo que califique el puntaje obtenido en el lanzamiento de tres dados en base en la cantidad de 6 obtenidos, de acuerdo a los siguientes datos; 3 de 6 –Tiro exelente, 2 de 6 Tiro bueno, 1 de 6 Tiro regular, ninguno tiro malo. INICIO
Proceso
Entrada de Datos
3-6=excelente
Leer x, y,z.
2-6 =bueno INICIO
1-6= regular 0= malo
X, Y, Z
X+Y+Z X+Y+Z =18 =18
X+y=12 or
“
X+z=12 or
cc el el
Y+z =12
ee xx
“ b u e n o ”
ee nn tt ee ””
X=3 X=3 or or Y=6 Y=6 or or Z=z=6 Z=z=6
“ma lo” “Bu eno ”
FIN
REPITITIVOS En estos se encuentran El “para, mientras, repetir.” Principales características For: i =1 to i=10 While: condición verdadera Repeat: condición = verdadera
SECUENCIA REPITITIVA
Repiten instrucciones (determinadas veces) Son llamadas también bucles o lazos.
For- Para While- Mientras Repeat- Repetir
Ejemplos de diagramas de repetición (PARA) Eemplo1.-Dado un numero natural positivo calcular la suma de los números naturales, del 1 hasta el número introducido. INICIO INICIO
Datos de entrada Leer núm.
Núm.
Núm. > =1 and Núm. < =100 “ing rese nú m. Que este entr e 1y 100 ”
MQ
S
s+i
I
i+1
1< =Núm.
I S
sti i+1
FIN
(MQ)
S
FIN
Ejemplo2.- (PARA) INICIO
Núm.
Núm.> Núm.> 11 and and Núm. Núm. << =1000 =1000
“Ingre Ingre se se valor valor q’ q’ este este entre entre el el 11 al al 100” 100”
S
0
Para i
1, num, 1
S
s+1
Fin (para)
FIN
Ejemplo3.- realice un algoritmo q’ calcule la suma de los cuadrados de 1 al 10 INICIO Datos de entrada
Proceso i= 1 s=
Leer núm.
Para i=1 hasta i =núm. S = s+(i*i)
INICIO O
I = i+ 1
Fin para
S 0
Imprimir
Para i
1, 10, 1
S
s+ (i + i)
Fin (para)
s FIN
EJEMPLO4.-Diseñe un algoritmo que sume los números impares de 1 al 100 y que realice el cuadrado de los números pares. INICIO
Proceso
ENTRADA DE DATOS
si un numero es impar del
Leer núm.
1 al 100 entonces Imprimir “núm. Impar”
FIN
De lo contrario sumar el Cuadrado de los números pares
Si =0 Sp =0 I =1
Para
Entonces “num. Par” Fin- si
i 1, 100, 1
R= i mod 2
R =0 Sr = si + i
SP=Sp + (i + i)
Fin para S I
fin fin
ss pp
QUE ES UN CONTADOR?...
Es el que determina el número que repite un conjunto de instrucciones.
Que es un acumulador ?... Es el que almacena resultados Es el que
determina el número que repite un conjunto de instrucciones.
Ejemplos de variables: Puede variar a lo largo del de la resolución del problema. Ejemplo: -X, y, z - nombre, edad, sexo. Ejemplos de constantes: Este dato se mantiene y no cambia
Tipos de Datos:
Enteros
Numérico s Tipos de datos
Reale s Caracteres
Carácte r Cadena
Boléanos
Verdader o Falso
Eso es todo…