Modulo de Logica de Programacion 2015
Modulo de Logica de Programacion 2015
Modulo de Logica de Programacion 2015
2015
1
Ing. Vernica Soledad Polo Polo
CAPITULO I.
CONCEPTOS BSICOS Y METODOLOGA PARA
LA SOLUCIN DE PROBLEMAS POR MEDIO DE
COMPUTADORAS.
1.1 Introduccin
La computadora no solamente es una maquina que puede realizar procesos para
darnos resultados, sin que tengamos la nocin exacta de las operaciones que realiza para
llegar a esos resultados. Con la computadora adems de lo anterior tambin podemos
disear soluciones a la medida, de problemas especficos que se nos presenten. Mas aun,
si estos involucran operaciones matemticas complejas y/o repetitivas, o requieren del
manejo de un volumen muy grande de datos.
A las soluciones creadas por computadora se les conoce como programas y no
son ms que una serie de operaciones que realiza la computadora para llegar a un
resultado, con un grupo de datos especficos. Lo anterior nos lleva al razonamiento de que
un programa nos sirve para solucionar un problema especfico.
Para poder realizar programas, adems de conocer la metodologa mencionada,
tambin debemos de conocer, de manera especfica las funciones que pueden realizar la
computadora y las formas en que se pueden manejar los elementos que hay en la misma.
Computadora: Es un dispositivo electrnico utilizado para procesar informacin y
obtener resultados. Los datos y la informacin se pueden introducir en la computadora
como entrada (input) y a continuacin se procesan para producir una salida (output).
Proceso de informacin en la computadora
Datos de
Entrada
Proceso
Datos de
salida
Unida de
Control
Unidad
Arit.-Log.
Dispositivos de
Salida
Memoria
1.3Definicin de Algoritmo
3
Ing. Vernica Soledad Polo Polo
Cada paso del algoritmo debe estar bien definido: Esto significa que la
definicin de un paso debe ser suficientemente clara, para que una persona pueda
entenderla y realizarla. Si bien no se puede dar un criterio determinstico para
decidir si un paso est bien definido, debemos apelar al sentido comn para
decidir que un paso est especificado sin ambigedades.
d) Codificacin
La codificacin es la operacin de escribir la solucin del problema (de acuerdo a
la lgica del diagrama de flujo o pseudocodigo), en una serie de instrucciones detalladas,
en un cdigo reconocible por la computadora, la serie de instrucciones detalladas se le
conoce como cdigo fuente, el cual se escribe en un lenguaje de programacin o lenguaje
de alto nivel.
e) Prueba y Depuracin
Los errores humanos dentro de la programacin de computadoras son muchos y
aumentan considerablemente con la complejidad del problema. El proceso de identificar y
eliminar errores, para dar paso a una solucin sin errores se le llama depuracin.
La depuracin o prueba resulta una tarea tan creativa como el mismo desarrollo
de la solucin, por ello se debe considerar con el mismo inters y entusiasmo.
Resulta conveniente observar los siguientes principios al realizar una depuracin,
ya que de este trabajo depende el xito de nuestra solucin.
f) Documentacin
5
Ing. Vernica Soledad Polo Polo
g) Mantenimiento
Se lleva acabo despus de terminado el programa, cuando se detecta que es
necesario hacer algn cambio, ajuste o complementacin al programa para que siga
trabajando de manera correcta. Para poder realizar este trabajo se requiere que el
programa este correctamente documentado.
6
Ing. Vernica Soledad Polo Polo
CAPITULO II.
ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE
ALGORITMOS
2.1 Tipos De Datos
Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple
carcter, tal como b, un valor entero tal como 35. El tipo de dato determina la naturaleza
del conjunto de valores que puede tomar una variable.
Simples
Tipos de
Datos
Numricos
Lgicos
Alfanumricos (string)
2.2 Expresiones
Las expresiones son combinaciones de constantes, variables, smbolos de
operacin, parntesis y nombres de funciones especiales. Por ejemplo:
a+(b + 3)/c
7
Ing. Vernica Soledad Polo Polo
Cada expresin toma un valor que se determina tomando los valores de las
variables y constantes implicadas y la ejecucin de las operaciones indicadas.
Una expresin consta de operadores y operandos. Segn sea el tipo de datos que
manipulan, se clasifican las expresiones en:
-
Aritmticas
Relacinales
Lgicas
Tipos de Operadores
Todas las expresiones entre parntesis se evalan primero. Las expresiones con
parntesis anidados se evalan de dentro a fuera, el parntesis ms interno se
evala primero.
8
Los operadores en una misma expresin con igual nivel de prioridad se evalan de
izquierda a derecha.
Ejemplos:
4 + 2 * 5 = 14
23 * 2 / 5 = 9.2
3 + 5 * (10 - (2 + 4)) = 23
3.5 + 5.09 - 14.0 / 40 = 5.09
2.1 * (1.5 + 3.0 * 4.1) = 28.98
46 / 5 = 9.2
3 + 5 * (10 - 6) = 3 + 5 * 4 = 3 + 20 = 23
3.5 + 5.09 - 3.5 = 8.59 - 3.5 = 5.09
2.1 * (1.5 + 12.3) = 2.1 * 13.8 = 28.98
Operadores Relacinales:
Operadores Relacinales
>
Mayor que
<
Menor que
>=
Mayor o igual que
<=
Menor o igual que
<>
Diferente
=
Igual
Ejemplos:
Si a = 10
b = 20
c = 30
a+b>c
a-b<c
a-b=c
a*b<>c
Falso
Verdadero
Falso
Verdadero
Ejemplos no lgicos:
a<b<c
10 < 20 < 30
T < 30 (no es lgico porque tiene diferentes operandos)
Operadores Lgicos:
Estos operadores se utilizan para establecer relaciones entre valores lgicos.
Estos valores pueden ser resultado de una expresin relacional.
Operadores Lgicos
9
Ing. Vernica Soledad Polo Polo
And
Or
Not
Y
O
Negacin
Operador And
Operando1 Operador
Operando2
T
AND
T
T
F
F
T
F
F
Operador Or
Operando1 Operador
Operando2
T
OR
T
T
F
F
T
F
F
Operador Not
Operando
Resultado
T
F
F
T
Ejemplos:
(a < b) and (b < c)
(10<20) and (20<30)
T and T
Resultado
T
F
F
F
Resultado
T
T
T
F
T
Prioridad de los Operadores Lgicos
Not
And
Or
Prioridad de los Operadores en General
1.- ( )
2.- ^
3.- *, /, Mod, Not
4.- +, -, And
5.- >, <, > =, < =, < >, =, Or
Ejemplos:
a = 10 b = 12 c = 13 d =10
1)
2)
3)
2.4 Identificadores
Los identificadores representan los datos de un programa (constantes, variables,
tipos de datos). Un identificador es una secuencia de caracteres que sirve para identificar
una posicin en la memoria de la computadora, que nos permite accesar a su contenido.
Ejemplo:
Nombre
Num_hrs
Calif2
Constantes y Variables
Constante: Una constante es un dato numrico o alfanumrico que no cambia durante
la ejecucin del programa.
Ejemplo:
pi = 3.1416
Variable: Es un espacio en la memoria de la computadora que permite almacenar
temporalmente un dato durante la ejecucin de un proceso, su contenido puede
cambia durante la ejecucin del programa. Para poder reconocer una variable en la
memoria de la computadora, es necesario darle un nombre con el cual podamos
identificarla dentro de un algoritmo.
Ejemplo:
rea = pi * radio ^ 2
Las variables son : el radio, el rea y la constate es pi
Clasificacin de las Variables
Por su Contenido
Numricas
Lgicas
Alfanumricas (String)
Variables
De Trabajo
11
Ing. Vernica Soledad Polo Polo
Por su Uso
Contadores
Acumuladores
Por su Contenido
Variable Numricas: Son aquellas en las cuales se almacenan valores numricos,
positivos o negativos, es decir almacenan nmeros del 0 al 9, signos (+ y -) y el punto
decimal. Ejemplo:
iva=0.15
pi=3.1416
costo=2500
Variables Lgicas: Son aquellas que solo pueden tener dos valores (cierto o falso) estos
representan el resultado de una comparacin entre otros datos.
Variables Alfanumricas: Esta formada por caracteres alfanumricos (letras, nmeros y
caracteres especiales). Ejemplo:
letra=a
apellido=lopez
direccion=Av. Libertad #190
Por su Uso
Variables de Trabajo: Variables que reciben el resultado de una operacin matemtica
completa y que se usan normalmente dentro de un programa. Ejemplo:
suma=a+b/c
Contadores: Se utilizan para llevar el control del nmero de ocasiones en que se realiza
una operacin o se cumple una condicin. Con los incrementos generalmente de uno en
uno. Ejm.:
Cont=Cont+1
i=i+1
Acumuladores: Forma que toma una variable y que sirve para llevar la suma acumulativa
de una serie de valores que se van leyendo o calculando progresivamente. Ejm:
Suma=Suma+ Numero.
12
Ing. Vernica Soledad Polo Polo
CAPITULO III.
TCNICAS PARA LA FORMULACIN DE
ALGORITMOS
Las dos herramientas utilizadas comnmente para disear algoritmos son:
Diagrama de Flujo
Pseuducodigo
Diagrama de Flujo
Un diagrama de flujo es la representacin grfica de un algoritmo. Tambin se
puede decir que es la representacin detallada en forma grfica de como deben realizarse
los pasos en la computadora para producir resultados.
Esta representacin grfica se da cuando varios smbolos (que indican diferentes
procesos en la computadora), se relacionan entre si mediante lneas que indican el orden
en que se deben ejecutar los procesos.
Los smbolos utilizados han sido normalizados por el instituto norteamericano de
normalizacin (ANSI).
SMBOLO
DESCRIPCIN
Indica el inicio y el final de nuestro
diagrama de flujo.
Indica la entrada y salida de
datos.
Smbolo de proceso y nos indica la
asignacin de un valor en la memoria
y/o la ejecucin de una operacin
aritmtica.
Smbolo de decisin indica la realizacin
de una comparacin de valores.
Decisiones mltiple (en funcin del valor
de la comparacin seguir uno de los
diferentes caminos).
Se utiliza para
subprogramas.
representar
13
Ing. Vernica Soledad Polo Polo
los
14
Ing. Vernica Soledad Polo Polo
Pseudocodigo
Mezcla de lenguaje de programacin y espaol (o ingls o cualquier otro idioma)
que se emplea, dentro de la programacin estructurada, para realizar el diseo de un
programa. En esencial, el pseudocodigo se puede definir como un lenguaje de
especificaciones de algoritmos.
Es la representacin narrativa de los pasos que debe seguir un algoritmo para dar
solucin a un problema determinado. El pseudocodigo utiliza palabras que indican el
proceso a realizar.
CAPITULO IV.
16
Ing. Vernica Soledad Polo Polo
ESTRUCTURAS ALGORITMICAS
ESTRUCTURAS ALGORITMICAS
Las estructuras de operacin de programas son un grupo de formas de trabajo, que
permiten, mediante la manipulacin de variables, realizar ciertos procesos especficos que
nos lleven a la solucin de problemas. Estas estructuras se clasifican de acuerdo con su
complejidad en:
Secuenciales
- Asignacin
- Entrada
- Salida
- Simples
Estructuras Condicionales
Algoritmicas
Cclicas
- Mltiples
- Hacer para
- Hacer mientras
- Repetir hasta
Estructuras Secuenciales
La estructura secuencial es aquella en la que una accin (instruccin) sigue a otra
en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la
siguiente y as sucesivamente hasta el fin del proceso. Una estructura secuencial se
representa de la siguiente forma:
Inicio
Accion1
Accion2
.
.
AccionN
Fin
- Asignacin: La asignacin consiste, en el paso de valores o resultados a una zona de la
memoria. Dicha zona ser reconocida con el nombre de la variable que recibe el valor. La
asignacin se puede clasificar de la siguiente forma:
Simples: Consiste en pasar un valor constate a una variable (a=15)
Contador: Consiste en usarla como un verificador del numero de veces que se
realiza un proceso (a=a+1)
Acumulador: Consiste en usarla como un sumador en un proceso (a=a+b)
De trabajo: Donde puede recibir el resultado de una operacin matemtica que
involucre muchas variables (a=c+b*2/4).
- Lectura: La lectura consiste en recibir desde un dispositivo de entrada (p.ej. el teclado)
un valor. Esta operacin se representa en un pseudocodigo como sigue:
Leer a, b
17
Ing. Vernica Soledad Polo Polo
Definicin del
Problema
Diagrama de Flujo
Inicio
1. Inicio
2. Leer base y altura (b, a)
3. Ar b*a
4. pe 2*(b + a)
5. Escribir rea del rectngulo: , ar
6. Escribir Permetro del rectngulo: , pe
7. Fin
b,a,Ar,pe
Leer b,a
Ar=b*a
Pe=2*(b+a)
Escribir Ar,Pe
Fin
s=n1+n2
s
18
Pseudocdigo
Inicio
D.V.: n1,n2,suma son enteros
Leer n1,n2
suman1+n2
Escribir suma
Fin.
3) Suponga que un individuo desea invertir su capital en un banco y desea saber cuanto
dinero ganara despus de un mes si el banco paga a razn de 2% mensual.
cap_inv
gan=cap_inv*002
Inicio
D.V cap_inv(Capital invertido)
Leer cap_inv
gan = cap_inv * 0.02
Imprimir gan
Fin
19
Ing. Vernica Soledad Polo Polo
gan
Problemas Propuestos
1) Dada una cantidad en pesos, obtener la equivalencia en dlares
2) Ingresar el nmero de horas trabajadas al mes, sabiendo que el costo por hora
trabajada es de S/.50.00.. Cunto percibir de salario al final del mes?
20
Ing. Vernica Soledad Polo Polo
21
Ing. Vernica Soledad Polo Polo
Estructuras de Condicionales
Las estructuras condicionales comparan una variable contra otro(s) valor(es), para
que en base al resultado de esta comparacin, se siga un curso de accin dentro del
programa. Cabe mencionar que la comparacin se puede hacer contra otra variable o
contra una constante, segn se necesite. Existen dos tipos bsicos, las simples, dobles y
las mltiples.
Simples: Las estructuras condicionales simples se les conoce como Tomas de
decisin. Estas tomas de decisin tienen la siguiente forma:
Pseudocdigo
Diagrama N-S
Si <condicin> entonces
Condicin
Accin(es)
Fin-si
Inicio
V
Diagrama de
Flujo
Condicin
Accin(es)
Verdadero
Condicin
Accin(es)
Fin
Dobles: Las estructuras condicionales dobles permiten elegir entre dos opciones o
alternativas posibles en funcin del cumplimiento o no de una determinada
condicin. Se representa de la siguiente forma:
Pseudocdigo
Diagrama de
Flujo
Si <condicin> entonces
Accin(es)
si no
Accin(es)
Fin-si
Donde:
Falso
Condicin
Verdadero
Diagrama N-S
Acciones(SI)
Condicin
Inicio
F
Accin(SI)
Fin
Accin(NO)
Mltiples.
22
Acciones(No)
fin_caso
Pseudocdigo de la estructura selectiva mltiple
Ejemplos:
Inicio
D.V: Edad es entero
Leer Numero
Si Numero>=0 Entonces
Escribir El nmero es Positivo
FIN SI
FIN
Inicio
Numero
Leer Numero
Numero>=0
V
Escribir El nmero es positivo
Fin
Inicio
Edad
Leer Edad
V
F
Edad>=18
Fin
Lunes,
Dia=1,2,3,4,5,6,7
25
Ing. Vernica Soledad Polo Polo
Martes,
Diagrama N-S
Ejercicios:
a) Determinar si un alumno aprueba o desaprueba un curso, sabiendo que aprobara si su
b)
c)
d)
e)
f)
g)
h)
27
Ing. Vernica Soledad Polo Polo
28
Ing. Vernica Soledad Polo Polo
Acciones
29
Ing. Vernica Soledad Polo Polo
Inicio
D.V.
Enteras:
Inicio
N,i,numero,suma
N,i,numero,suma
Suma=0
Suma=0
Leer El total de nmeros:,N
Para i=1 hasta N,1
Leer N
Leer numero
Suma=suma+numero
I1 hasta N,1
Fin Para
Escribir suma
Leer numero
Fin
suma=suma+numero
Escribir suma
Fin
30
Ing. Vernica Soledad Polo Polo
31
Ing. Vernica Soledad Polo Polo
32
Ing. Vernica Soledad Polo Polo