You are on page 1of 68

**FUNDAMENTOS DE LA COMPUTACIN**

INSTITUTO POLITECNICO NACIONAL


.::THE BOOPS::.
1CM1
El software proporciona las instrucciones que hacen
funcionar el hardware de la computadora; sin este la
computadora no puede funcionar.
Un programa de cmputo es un conjunto de
instrucciones o declaraciones (tambin conocidas como
cdigo) que debe de utilizar el CPU de una
computadora. Los programas, o software, tienen
distintas formas. stas se pueden dividir en tres
categoras principales: sistemas operativos, herramientas
y aplicaciones.

Cuando inicia un programa, la computadora comienza
a leer y llevar a acabo declaraciones en el punto de
entrada del principal archivo ejecutado. Normalmente
este punto de entrada es la primera lnea (o
declaracin) del archivo, aunque puede estar ubicado
en otro lugar.


Despus de la ejecucin de la primera declaracin, el
programa pasa al control (o flujo) a otra declaracin y
as en adelante hasta que se ejecuta la ltima
declaracin del programa; entonces el programa
termina. El orden en el cual se ejecutan las declaraciones
de un programa se conoce como control de flujo del
programa.
Son aquellas que tienen operaciones lgicas
La solucin a cualquier problema de cmputo
involucra la ejecucin de una serie de acciones en
un orden especfico. Al procedimiento para
resolver un problema en trmino de:
Acciones a ejecutar.
El orden en el cual se llevan a cabo dichas
acciones.

Se llama Algoritmo. Es un diseo de una serie
de pasos a seguir y procesos lgicos encaminados a
resolver un problemas.
CARACTERISTICAS:
Lgica
Secuencia
Detallada
ACCIONES
Pedir datos
Desplegar datos
Evaluar condiciones
Ejecutar operaciones

PSEUDOCODIGO

El pseudocdigo en un lenguaje artificial e informal que
ayuda a los programadores a desarrollar algoritmos. El
pseudocdigo es similar al ingles; es conveniente y sencillo,
aunque no es un lenguaje de programacin real.
consiste en caracteres, de manera que los programadores
pueden introducir los programas en pseudocdigo a la
computadora mediante un programa de edicin.

El trmino lgico se aplica a los circuitos digitales que se
utilizan para implementar funciones lgicas. Existen varios
tipos de circuitos lgicos que son los elementos bsicos que
constituyen los bloques sobre los que se construyen los
sistemas digitales ms complejos como por ejemplo una
computadora
COMPUERTAS O PUERTAS LGICAS

Los smbolos lgicos que se usan para representar las puertas
lgicas estn de acuerdo con el estndar ANSI/IEEE 91-1984.
Hacia 1859 el matemtico y lgico irlands George Boole
desarrollo un sistema matemtico para formular proposiciones
lgicas con smbolos, de manera que los problemas puedan
formularse y resolverse de forma similar a como se hace en el
algebra ordinaria.
.


Las lneas conectadas a cada smbolo son las entradas y
las salidas. Las entradas son las lneas situadas a la
izquierda de cada smbolo y la salida es la lnea
derecha. Un circuito que realiza una operacin lgica
determina (NOT, AND, OR) se denomina puerta lgica. Las
puertas AND y OR pueden tener cualquier nmero de
entradas
En las operaciones lgicas, las condiciones mencionadas
anteriormente de: Verdadero (ALTO) /falso (BAJO). Cada
una de las tres operaciones bsicas da lugar a una
respuesta para un determinado conjunto de condiciones.

INICIO
NUEVA
COTIZACIONES
NUEVO
EDITAR
BUSCAR
IMPRIMIR
OPCION
NUEVO
BUSCAR EDITAR IMPRIMIR
La representacin del sistemas de control por diagramas
lgicos se basa en el empleo de smbolos normalizados
(puertas) que representan funciones lgicas directas del
algebra de Boole (AND, OR, etc.) o sistemas lgicos ms
complejos (biestables, registros, contadores etc.).
El conjunto de todos los smbolos con sus interrelaciones
forman el logigrama del sistema de control,
representacin compacta e independiente de la
tecnologa de construccin del mismo (elctrica,
neumtica, etc.).

Desgraciadamente el logigrama es una herramienta
caracterstica del tcnico del software o del ingeniero de
diseo, muy alejado de muchos usuarios finales del
autmata, por lo que su empleo queda en la prctica
casi circunscrito en la representacin del sistema en alto
nivel, efectos de especificaciones y documentacin.

Figura 19.
Representacin de un
circuito Lgico

Es una representacin grafica de un algoritmo o de una
porcin de un algoritmo. Los diagramas de flujo se
dibujan mediante smbolos de propsito especial tales
como rectngulos, rombos, valos y pequeos crculos;
estos smbolos se conectan mediante flechas llamadas
lneas de flujo.
INICIO
NUEVA
COTIZACIONES
NUEVO
EDITAR
BUSCAR
IMPRIMIR
OPCION
NUEVO
BUSCAR EDITAR IMPRIMIR
Consiste en una representacin grfica sobre dos ejes; en el
vertical se disponen las tareas del proyecto y en el
horizontal se representa el tiempo.
Los cronogramas de barras o grficos de Gantt fueron
concebidos por el ingeniero norteamericano Henry L.
Gantt, uno de los precursores de la ingeniera industrial
contempornea de Taylor.
Id. Nombre de tarea Comienzo Fin Duracin
feb 2009
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
1 1d 05/02/2009 05/02/2009 Eleccin del tema
2 4d 09/02/2009 06/02/2009 Bsqueda de informacin
3 3d 13/02/2009 11/02/2009 Anlisis y depuracin
4 3d 15/02/2009 13/02/2009 diseo
5 5d 21/02/2009 17/02/2009 desarrollo
6 1d 20/02/2009 20/02/2009 pruebas
7 1d 22/02/2009 22/02/2009 instalacion
8 18d 22/02/2009 05/02/2009 manteniminto
Este grfico consiste simplemente en un sistema de
coordenadas en que se indica:

En el eje Horizontal: un calendario, o escala de
tiempo definido en trminos de la unidad ms
adecuada al trabajo que se va a ejecutar: hora, da,
semana, mes, etc.

En el eje Vertical: Las actividades que constituyen el
trabajo a ejecutar. A cada actividad se hace
corresponder una lnea horizontal cuya longitud es
proporcional a su duracin en la cual la medicin
efecta con relacin a la escala definida en el eje
horizontal conforme se ilustra.



Smbolos Convencionales: En la elaboracin del
grfico de Gantt se acostumbra utilizar
determinados smbolos, aunque pueden disearse
muchos otros para atender las necesidades
especficas del usuario. Los smbolos bsicos son los
siguientes:

Iniciacin de una actividad.

Trmino de una actividad
Lnea fina que conecta las dos L invertidas. Indica la duracin
prevista de la actividad.

Lnea gruesa. Indica la fraccin ya realizada de la actividad, en
trminos de porcentaje. Debe trazarse debajo de la lnea fina que
representa el plazo previsto.

Plazo durante el cual no puede realizarse la actividad.
Corresponde al tiempo improductivo puede anotarse encima del
smbolo utilizando una abreviatura.

Indica la fecha en que se procedi a la ltima actualizacin del
grfico, es decir, en que se hizo la comparacin entre las
actividades previstas y las efectivamente realizadas.


Es una representacin grfica de las relaciones entre las
tareas del proyecto que permite calcular los tiempos del
proyecto de forma sencilla.
Puede organizar tareas, establecer marcos de tiempo e
ilustrar dependencias al inicio de un proyecto con los
diagramas de Tcnica de programacin, evaluacin y
revisin
En un diagrama
PERT, cada
rectngulo o nodo
representa una
tarea, y las
conexiones entre
tareas,
dependencias.

Una figura til que puede ser usada para visualizar las
relaciones entre las variables del algebra de Boole es el
diagrama de Venn
En el cual se dibujan crculos traslapados para cada una
de las variables.


Cada crculo es designado por una variable. Se asignan
todos los puntos dentro de cada circulo es designado por
una variable. Se asignan todos los puntos de cada crculo
como pertenecientes a dichas variables y todos los
puntos por fuera del crculo como no pertenecientes a la
variable.

Una vez que se ha recabado, integrado y analizado la
informacin materia del estudio, se proceder a la
graficacin de los procedimientos. La representacin de
los procedimientos sujetos a estudio, puede ser ms o
menos compleja, segn sea la tcnica de diagramacin y
el objeto o mbito de aplicacin de los mismos

DIAGRAMA DE PROCEDIMIENTO INSCRIPCIONES
BANCO
CONTROL
ESCOLAR
ALUMNO
COPIAS BAUCHERS
COMPROBANTE DE
REINSCRIPCION
RECURSOS
FINANCIEROS
COPIAS SELLADAS
BAUCHERS
FORMATO
CALENDARIO
Publica calendario
y datos
INICIO
Solicita formatos a
Control escolar
Recibe pago del
alumno
Recibe originales
y copias de los
bauchers y los
sella
Dar de alta en el
sigue
Imprimir el
comprobante de
reinscripcion
Entregar Toda la
documentacin
G
U
A
R
D
A
R

A
R
C
H
IV
A
R

D
O
C
U
M
E
N
T
A
C
IO
N
FIN
RODRIGUEZ CHULIM LESLI
6IMC
COMPROBANTE DE
REINSCRIPCION
La complejidad de las compuertas lgicas digitales con
que se llevan a cabo las funciones de Boole se relacionan
directamente con la complejidad de la expresin
algebraica de la cual se desprenden la funcin. Aunque
la representacin de la tabla de verdad de una funcin
nica, puede aparecer de muchas formas diferentes. Las
funciones de Boole pueden ser simplificadas por medios
algebraicos

Un mapa de Karnaugh proporciona un mtodo
sistemtico de simplificacin de expresiones booleanas y,
si se aplica adecuadamente, genera las expresiones
suma de productos y producto de sumas simples
posibles, conocidas como expresiones mnimas.

Los diagramas de lluvia de ideas constituyen un mtodo
eficaz para generar ideas y resolver problemas de forma
creativa. Pueden ayudarle a desarrollar cualquier
sistema de informacin o ideas, como nuevas estrategias
empresariales, esquemas de libros, rdenes del da para
reuniones o planes de viajes.

Para que un computador (hardware) funcione es
necesario utilizar programas (software), los cuales le
indican cul es la tarea que se tiene que hacer. Un
lenguaje de programacin es el que se utiliza para
escribir dichos programas. Posteriormente estos se
introducirn en la memoria del computador y ste
ltimo ejecutar todas las operaciones que se incluyen.

La principal funcin de un lenguaje de programacin es
proporcionar instrucciones al sistema de la computadora
para que pueda realizar una actividad de
procesamiento.
La programacin incluye la traduccin de lo que quiere
lograr un usuario a un cdigo que pueda comprender y
ejecutar la computadora.


Se puede decir que los lenguajes de programacin
pueden ser de tres clases:
Lenguaje de alto nivel
Lenguaje tipo maquina
Lenguaje de bajo nivel

Se define como un conjunto de instrucciones en secuencia
que, aplicado a un conjunto de datos, y ejecutado por
un ordenador, permite resolver un problema.
Los elementos a tratar por el ordenador son los datos,
que sern introducidos desde un medio externo hasta la
memoria interna del ordenador, donde se alamacenan
para su posterior proceso por parte del programa. Como
consecuencia de ello se obtienen resultados.

Planteamiento del problema.
Analisis del problema.
Diseo y codificacin del algoritmo.

El lenguaje maquina es el lenguaje de
primera generacin . Es un lenguajes
natural de una computador en
particular y esta definido por el diseo
de hardware de dicha computadora.
Por lo general los lenguajes maquinas consisten en
cadenas de nmeros [que finalmente se reducen a
unos (1) y ceros (0) que instruyen a las computadoras
para realizar sus operaciones mas elementales una
por una.
Este era una serie de 1 (unos) y 0 (ceros) que la CPU
poda interpretar y ejecutar . el lenguaje maquina es
importante por quien es el nico lenguaje que la
computadora entiende.
El programa se escribe en lenguaje escogido por el
programador y se traduce a lenguaje maquina antes
de ejecutarse. El programa escrito por el programador
se denomina programa fuente y la versin en lenguaje
maquina se denomina programa objeto .
Una computadora digital o, mejor dicho, su parte fsica,
slo distingue datos de tipo binario, es decir, constituidos
por dos nicos valores a los que se denomina valor 0 y
valor 1 y que, fsicamente, se materializan con tensiones
comprendidas entre 0 y 4.0 voltios y entre 4 y 5 voltios,
respectivamente.
El lenguaje mquina fue el primero que empleo el
hombre para la programacin de las primeras
computadoras. Una instruccin en lenguaje mquina
puede representarse de la siguiente forma:
011011001010010011110110.
Este lenguaje es muy complicado y la posibilidad de
cometer errores es muy alta
El lenguaje maquina se considera un lenguaje de nivel
bajo ya que solo maneja un lenguaje binario poues no
existe un programa de codificacin menos complicado.
Para solventar estas dificultades aparecio el lenguaje
ensamblador, que consiste en asignar una abreviatura a
cada instruccin en binario, de forma que sea ms fcil
recordarla y ms difcil equivocarse.
Par que un lenguaje de programacin sea til debe de
tener un traductor es decir un programa, que acepta a
otros programas escritos en el lenguaje en cuestin y que,
los ejecuta directamente, o los transforma en una forma
adecuada para su ejecucin. Un traductor que ejecuta
un programa directamente se conoce como interprete y
un traductor que produce un programa equivalente a
una forma adecuada para su ejecucin se conoce como
compilador.

El traductor es un programa que recibe una entrada
escrita en un lenguaje (el lenguaje fuente) a una salida
perteneciente a otro lenguaje (el lenguaje objeto).
Un intrprete, no lleva a cabo tal transformacin, en su
lugar obtiene los resultados conforme se van analizando
las entradas. Los traductores son clasificados en
compiladores, ensambladores y preprocesadotes.

Intrprete
Cdigo
Fuente
Salida Entrada
Es cualquier programa que toma como entrada un texto
escrito en un lenguaje, llamado fuente y da como salida
otro texto en un lenguaje denominado objeto. Este
programa objetivo puede ser entonces ejecutado, si esta
en forma adecuada para la ejecucin directa (es decir,
en lenguaje de maquina).
El proceso de compilacin puede ejecutarse de la
siguiente forma:


Es el programa encargado de llevar a cabo un proceso
denominado de ensamble o ensamblado, este proceso
consiste en que a partir de un lenguaje mquina, este
sea utilizado en lenguaje ensamblador:

Ventajas de compilador frente a un intrprete
Se compila una vez, se ejecuta nveces
En bucles, la compilacin genera cdigo equivalente al
bucle pero un interpretndolo se traduce tantas veces
una lnea como veces se repite el bucle
El compilador tiene una visin global del programa, por
lo que la informacin de mensajes de errores es ms
detallada.
Ventajas de un intrprete frente a compilador
Un intrprete necesita menos memoria que un
compilador
Permite una mayor interactividad con el cdigo en
tiempo de desarrollo.

DATO: Informacin que procesan
las sentencias de un programa,
todos los datos que maneje
nuestro programa deben
especificarse explcitamente
indicando la clase de informacin
que va almacenar.

A la especificacin de los atributos de un dato en
un programa, siguiendo la sintaxis concreta de un
lenguaje, se le denomina declaracin.

NOMBRE: Es una etiqueta formada por caracteres
alfanumricos que identifica un dato.

ESPACIO DE MEMORIA: Es el lugar que se le asigna en
la memoria RAM para contener al valor de la variable
en el momento de la declaracin.

VALOR: El valor de un dato suele asignarse en la
declaracin del mismo. A este acto se le llama
Inicializacin del dato.
AMBITO: Es la regin del cdigo de un programa sobre
la cual un dato est definido.

DIRECCIN: Todo dato de tipo simple tiene una
direccin que es la direccin del primer byte que forma
la celda de memoria preparada para contener el valor
del dato.

PERSISTENCIA :Es el tiempo que una variable est
presente en la memoria respecto del tiempo de ejecucin
del programa.

TIPOS DE DATOS.

El tipo de un dato es el conjunto de valores que
puede tomar durante el programa.
Existen gran variedad y cantidad de tipos de datos.
A continuacin se tiene una de las posibles
clasificaciones:
Dinmicos
Estticos
El tipo cadena
Estructurados
Simples
Ordinales

Tipos estticos.- Quiere decir que el tamao que
ocupa en memoria no puede variar durante la ejecucin
del programa. Es decir, una vez declarada una variable
de un tipo determinado, a sta se le asigna un trozo de
memoria fijo, y este trozo no se podr aumentar ni
disminuir.
Tipos Dinmicos.-Este tipo te permite tener un mayor
control sobre la gestin de memoria en tus programas.
Con ellos puedes manejar el tamao de tus variables en
tiempo de ejecucin

La programacin estructurada es una teora de
programacin que consiste en construir programas de
fcil comprensin.
Es especialmente til, cuando se necesitan realizar
correcciones o modificaciones despus de haber
concluido un programa o aplicacin, es mucho ms
sencillo entender la codificacin del programa, que se
habr hecho en diferentes secciones.


Se basa en una metodloga de desarrollo de programas
llamada refinamiento sucesivo: Se plantea una
operacin como un todo y se divide en segmentos ms
sencillos o de menor complejidad. Una vez terminado
todos los segmentos del programa, se procede a unificar
las aplicaciones realizadas por el pool de programadores.
Si se ha utilizado adecuadamente la programacin
estructurada, esta integracin debe ser sencilla y no
presentar problemas al integrar la misma, y de presentar
algn problema, ser rpidamente detectable para su
correccin.

La programacin estructurada propone segregar los
procesos en estructuras lo ms simple posibles, las cuales
se conocen como secuencia, seleccin e interaccin. Ellas
estn disponibles en todos los lenguajes modernos de
programacin imperativa en forma de sentencias.
Combinando esquemas sencillos se pueden llegar a
construir sistemas amplios y complejos pero de fcil
entendimiento.

Algunas teoras de la programacin se centran en las
tcnicas de programacin modular y programacin
estructurada. El diseo de un programa entraa la
descomposicin del problema en mdulos o partes
independientes programacin modular , la
programacin de cada mdulo mediante mtodos
estructurados programacin estructurada y su unin
posterior.

En la programacin modular un programa se divide en
mdulos, cada uno de los cuales ejecuta una nica
actividad o tarea, y se codifican independientemente de
otros mdulos. Cada uno de estos mdulos se analiza,
codifican y "optimizan" por separado. Cada programa
contiene un mdulo llamado programa principal
(mdulo controlador) que controla todo lo que sucede.
Se ha demostrado que un programa propio puede ser
escrito utilizando solamente tres tipos de estructuras de
control: secuenciales, selectivas y repetitivas. Un
programa es propio si posee un slo punto de entrada y
uno de salida, si existen caminos desde el inicio hasta el
fin que se pueden seguir y que pasan por todas las
partes del programa, y si todas las instrucciones son
ejecutables sin que hayan bucles infinitos.



Estructura secuencial.
Es aquella en que una accin sigue a otra en secuencia.
Las tareas se suceden de tal modo que la salida de una es
la entrada de la siguiente.
Estructura selectiva.
Se utilizan para tomar decisiones lgicas. En stas se
evala una condicin y en funcin del resultado de la
misma se realiza una opcin u otra. Las condiciones se
especifican usando expresiones lgicas. En pseudocdigo
estas palabras son ir, ten, ese. Las estructuras selectivas
pueden ser: simples, dobles o mltiples.

Selectivas simples.
Ejecuta una determinada accin cuando se cumple una
determinada condicin. La seleccin if then (si
entonces) evala la condicin y si es verdadera ejecuta
la accin de lo contrario no har nada.
Selectiva doble.
Permite elegir entre dos opciones posibles en funcin del
cumplimiento o no de una determinada condicin. Si la
condicin es verdadera, se ejecuta la accin 1, si es falsa,
se ejecuta la accin 2. La selectiva en pseudocdigo es if
then else.

Selectivas mltiples.
La estructura de seleccin mltiple (case en pseudocdigo)
evaluar una expresin que podr tomar n valores
distintos 1, 2, 3, 4, ..n. Segn sea el valor en la condicin,
se realizar una de las n acciones.

Estructuras repetitivas.
Las estructuras que repiten una secuencia de instrucciones un
nmero determinado de veces se llaman bucles, e iteracin al
hecho de repetir la ejecucin de una secuencia de acciones.
Estructura mientras (while).
Es aquella en que el cuerpo del bucle se repite mientras se
cumple una determinada condicin. Cuando se ejecuta esta
instruccin, la primera cosa que sucede es que se evala la
condicin. Si la expresin es verdadera, entonces se ejecuta el
cuerpo del bucle. Este proceso se repite una y otra vez
mientras la condicin sea verdadera.

Estructura repetir hasta (do/while).
Se ejecuta hasta que se cumpla una condicin
determinada que se comprueba al final del bucle, esto
permite que la iteracin se ejecute al menos una vez
antes de que la condicin sea evaluada.
Estructuras desde/para (for).
Se utilizan las estructuras for cuando se conocen con
certeza el nmero de veces que desea repetir un bucle,
es decir, cuando es un nmero fijo de veces.

Estructura de decisin anidadas.
Se tiene una estructura de decisin anidada cuando una
estructura if then else contiene otra dentro de s, y sta a
su vez contiene otra dentro de s. Estas estructuras
contendrn varios si - entonces dentro de otros. Debido a que
este tipo de estructuras pueden ser confusas, se implementa
la identacin para evitar perder el hilo de dnde comienza y
dnde termina cada estructura.
Identacin.
El uso de la identacion es importante debido a que, cuando se
es consistente en su utilizacin, facilita la lectura del
programa al mostrar en una forma grfica las relaciones
existentes entre las distintas instrucciones.
El proceso de resolucin de problemas con computadoras
conduce a la escritura de un programa y su ejecucin en
la misma. Aunque el proceso de disear programas es
esencialmente un proceso creativo, se puede considerar
una serie de fases o pasos comunes que generalmente
deben seguir los programadores. Estas fases son las
siguientes:

You might also like