Está en la página 1de 103

Computacin para

Ingeniera I


Sin el software, una computadora es en esencia una masa metlica sin
utilidad.

Con el Software, una computadora puede almacenar, procesar y recuperar
informacin, encontrar errores de ortografa, intervenir en muchas otras
valiosas actividades.

El software para computadoras puede clasificarse en general en dos clases:

Programas del sistema
Programas de aplicacin

El programa fundamental de todos los programas de sistema es el sistema
operativo, que controla todos los recursos de la computadora y
proporciona la base sobre la cual pueden escribirse los programas de
aplicacin.

CAPITULO I

Introduccin
Conceptos y definicin de
programacin
Definicin de Algoritmo
Un algoritmo es una serie de pasos organizados que describe el proceso
que se debe seguir, para dar solucin a un problema especfico.
Definicin de Lenguaje
Es una serie de smbolos que sirven para transmitir uno o ms mensajes
(ideas) entre dos entidades diferentes. A la transmisin de mensajes se le
conoce comnmente como comunicacin.
Lenguaje de Programacin
Es un conjunto de smbolos, caracteres y reglas (programas) que le
permiten a las personas comunicarse con la computadora.







Conceptos y definicin de
programacin

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 cmo debe realizarse los pasos en la computadora para producir
resultados.
Pseudocdigo
Mezcla de lenguaje de programacin y espaol (o ingles o cualquier otro
idioma) que se emplea , dentro de la programacin estructurada, para realizar
el diseo de un programa.
El Pseudocdigo se puede definir como un lenguaje de especificaciones de
algoritmos.

Codificacin
La codificacin es la operacin de escribir la solucin del problema ( de
acuerdo a la lgica del programa de flujo o pseudocdigo), en una serie
de instrucciones detalladas o 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.



Prueba y depuracin
Los errores humanos dentro 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.
Conceptos y definicin de
programacin
Conceptos y definicin de
programacin
Documentacin
Es la gua o comunicacin escrita en sus variadas formas, ya sea
en enunciados, procedimientos, dibujos o diagramas.
La documentacin se divide en tres partes:

Documentacin Interna
Documentacin Externa
Manual del usuario

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.


Los problemas o tareas que se plantean diariamente, por ejemplo en el
mbito de la empresa, ya sean de gestin, tcnicos, matemticos, etc,
pueden ser resueltos mediante el uso de la capacidad intelectual y la
habilidad manual de la persona.
Diremos entonces que la tarea ha sido realizada de forma manual .

Aplicacin o Sistema Informtico



Conceptos y definicin de
programacin
Rapidez.
Precisin
Memoria.
CICLO DE VIDA DE LA APLICACIN

Desde el planteamiento de un problema o tarea hasta que se tiene el
correspondiente programa o aplicacin informtica para su realizacin por
medio de una computadora, instalado en la misma y en funcionamiento
mientras sea de utilidad, se siguen una serie de etapas que en conjunto
denominamos ciclo de vida del software. Cada una de las etapas, que
tiene un objetivo bien determinado, ha de llevarse a cabo cuando se ha
terminado completamente la anterior; es decir, se han de abordar de forma
estrictamente secuencial.

ETAPAS DEL DESARROLLO DE APLICACIONES

Es de destacar que en la realizacin de estas etapas no todas
necesitan el uso de la computadora. No obstante, desde hace algn
tiempo se utiliza sta como apoyo mediante las denominadas
herramientas CASE (Computer Aided Software Engineering).
Etapa Resultado

Anlisis
Diseo Diseo Diseo Diseo Diseo
Problema
Especificaciones
Reportes
Formatos
Bases de datos
Programas

Presentacin Diseo
Pruebas
Programacin
Aprobacin
Algoritmos / flujogramas Seudocdigo
Codificacin-programa fuente, programacin estructurada, compilacin-
programa objeto
(Errores, sintaxis, lgica)
Enlace Cdigo ejecutable (Aplicacin: Interactiva/por
lotes/reporte/consultas)
Unitarias Errores: Ejecucin, Especificacin Funcionales, De conjunto, De esfuerzo
D
E
S
A
R
R
O
L
L
O

ETAPAS DEL DESARROLLO DE APLICACIONES
Etapa Resultado
Evaluacin
Documentacin
Capacitacin
Explotacin y mantenimiento
Unitarias Errores: Ejecucin, Especificacin Funcionales,
De conjunto, De esfuerzo
Aplicacin aprobada
Manual sistema, manual de usuario, manual de operacin,
manual de instalacin
Usuarios, Tcnicos
Explotacin
D
E
S
A
R
R
O
L
L
O



CICLO DE VIDA DEL SOFTWARE
Desarrollo de solucin al problema
Anlisis
Previo
Funcional
Orgnico
Diseo
Reportes
Formatos
Bases de datos
Programas
Programacin
Algoritmo
Seudo-cdigo
Diagramas de flujo
Programacin estructurada
Programacin modular
Codificacin
Edicin
Compilacin
Enlace (linkage)
Prueba de ejecucin


Errores
Compilacin
Ejecucin
Lgica
Especificacin


Documentacin de los programas
Documentacin Interna
Contenido propio del programa fuente
Cdigo autodocumentado
Documentacin externa
Especificacin del anlisis
Descripcin del diseo
Descripcin de las versiones, si las hubiere
Descripcin de archivos y estructura de datos
Descripcin del programa principal y sub programas.
Manual de mantenimiento
Manual de explotacin.


Etapas de la implantacin y
explotacin
Mantenimiento
Explotacin
ESTRUCTURA DE UN PROGRAMA
Entrada de datos
Proceso
Salida de resultados
ESTRUCTURA FUNCIONAL DE UN PROGRAMA
SALIDA
ENTRADA PROCESO
LENGUAJES DE PROGRAMACIN
Un lenguaje de programacin es una notacin
para escribir programas, a travs de los cuales
podemos comunicarnos con el hardware y dar as
las rdenes adecuadas para la realizacin de un
determinado proceso.

Un lenguaje est definido por una gramtica o
conjunto de reglas que se aplican a un alfabeto
constituido por el conjunto de smbolos utilizados.
CLASIFICACION DE LOS LENGUAJES
DE PROGRAMACIN
Lenguaje de mquina (Lenguaje de bajo
nivel).
Lenguaje ensamblador (Lenguaje
intermedio).
Lenguaje de alto nivel (evolucionado).
Lenguaje de mquina

El lenguaje de mquina es el nico que entiende
directamente la computadora. Utiliza el alfabeto binario,
que consta de los dos nicos smbolos 0 y 1,
denominados bits (abreviatura inglesa de dgitos
binarios). Fue el primer lenguaje utilizado en la
programacin de computadoras, pero dej de utilizarse
por su dificultad y complicacin, siendo sustituido por
otros lenguajes ms fciles de aprender y utilizar, que
adems reducen la posibilidad de cometer errores.
Lenguaje ensamblador
El lenguaje ensamblador es el primer
intento de sustituir el lenguaje de
mquina por otro ms similar a los
utilizados por las personas. En este
lenguaje, cada instruccin equivale a una
instruccin en lenguaje de mquina,
utilizando para su escritura palabras
nemotcnicas en lugar de cadenas de
bits.
Lenguaje de alto nivel

Los lenguajes de alto nivel, tambin denominados
lenguajes evolucionados, surgen con posterioridad a los
anteriores con los siguientes objetivos, entre otros:
1. Lograr independencia de la mquina, pudiendo
utilizar un mismo programa en diferentes equipos con la
nica condicin de disponer de un programa traductor o
compilador, que es suministrado por el fabricante, para
obtener el programa ejecutable en lenguaje binario de la
mquina que se trate. Adems, no se necesita conocer
el hardware especfico de dicha mquina.
2. Aproximarse al lenguaje natural para que el
programa se pueda escribir y leer de una forma ms
sencilla, eliminando muchas de las posibilidades de
cometer errores que se daban en el lenguaje de
mquina, ya que se utilizan palabras (en ingls) en lugar
de cadenas de smbolos sin ningn significado aparente
3. Incluir rutinas de uso frecuente, como las de
entrada/salida, funciones matemticas, manejo de tablas,
etc., que figuran en una especie de librera del lenguaje
de manera que se puedan utilizar siempre que se quiera
sin necesidad de programarlas cada vez.
REPRESENTACION DE DATOS
CODIFICACIN ALFANUMERICA
Representaciones o cdigos internos
Cdigos alfanumricos
Letras maysculas [A - Z]
Letras minsculas [a - z]
Cifras decimales [0-9]
Caracteres especiales (.), (,), (;), (*), etc.
Ordenes de control NUL, CR, ACK, etc.
1 Byte 8 bits


Programacin convencional
Traduccin del diagrama de flujo
Traduccin a un pseudocdigo

Programacin modular
Dividir un programa en mdulos o subprogramas
Divide un programa complejo en subproblemas
Programacin estructurada
Tiene 3 reglas importantes
Secuencia
Iteracin
Decisin
Concepto bsico de algoritmo:
Los algoritmos constituyen un listado de instrucciones que indican el
camino a seguir para dar solucin a un problema.
Caractersticas de los algoritmos
Un algoritmo no debe ser ambiguo
Debe tener una secuencia inicial
Cada paso deber tener una secuencia sucesiva y nica es decir que
deben indicar claramente el camino a seguir en la solucin del problema.
El algoritmo debe ser siempre eficiente y dar una solucin al problema o
de lo contrario deber dar un mensaje que diga sin solucin
Programa
Un programa define un algoritmo porque constituye el conjunto de
instrucciones que forman el algoritmo y que se dan una computadora para
solucionar un problema especifico.


Ejemplo de un algoritmo
Limpiar platos, separando los azules, vamos a apreciar tres
caracterisitcas.
1. Indentacin
2. Englobadas
3. predecesoras

Mientras haya platos
coger un plato
Mientras haya suciedad
echar jabn
pasar el estropajo por el plato
Si plato es azul
ponerlo con los azules
Un cdigo no estructurado es como sigue:
1. Coger plato
2. Echar jabn
3. Pasar el estropajo por el plato
4. Si hay suciedad ir a la instruccin 2
5. si el plato no es azul ir a la instruccin 7
6. ponerlo con los azules
7. Si hay ms platos ir a la instruccin 1

SIMBOLOS USADOS EN EL DIAGRAMA DE FLUJO
INICIO / FIN : Esta figura opera al principio y al final de todo
diagrama de flujo, indicando el principio y el final del programa
ENTRADA / SALIDA: Esta figura en forma de paralelogramo
inicia una operacin de entrada, adems se usa tambin para
la salida de datos
OPERACIN: Esta figura rectangular indica un proceso u
operacin de procesamiento de datos, cculos, etc.
DECISION: Esta figura en forma de rombo indica una
decisin, las lneas que salen de la figura se identifican con
los resultados de la decisin, por lo tanto una lnea ser
verdadera y la otra ser falsa.
CONECTOR: Este smbolo se usa para conectar entre si dos o
Ms puntos relacionados del diagrama de flujo; llevan una letra
en el interior a fin de identificar cuales son los bloques con los
cuales estn conectados
DIRECCION: las flechas indican la direccin del flujo de control
en la secuencia del programa descrito.
SIMBOLOS USADOS EN EL DIAGRAMA DE FLUJO
Decisin mltiple: Dependiendo del resultado
de la comparacin se deber seguir un camino
especfico.
Conector: Indica conector de final de pgina,
se utiliza en los diagramas de flujo bastante
extenso que pueden abarcar 2 o ms paginas.
Impresora: Representa una salida de
resultados mediante impresora.
Principales smbolos que se utilizar en el diseo de diagramas de flujo.
ESTRUCTURA DE CONTROL
Se dividen en dos grupos :
De Decisin
- If ... Then
- If ThenElse
- Select Case
De bucle
- Do Loop (while / Until)
- For Next
Anidadas
Salidas de estructuras (exit)
Diagrama de flujo:
El diagrama de flujo es la representacin grfica de dicha secuencia
de instrucciones que conforman el algoritmo.
Ejemplo:
Calcular e imprimir el rea del triangulo.
Solucin:
Entrada: (datos a introducir al computador)
Altura = h
Base = b
Area de un triangulo = (b x h) / 2
Algoritmo:
1. Pedir el valor de b
2. Pedir el valor de h
3. Aplicar la formula A= (b*h)/2
4. Mostrar A
5. Terminar el proceso

Diagrama de flujo:


B, H
A = (B * H) / 2
A
FIN
INICIO
A = (B * H) / 2
A
Ejemplo:
Construir un diagrama de flujo , donde dados los datos A ,B, C y D
representan nmeros enteros, escriba los mismos en orden
inverso.
Solucin:
Datos: A, B, C, D
Donde A, B, C y D son variables de tipo entero, son datos que
ingresan
Algoritmo:
1. Ingresar datos A, B, C, D.
2. Imprimir datos invertidos.
Diagrama de flujo:
I
F
A, B, C, D
D, C, B, A
(Inicio del programa)
(Lectura de datos A, B, C, D)
(Muestra los datos
invertidos por impresora.)
(Fin del programa)
Ejercicio 1:
Construir un diagrama de flujo, dados los enteros A y B , escriba el
resultado de la siguiente expresin.:
(A+B)
2
/ 3
Solucin:
Datos: A, B : variables de tipo entero
RES : Variable de tipo real, donde almacena el resultado de la
expresin.
Algoritmo:
1. Ingresar A, B
2. Realizar un proceso donde se ejecute la formula indicada (A+B)
2
/ 3
3. Mostrar el resultado.

Diagrama de flujo:
I
A, B
RES = (A+ B)
2
/ 3
RES
F
Debemos recordar que para asignar una expresin o valor a una variable, se
utiliza un bloque de asignacin:
Variable = expresin o valor.
Explicacin de las variables:
A, B Variables de tipo entero.
RES Variable de tipo real, almacena el resultado de la expresin.
En la prueba podremos ver los datos que se ingresan y el resultado obtenido,
para cinco nmeros diferentes.
Tabla de prueba
Cantidad Datos Resultado
Nmeros A B RES
1 5 6 60.5
2 7 10 144.5
3 0 3 4.5
4 12 2 88.0
5 14 -5 27.0
Ejercicio 2.
Escribir un diagrama de flujo que permita calcular e imprimir el
cuadrado y cubo de un nmero entero positivo NUM.
Ejercicio 3.
Construya un diagrama de flujo , que dados como datos la
base y altura de un rectngulo, calcule el permetro y la
superficie del mismo.
Formulas:
Superficie = Base * Altura
Permetro = 2* (Base + Altura)
Ejercicio 4.
En una casa de cambio necesitan construir un programa tal que
dado como dato una cantidad expresada en dolares, convierta esa
cantidad a bolivianos.
Construya el diagrama de flujo correspondiente.

Ejercicio 5.

Construya un diagrama de flujo, dado el radio y la altura de un
cilindro, calcule e imprima el rea y su volumen.

Volumen del cilindro: Volmen = pi * radio2 + altura
Donde : pi = 3.141592
Donde la superficie de un cilindro se calcula como:
Area = 2 * pi * radio * altura
ESTRUCTURAS DE CONTROL SELECTIVA
Estructura si entonces (Seleccin simple):
La estructura selectiva si entonces, permite el flujo del diagrama siga por un
camino especfico si se cumple una condicin o conjunto de condiciones. Si al
evaluar la condicin (o condiciones) el resultado es verdadero, entonces se
ejecutan (n) cierta (s) operacin (es). Luego se contina con la secuencia normal
del diagrama.


Operacin
Condicin
Falsa
Verdadera
No
Si
CONDICION expresa la
condicin o conjunto de
condiciones a evaluarse.
OPERACION expresa la
operacin o conjunto de
operaciones que se van
a realizar si la condicin
resulta verdadera.
ALGORITMO:
.
.
Si condicin entonces
Hacer operacin
(Fin del condicional)

Ejemplo
Construya un diagrama de flujo tal, que dado como dato la calificacin de un
alumno en un examen, escrita aprobado en caso de que esa calificacin fuese
mayor que 10,5.
Solucin:
Dato: CAL
Donde : CAL es una variable de tipo real, que expresa la calificacin del alumno.
Podemos observar el seguimiento del diagrama de flujo para diferentes pruebas.

ALGORITMO
Examen selectiva simple
CAL es una variable de tipo real
1. Leer CAL
2. Si CAL > 10,5 Entonces
Escribir Aprobado
3. (Fin del condicional)

TABLA DE PRUEBA
Nmero de prueba
Tabla
Nmero DATO
RESULTADO
de prueba CAL
1 10,75 "Aprobado"
2 7,9
3 8
4 10,51 "Aprobado"
5 10,55 "Aprobado"
DIAGRAMA DE FLUJO
INICIO
CAL
CAL>10.5
FIN
APROBADO
Estructura selectiva simple
No
Si
Podemos observar el
seguimiento del diagrama de
flujo para diferentes pruebas
Ejercicio 1
Dado como dato el sueldo de un trabajador, aplicar un aumento del 15% si su
sueldo es inferior a 1000 $us, imprimir en este caso, el nuevo sueldo del
trabajador. Hacer el algoritmo y su diagrama de flujo.
Solucin
Dato : SUEL
Donde: SUEL es una variable de tipo real, para expresar el sueldo del trabajador.
ALGORITMO
1. Leer SUEL
2. Si SUEL < 1000 entonces
Hacer AUMEN = SUEL* 0,15
NSUEL = SUEL + AUMEN
3. Escribir NSUEL
4. (Fin de condicional del paso 2)






DIAGRAMA DE FLUJO
INICIO
SUEL
SUEL<10000
NSUEL
APROBADO
No
Si
AUMEN =SUEL*O,15
NSUEL = SUEL + AUMEN
FINAL
Explicacin de variables:
SUEL: Variable de tipo real
AUMEN: Variable de tipo real. Almacena el aumento del trabajador
NSUEL: variable de tipo real. Almacena el nuevo sueldo del trabajador
TABLA DE PRUEBA

Tabla DE PRUEBA
Nmero DATO CALCULO
RESULTADO
de prueba SUEL
AUXILIAR
AUMEN
NSUEL
1 875,5 131.32 1006,82
2 1300.00
3 2150.00
4 976.00 146.40 1122.40
5 785.00 117.75 902.75
ESTRUCTURA SI ENTONCES SI NO (Alternativa doble)
Por otro lado es muy necesaria la alternativa doble, nos permite tomar decisiones
en ambos sentidos, es decir cuando la sentencia de comparacin sea verdadero
o cuando sea falso, en otras palabras cuando la respuesta de la comparacin sea
verdadera se ejecutarn una o ms acciones, as mismo si la respuesta es falsa
se ejecutarn acciones diferentes.
ALGORITMO
.
.
.
Si condicin
entonces
hacer operacin 1
Sino o (caso contrario)
hacer operacin 2
(Fin de la condicin)

DIAGRAMA DE FLUJO

CONDICION
OPERACIN 1
OPERACIN 2
Donde:
CONDICION expresa la condicin o conjunto de condiciones a evaluarse.
OPERACIN 1 expresa la operacin o conjunto de operaciones que se van a
realizar si la condicin resulta verdadera.
OPERACIN 2 expresa la operacin o conjunto de operaciones que se van a
realizar si la condicin resulta falsa.
Si No
Verdadera Falsa
Ejemplo
Construya un diagrama de flujo tal, que dado como dato la calificacin de un
estudiante en un examen, escriba aprobado si su calificacin es mayor que
10,5 y reprobado en caso lo contrario.
Solucin:
Dato: CALI
Donde: CALI es una variable de tipo real, que expresa la calificacin del
estudiante.
ALGORITMO
1. Leer CALI
2. Si CALI > 10,5
entonces
escribir Aprobado
sino o caso contrario
escribir Reprobado
3. (Fin de la condicin del paso 2)
DIAGRAMA DE FLUJO

CALI>10,5
OPERACIN 2
Si No
Verdadera Falsa
INICIO
CALI
APROBADO REPROBADO
FIN
TABLA DE PRUEBA

TABLA PRUEBA
Nmero DATO
RESULTADO
de pruebas CALI
1 10,75 "APROBADO"
2 17,9 "APROBADO"
3 8 "REPROBADO"
4 9,5 "REPROBADO"
5 18,35 "APROBADO"
Ejercicio 2
Construya un diagrama de flujo tal, que dado como dato el sueldo de un
trabajador, le aplique un aumento del 15% si su sueldo es inferior a Bs. 1000 y
12% en caso contrario, Imprima el nuevo sueldo del trabajador.
ESTRUCTURA DE SELECCIN MULTIPLE
La estructura de seleccin permite que el flujo del diagrama se bifurque por varias
ramas en el punto de la toma de decisiones, esto en funcin del valor que tome el
selector . As, si el selector toma el valor 1 se ejecutar la accin 1, si toma el valor
2 se ejecutar la accin 2, si toma el valor N se realizar la accin N, y si toma un
valor distinto de los valores comprendidos entre 1 y N, se continuar con el flujo
normal del diagrama realizandose la accin N+1.
DIAGRAMA DE FLUJO
SELECTOR
ACCION 1 ACCION 2 ACCION N
VALOR 1 VALOR 2 VALOR N
Donde:
SELECTOR es la variable o expresin, a evaluarse, segn lo cul tomar una de
las mltiples decisiones o alternativas.
ACCION 1 expresa la operacin o conjunto de operaciones que se van a
realizar si el selector toma el valor 1.
ACCION 2 expresa la operacin o conjunto de operaciones que se van a
realizar si el selector toma el valor 2.
ACCION N expresa la operacin o conjunto de operaciones que se van a
realizar si el selector toma el valor N.
ALGORITMO
.
Si selector igual
Valor 1 : Hacer accin 1
Valor 2 : Hacer accin 2
.
Valor N: Hacer accin N
(Fin de condicin)
EJEMPLO
Analizar el siguiente caso:
DIAGRAMA DE FLUJO

SELECTOR
ACCION 1 ACCION 2 ACCION N
VALOR 1, 2 VALOR 3, 4, 5 VALOR N
ACCION X
ALGORITMO
Si selector igual
Valor 1,2: Hacer accin 1
Valor 3, 4, 5: Hacer accin 2
De otra forma: hacer accin 3
(Fin de condicin)

EJERCICIO 3
Construya un diagrama de flujo tal, que dado como datos dos variables de
tipo entero, obtenga el resultado de la siguiente funcin:
100*V Si NUM = 1
100^V Si NUM = 2
100/V Si NUM = 3
ESTRUCTURA REPETIR
Es la estructura algortmica adecuada para utilizar en un ciclo donde se
ejecutar un nmero definido de veces.
.
.

.
V = VI
V>VF
PROCESO
V=V+INC
SI
NO
DIAGRAMA DE FLUJO
Donde:
V : Es una variable de control
VI : Es el valor inicial
VF : Es el valor final
INC : Es el incremento
V (contador del ciclo, generalmente representado por las letras I, J, K,
V) toma un valor inicial y se compara con VF( Valor final). El ciclo se
ejecutara mientras V es menor o igual al valor de V se incrementa en
cada iteracin.
Cuando V supera el valor de VF entonces el ciclo se detiene.

ALGORITMO
.
.Repetir
.
.{proceso}
.
.
Hacer V=V+INC
Hasta que (condicin)
{Fin de ciclo}
Ejemplo
Construya un diagrama de flujo tal, que dados como datos los sueldos de los
10 trabajadores de una empresa, obtenga el total de nmina de la misma.
Considere adems que no puede utilizar estructuras algortmicas repetitivas
en la solucin del problema.
Solucin:
Datos: SUE1, SUE2, SUE3, SUE4, SUE5, SUE6, SUE7, SUE8, SUE9,
SUE10
Donde: SUE1, SUE2,, SUE10 son variables de tipo real, que representan
los sueldos de los 10 trabajadores.
A continuacin presentamos la solucin correspondiente del problema.

DIAGRAMA DE FLUJO INICIO

INICIO
SUE1, SUE2, SUE3, SUE4, SUE5, SUE6,...,SUE10
NOMINA=SUE1, SUE2, SUE3, SUE4, SUE5, SUE6, , SUE10
NOMINA
FIN
EXPLICACION DE LAS VARIABLES

SUE1, SUE2, SUE3, SUE4, SUE5, SUE6, SUE7, SUE8, SUE9 y SUE10:
variable de tipo real. Representan los sueldos de los empleados.
NOMINA: Variable de tipo real. Almacena la suma de los sueldos de todos los
trabajadores.
Consideremos que sucedera si en lugar de tener 10 empleados, la empresa
tuviera 100 o 1000 trabajadores. En realidad el problema es simple podemos
utilizar una estructura algortmica repetitiva, de tal manera que el ciclo se ejecute
tantas veces como empleados tenga la empresa.
EJEMPLO
A continuacin presentaremos la solucin del problema anterior, utilizando una
estructura algortmica repetitiva.
Datos: SUE1, SUE2, SUE3,,SUE10
Donde: SUE, es una variable de tipo real, que representa el sueldo del
trabajador i, (1<=i<=10)
DIAGRAMA DE FLUJO
NOMINA
I = 1
NOMINA = 0
INICIO
I > 10
INICIO
NOMINA= NOMINA + SUE
I = I + 1
FIN
Estructura
repetitiva
REPETIR
SI
NO
Explicacin de las variables:
I : Es una variable de tipo entero que representa la variable de control del
ciclo. Contabiliza el nmero de veces que va a repetirse una determinada
accin. El contador toma un valor inicial (generalmente 0 1) y se incrementa
en la mayora de los casos en una unidad en cada vuelta del ciclo.
NOMINA : Es una variable de tipo real que representa un acumulador.
Este se utiliza cuando debemos obtener el total del acumulado de un conjunto
de cantidades. Generalmente se inicializa en cero.
SUE : Es una variable de tipo real. Representa el sueldo del trabajador.
En la siguiente tabal podemos observar el seguimiento del algoritmo para los
siguientes datos (SUE) : $ 1500, $700, $950, $2300, $1650, $1800, $1400,
$760, $900.
TABLA DE PRUEBA
I SUE NOMINA
1 0
2 1500 1500
3 890 2390
4 700 3090
5 950 4040
6 2300 6340
7 1650 7990
8 1800 9790
9 1400 11190
10 760 11950
11 900 12850
TABLA DE PRUEBA
Inicio de ciclo
Finaliza el ciclo
ALGORITMO
1. Hacer I =1 y NOMINA = 0
2. Repetir
Leer SUE
Hacer NOMINA = NOMINA + SUE
I = I + 1

3. Hasta que I > 10 {Fin del ciclo del paso 2}
4. Escribir NOMINA
ESTRUCTURA MIENTRAS
La estructura algortmica mientras es la estructura adecuada para utilizar en
un ciclo cuando no sabemos el nmero de veces que ste se ha de repetir.
Dicho nmero depende de las proposiciones dentro del ciclo.
DIAGRAMA DE FLUJO
.
NO
SI
.
EVALUACION
ASIGNACION
MODIFICACION
ALGORITMO
.
.
Mientras condicin
.
.
(proceso)
.
Fin mientras
EJEMPLO
Supongamos que debemos obtener la suma de los gastos que hicimos en
nuestro ltimo viaje, pero no sabemos exactamente cuantos fueron. Los datos
son expresados en forma:
Datos: Gasto
1
, Gasto
2
, , -1
Donde: Gasto
i
es una variable de tipo real, que representa el gasto nmero
i ...

A continuacin presentamos la solucin del problema
DIAGRAMA DE FLUJO

INICIO
NO
SI
INICIO
SUMGAS = 0
GASTO
GASTO<>-1
SUMGAS=SUMGAS + GASTO
GASTO
SUMGAS
FIN
EXPLICACION DE LAS VARIABLES
SUMGAS: Es una variable de tipo real. Es un acumulador. Acumula los gatos
efectuados.
GASTO: Es una variable de tipo real. Su valor en la primera lectura debe ser
verdadero, es decir distinto de -1. Su valor se modifica en cada vuelta de ciclo,
cuando gasto tome el valor de -1, entonces el ciclo se detendr.
En la siguiente tabla podemos observar el seguimiento del algoritmo para los
siguientes datos (Gasto): $2518, $3500, $1600, $ 1850, $ 150, -1
ALGORITMO
1. Hacer SUMGAS
2. Leer gasto
3. Mientras gasto <> -1
a) Hacer SUMGAS = SUMGAS + GASTO
b) Leer GASTO
4. (Fin del ciclo del paso 3)
5. Escribir SUMGAS

CAPITULO 2
CONCEPTOS DE ARCHIVOS Y BASES DE DATOS

INTRODUCCION

El almacenamiento y manejo de grandes cantidades de datos se hace necesario
en cualquier empresa para el logro de sus objetivos. Por ejemplo, se necesitan
los datos de los empleados, de clientes, de proveedores, de los productos
almacenados, etc.
Normalmente, la gestin de estos datos se ha venido realizando de forma
manual. Se organizaban en forma de fichas, informes o expedientes,
colocndolos en carpetas y almacenando stas en un archivador.

Por ejemplo, se tiene un archivo de clientes en el que cada ficha contiene todos
los datos correspondientes a un cliente. Cuando se necesita consultar o
modificar los datos de clientes concretos ser preciso realizar toda la operacin
manualmente.
ARCHIVO MANUAL
La utilizacin de las computadoras en la administracin de las empresas ha
supuesto una revolucin respecto al almacenamiento y gestin de sus datos,
dando lugar al uso de los denominados archivos informticos y bases de datos.

Para el almacenamiento de los datos se utilizan soportes informticos
principalmente de tipo magntico y ptico (discos, cintas, etc.), y para el
tratamiento de los datos grabados en ellos se utilizan las computadoras
SOPORTES PARA ALMACENAMIENTO DE DATOS
Las ventajas obtenidas se derivan de las caractersticas de los soportes y de
las computadoras:

Gran capacidad de almacenamiento en un reducido espacio.
Rapidez en el proceso de los datos.

Precisin de los resultados obtenidos del proceso.

Los archivos antes citados se denominan archivos de datos, pero hemos de
tener en cuenta que existen otros tipos de archivos, ya que cualquier
informacin permanente que se almacena en una computadora de cualquier
forma, se considera igualmente un archivo. Por ejemplo, un archivo fuente
contendr un programa fuente (programa escrito en un lenguaje de
programacin de alto nivel), un archivo objeto contiene un programa ya
compilado, un archivo grfico, un dibujo, etc.
ARCHIVOS Y REGISTROS
Un Archivo o Fichero es una estructura de datos que reside en memoria
secundaria, consistente en un conjunto de informaciones estructuradas en
unidades de acceso denominadas registros, todos del mismo tipo y en
nmero indeterminado.
REGISTRO LOGICO

O simplemente registro es cada uno de los componentes del archivo,
conteniendo el conjunto de informaciones que se acceden y se tratan de manera
unitaria. Est constituido por uno o ms elementos denominados campos, que
pueden ser de diferentes tipos y que a su vez pueden estar compuestos por
subcampos.

Un registro puede tener un campo clave, cuyo valor sirve para identificar de
forma nica el registro y por tanto, dicho valor no puede aparecer repetido en otro
registro diferente.

Puede suceder que un archivo no tenga campo clave en sus registros, o por el
contrario, que tenga varios, denominndose clave primaria a la principal y a las
dems secundarias.

Si un archivo contiene informacin de un conjunto de individuos u objetos, sus
registros contienen informacin de cada uno de ellos y los campos los diferentes
datos que componen.

Por ejemplo, en el archivo de personal de una empresa, cada registro contiene
informacin de un empleado, los campos contienen su nmero de CI, nombre,
direccin, fecha de ingreso, etc. La calle en que vive ser un sub-campo y el
campo clave puede ser el nmero de CI.
EJEMPLO
REGISTRO DE PERSONAL

NMERO DE CI 2198365
NOMBRE LUIS ORTIZ RUBIO
DIRECCIN PS. OLMOS # 16
LOCALIDAD LA PAZ
DEPARTAMENTO PRODUCCION
CATEGORIA LABORAL TCNICO AUXILIAR
FECHA DE INGRESO 15/09/1988

UN REGISTRO FISICO O BLOQUE
Corresponde a la cantidad de informacin que se transfiere fsicamente en cada
operacin de acceso (lectura o escritura) del medio magntico
Se debe aclarar los conceptos de registro lgico y registro fsico,
diferencindose en que el tamao y formato del registro lgico los define el
programador, mientras que el tamao del registro fsico viene dado por las
caractersticas fsicas de la computadora utilizada.
En general, un bloque tendr capacidad para contener uno o ms registros
lgicos, pero tambin puede ocurrir que un registro lgico ocupe ms de un
bloque.
En el primer caso se habla de registros bloqueados, denominndose factor de
bloque al nmero de registros lgicos que contiene cada registro fsico, y se
denominan registros expandidos a aquellos que ocupan ms de un bloque.

La lectura de un archivo con registros bloqueados transfiere a memoria varios
registros a la vez, pero para leer un registro expandido ser necesario realizar ms
de un acceso.
Factor de bloqueo = 3
Figura : Esquema lgico de un archivo
CLASIFICACION DE ARCHIVOS SEGN SU USO

Los archivos se clasifican segn la utilizacin que se hace de ellos en tres grupos:
1. ARCHIVOS PERMANENTES

Contienen informacin que varia poco a lo largo del tiempo. Pueden ser de.
Tres clases:
Archivos de Constantes
Su informacin permanece prcticamente inamovible, utilizndose principalmente
como archivos de consulta. Un archivo de este tipo puede ser el de la red del
metro de una ciudad, que contiene la descripcin, caractersticas, nmero de
estaciones, nmero de trenes, etc., de cada lnea.
Archivos Maestros
Tambin denominados Archivos de Situacin, contienen la informacin que refleja
el estado o situacin de una empresa, entidad o algn aspecto de ella en un
determinado momento. Estos archivos se actualizan peridicamente para
adaptarlos a cada nueva situacin. Un ejemplo es el archivo de personal con
contrato temporal en una empresa, o tambin el archivo de existencias en
almacn.
Archivos Histricos
Se obtienen de los anteriores cuando se dejan fuera de uso para futuros estudios
estadsticos o consultas. Ser un archivo histrico el que contiene la
informacin de libros adquiridos por una biblioteca en la dcada de los ochenta.
2. ARCHIVO DE MOVIMIENTOS

En ellos se almacena la informacin que se utilizar para actualizar los
archivos maestros. Sus registros, denominados movimientos o transacciones,
son de tres clases: altas, bajas y modificaciones.
Una vez realizado el proceso de actualizacin de un archivo maestro por
medio de un archivo de movimientos, ste pierde su validez y podemos
deshacernos de l.
Un archivo de este tipo para actualizar el antes mencionado de personal
contratado, es el que refleja las nuevas contrataciones, finalizaciones de
contratos y modificaciones de los mismos producidas en la empresa durante el
mes actual.

3. ARCHIVO DE TRABAJO

Tienen una vida limitada, normalmente igual a la duracin de la ejecucin de
un programa y se utilizan como auxiliares de los anteriores (se llaman tambin
archivos de maniobra).
Por ejemplo, si se desea una lista alfabtica de los nombres del personal
contratado, se har por medio de un archivo de trabajo en el que se almacene
esta informacin a partir del archivo de personal. Este archivo desaparecer
una vez se tenga la lista impresa.
ORGANIZACIN DE ARCHIVOS

Al disear un archivo, dependiendo del uso que se va a hacer del mismo y del
soporte utilizado, se pueden elegir diferentes maneras de organizar sus
registros, siendo las principales organizaciones las siguientes:
Secuencial
Directa o aleatoria
Indexada
Archivos de texto
Archivos binarios

ORGANIZACIN SECUENCIAL

Es aqulla en la cual los registros ocupan posiciones consecutivas de
almacenamiento, y solo se puede acceder a ellos de uno en uno a partir del
primero
En un archivo secuencial no se pueden hacer operaciones de escritura cuando
se est leyendo, ni operaciones de lectura cuando se est escribiendo.
Por otro lado, para actualizados es preciso crear nuevos archivos donde se
copien registros que vayan a permanecer, modificados o no, junto con los
nuevos.
ACCESO SECUENCIAL
Registro 1 Registro 2 Registro 3 Registro 4 Registro 5
Esquema lgico de un archivo secuencial
Organizacin Directa o Aleatoria

En un archivo con esta organizacin, tambin denominada relativa las
informaciones se colocan y se acceden aleatoriamente mediante su posicin, es
decir, indicando el lugar relativo que ocupan dentro del conjunto de posiciones
posibles.
En esta organizacin se pueden leer y escribir registros, en cualquier orden y
en cualquier lugar.
Presenta el inconveniente de que es tarea del programador establecer la
relacin entre la posicin que ocupa un registro y su contenido, adems puede
desaprovecharse parte del espacio destinado al archivo, ya que pueden quedar
huecos libres entre unos registros y otros.
Su principal ventaja es la rapidez de acceso a un registro cualquiera, ya que
para ello no es preciso pasar por los anteriores
Registro 2 Registro 3 Registro 1 Registro 4 Registro 8 Registro
Acceso directo
Posiciones 01 02 03 01 04 05 06 07



Esquema lgico de un archivo directo.

ORGANIZACIN SECUENCIAL INDEXADA
Un archivo con esta organizacin consta de tres reas:

rea de ndices
rea de datos o primaria
rea de excedentes (Overflow)
El rea de datos o primaria
Contiene los registros de datos, clasificados en orden ascendente por su
campo de clave.

El rea de ndices
Es un archivo secuencial creado por el sistema, en el que cada registro
establece una divisin (segmento) en el rea de datos o primaria, y contiene
la direccin de comienzo del segmento y la clave ms alta del mismo. De
esta manera, el sistema accede de forma directa a un segmento del rea
primaria a partir del rea de ndices, de forma similar a la bsqueda de un
capitulo de un libro a partir de su ndice.

El rea de excedentes
Es un espacio reservado para aadir nuevos registros que no pueden ser
colocados en el rea primaria cuando se produce una actualizacin del
archivo.









Esta organizacin presenta la ventaja de un rpido acceso por medio de la
clave del registro, y adems el sistema se encarga de relacionar la posicin
de cada registro con su contenido por medio del rea d ndices. Tambin
es trabajo del sistema, la gestin de las reas de ndices y de excedentes.
Los inconvenientes que presenta son la necesidad de espacio adicional para
el rea de ndices y el desaprovechamiento de espacio que resulta de
quedar huecos intermedios libres despus de sucesivas actualizaciones.


Mtodos de Acceso
Se denomina mtodo de acceso a la forma en que el dispositivo que maneja el
soporte de informacin que contiene un archivo se posiciona en un determinado lugar
del mismo para realizar una operacin de lectura o escritura de un registro.
El modo de acceso lo decide el programador de la aplicacin en funcin del soporte
utilizado y del tipo de organizacin del archivo.

Hay 2 mtodos bsicos:
Secuencial
Directo.
El acceso secuencial a un registro supone acceder inicialmente al primer registro del
archivo y despus, consecutivamente, a todos los sucesivos hasta llegar al registro
deseado. Este modo de acceso se puede utilizar con cualquier soporte y
organizacin.

El acceso directo solamente se puede realizar en los denominados soportes
direccionables, como los discos magnticos, y consiste en el posicionamiento sobre
cualquier registro sin necesidad de haber accedido antes a los anteriores.
En los archivos de organizacin directa, este acceso se consigue proporcionando al
dispositivo la posicin del registro que se desea acceder. En ocasiones es
conveniente programar una funcin de aleatorizacin o hashing, la cual permita
calcular la posicin de cualquier registro a partir del valor de su clave.


La gestin de archivos se ha demostrado insuficiente para
cubrir las necesidades de almacenamiento y proceso de
datos en la actualidad.
Los sistemas de informacin de las empresas son cada
vez ms grandes y complejos, y su gestin mediante el
uso de archivos presenta algunos inconvenientes, como el
hecho de que los datos estn repartidos por distintos
departamentos de la empresa, lo que supone tener que
desplazarse o solicitarlos cada vez que se necesitan en un
lugar diferente de donde se generan.
Adems pueden estar repetidos varias veces, con el
inconveniente de que su actualizacin dar lugar a
inconsistencias si no se realiza simultneamente en todos
los lugares en que se ubican.
Bases de Datos.
Las aplicaciones que se creen debern tener en cuenta
las distintas estructuraciones de los datos, y los cambios
que se realicen tanto en hardware como en software
presentarn numerosas complicaciones.
Otro problema derivado de la dispersin de los datos
radica en la dificultad para establecer sistemas de control y
seguridad en los mismos.
Los sistemas de bases de datos pretenden dar solucin a
los problemas expuestos mediante la integracin de los
archivos de datos, de su estructura y de la aplicacin que
los maneja.


Principales caractersticas son:

Control centralizado de los datos.
Integridad de los datos.
Minimizacin de las redundancias.
Independencia de los datos y las aplicaciones.
Acceso concurrente a los datos.
Costo mnimo de almacenamiento y mantenimiento.
Versatilidad para la representacin de relaciones.
Establecimiento de medidas de seguridad.
Facilidad para el cambio (hardware y software).
Podemos definir una base de datos como un conjunto
integrado de datos interrelacionados, junto con una
serie de aplicaciones para su manejo, accesibles
simultneamente por diferentes usuarios y programas.

Definicin de Bases de Datos.
Modelos de Bases de Datos

El modelo de base de datos hace referencia a la
estructura que se utiliza para expresar las relaciones
existentes entre las diferentes unidades de datos que la
constituyen. De entre las varias posibilidades tiles para
ello, son tres los modelos que se han afianzado y estn
actualmente en uso:

Modelo jerrquico.
Modelo en red.
Modelo relacional.
Empleado
Estudios Experiencia Familia Logros
Modelo Jerrquico

Utiliza la estructura de rbol para establecer relaciones
del tipo 1 : n (uno a muchos). Una base de datos de este
tipo consistir en uno o varios rboles que expresarn
las distintas agrupaciones entre los datos. Cada rbol
tiene un nodo distinguido denominado raz y, a partir de
l, se establecen relaciones de sucesin,
denominndose nodos hijos a los descendientes de otro.
Mientras que un nodo padre slo puede tener una
ocurrencia, los nodos hijos pueden tener varias.

Estudios
Empleado
Logros Familia
Experiencia
Modelo de Red

Utiliza la estructura de red o grafo, que permite definir
entre todos los nodos relaciones n : n (muchos a muchos).
Mediante el establecimiento de apuntadores entre nodos
se puede relacionar cualquier unidad de datos con
cualquiera de las otras.

Modelo Relacional

Se basa en el Algebra Relacional. Las relaciones entre las
unidades de datos o entidades se expresan mediante tablas
de dos dimensiones. Una base de datos de este tipo estar
formada por varias de estas tablas en las que una fila (tupla)
contiene una ocurrencia de valores interrelacionados y una
columna contiene los diferentes valores posibles de cada
entidad .

AUTOCAR CONDUCTOR CIUDAD PASAJERO AGENCIA
105 JULIN PREZ LA PAZ ELAS PEINADO TOURISA
105 JULIN PREZ COCHABAMBA ANA MARTORELL PRISA
105 PEDRO ROSALES SANTA CRUZ MARTA SNCHEZ TOURISA
107 JULIN PREZ SUCRE JULIO CARRANZA TOURIZA

Seguridad y Control de Datos

La informacin almacenada en un archivo o base de datos puede llegar a
tener una gran importancia y su prdida o destruccin podra suponer un
desastre para sus propietarios.
Por ello, ser preciso establecer determinadas medidas de seguridad y
control que minimicen o anulen ese riesgo.
Asimismo, habr que determinar otras protecciones que garanticen la
privacidad y confidencialidad de los datos, con el fin de que stos no
puedan ser utilizados para otros propsitos diferentes de los usos
correctos para los que se crearon.

Distinguiremos dos aspectos diferentes con respecto a la proteccin que
se puede establecer sobre los datos:

Seguridad contra fallos del sistema o del soporte. Integridad
Seguridad contra usos incorrectos o no autorizados. Confidencialidad

Seguridad Contra Fallos del Sistema o del Soporte

Es preciso proteger no slo los datos, sino tambin las
operaciones de actualizacin que se realizan con ellos, de
tal manera que si en un momento dado se produce una
cada del sistema o la rotura del soporte, se pueda
recuperar la informacin segn estaba antes del fallo.
Para ello se emplean las siguientes tcnicas:
Realizacin de copias de seguridad (back-up)
peridicamente, por ejemplo, una vez por semana,
guardando estas copias en un lugar seguro hasta que
dejen de tener validez al realizar nuevas copias.
Registro de operaciones que se realicen con los datos,
recopilando estos registros peridicamente, por ejemplo,
una vez por da.

Establecimiento de procedimientos de recuperacin
capaces de reconstruir la informacin en su estado
anterior a producirse el fallo, por medio de la copia de
seguridad y de los registros de operaciones.
La informacin de archivos o bases de datos creados
en un volumen es distribuida de modo automtico en
reas especiales de los dems volmenes para su
recuperacin automtica en caso de dao del volumen
fsico
De esta forma, cuando se produzca un fallo o avera,
una vez subsanada y realizado el procedimiento de
recuperacin, se tendr la informacin segn estaba
cuando se efectu el ltimo registro de operaciones y
slo ser preciso repetir las operaciones que se hicieron
sobre el archivo o base de datos desde ese momento
hasta el fallo.
Seguridad Contra Usos Incorrectos o no
Autorizados
Una de las principales caractersticas de los archivos y
de las bases de datos es la posibilidad de acceso a sus
datos por parte de diferentes programas y usuarios. Esta
caracterstica implica la posibilidad de que los datos
puedan ser daados por error o que puedan ser
utilizados ilegtimamente por usuarios no autorizados.
Para evitarlo, habr que establecer medidas de
seguridad al efecto.
Fsicamente el acceso a un archivo se protege por medio
de etiquetas, cuyas claves estn controladas por el
sistema operativo. En algunos casos se puede aumentar
an ms esta proteccin por medio del criptografiado de
los datos almacenados, consistente en el encubrimiento
de la informacin por algn mtodo de cifrado.
La proteccin queda establecida mediante diferentes
niveles de acceso a los archivos relativos a las
operaciones permitidas o prohibidas: lectura, escritura y
borrado de registros.
A cada usuario se le asigna un nivel de acceso, que es
aceptado por el sistema operativo tras el reconocimiento
de su clave de usuario (password) y que le restringe el
acceso a determinados archivos y a determinadas
operaciones sobre ellos. Es conveniente que la clave de
usuario se cambie con frecuencia para reforzar la
seguridad.
Es imposible lograr seguridad en un 100 %, sin embargo
toda medida de seguridad implantada disminuye el riesgo
contra uso no autorizado o destruccin. Habr que buscar
un sano equilibrio entre el costo de implantar medidas de
seguridad y el nivel de seguridad alcanzado de modo que
corresponda a las polticas de cada institucin.
NOCIONES DE LOGICA
Todo desarrollo de un problema exige razonar en forma
vlida acerca de cosas trascendentes y particularmente
abstractas. Hay que comenzar por eliminar las
ambigedades del lenguaje ordinario, introduciendo
smbolos y conectivos cuyo uso adecuado descarte las
contingencias , aporte claridad y economa de
pensamiento.
PROPOSICIONES
DEFINICION

Proposicin es toda oracin respecto de la cual
puede decirse si es verdadera o falsa


NOTACIONES Y CONECTIVOS
CONECTIVO OPERACIN ASOCIADA SIGNIFICADO
~
Negacin No P o no es cierto que P
^
Conjuncin o producto lgico p y q
V Disyuncin o suma lgica p o q (sentido incluyente)
=>
Implicacin Si p entonces q

Doble implicacin p si y solo si q
Diferencia simtrica p o q (sentido excluyente)
OPERACIONES PROPOSICIONALES
Negacin

Definicin
Negacin de la proposicin p es la proposicin ~ p
(no p), cuya tabal de verdad es :

p ~ p
V F
F V
Conjuncin

Definicin
Conjuncin de las proposiciones p y q es la
proposicin p q (p y q), cuya tabla de valores de
verdad es:
p q p q
V V V
V F F
F V F
F F F
Disyuncin

Definicin
Disyuncin de las proposiciones p y q es la
proposicin p V q (p o q), cuya tabla de valores de
verdad es:
p q p v q
V V V
V F V
F V V
F F F
Implicacin o condicional

Definicin
Implicacin de las proposiciones p y q es la
proposicin p => q (si p entonces q), cuya tabla de
valores de verdad es:
p q p => q
V V V
V F F
F V V
F F V
Doble implicacin o bicondicional

Definicin
Doble implicacin de las proposiciones p y q es la
proposicin p <=> q (p si y solo si q), cuya tabla de
valores de verdad es:
p q p <=> q
V V V
V F F
F V F
F F V
Diferencia simtrica

Definicin
Diferencia simtrica o disyuncin excluyente de las
proposiciones p y q es la proposicin p q (p o q,
en sentido excluyente), cuya tabla de valores de
verdad es:
p q P q
V V F
V F V
F V V
F F F
Ejemplo

~ (p v q)
~ p v ~q L. M.
p q ~ (p v q)
V V V
V F V
F V V
F F V
~ p v ~q
Es tautologa

También podría gustarte