Está en la página 1de 20

Ing.

Electrnica

Programacin Estructurada
Unidad 1.- Fundamentos de programacin
INTRODUCCIN A LAS COMPUTADORAS

Ing. Jess Ramn Gerardo Moreno


Blanca Margarita Triana Montoya

Control: 13041054

Fecha:
1/Septiembre/2014

CONTENIDO
INTRODUCCIN ...................................................................................................................... 4
MARCO TERICO ................................................................................................................... 4
1- GENERACIONES DE LAS COMPUTADORAS ................................................................... 5
2.- IMPACTO DE LAS COMPUTADORAS EN LA SOCIEDAD ................................................ 5
3- IMPORTANCIA DE LA PROGRAMACIN DE COMPUTADORAS ..................................... 6
4.- CLASIFICACIN DE LOS LENGUAJES DE PROGRAMACIN ........................................ 6
5.- DEFINICIONES ................................................................................................................... 9
LENGUAJE DE PROGRAMACIN ....................................................................................... 9
LENGUAJE DE ALTO NIVEL ................................................................................................ 9
LENGUAJE DE NIVEL MEDIO.............................................................................................. 9
LENGUAJE DE BAJO NIVEL ................................................................................................ 9
LENGUAJE ENSAMBLADOR ............................................................................................... 9
LENGUAJE MAQUINA .......................................................................................................... 9
COMPILADOR ...................................................................................................................... 9
TRADUCTOR ........................................................................................................................ 9
INTERPRETE ........................................................................................................................ 9
ARQUITECTURA DE COMPUTADORA ............................................................................... 9
SISTEMA OPERATIVO ....................................................................................................... 10
INTELIGENCIA ARTIFICIAL ............................................................................................... 10
6.- CONCEPTOS BSICOS DE PROGRAMACIN .............................................................. 10
TECNOLOGA ..................................................................................................................... 10
PROGRAMACIN............................................................................................................... 11
PROGRAMA........................................................................................................................ 11
CARACTERSTICAS DE UN PROGRAMA ......................................................................... 11
DATOS ................................................................................................................................ 12
INFORMACION ................................................................................................................... 12
PROCESAMIENTO DE DATOS .......................................................................................... 12
7- TIPOS DE PROGRAMACIN: ........................................................................................... 12
PROGRAMACIN ESTRUCTURADA ................................................................................ 12
PROGRAMACIN ORIENTADA A OBJETOS .................................................................... 13
PROGRAMACIN DE DESCRIPCIN DE HARDWARE ................................................... 14
8- ALGORITMOS .................................................................................................................... 15

9- DIAGRAMAS DE FLUJO .................................................................................................... 17


10.- PSEUDOCDIGOS......................................................................................................... 17
OBSERVACIONES Y CONCLUSIONES ................................................................................ 18
BIBLIOGRAFA ....................................................................................................................... 18

INTRODUCCIN

En el presente trabajo de investigacin abordaremos como el ttulo del mismo lo indica,


temas bsicos relacionados con las computadoras, que a su vez se relacionan con la
programacin.
Las caractersticas principales de cada generacin de computadoras, los lenguajes de
programacin, las caractersticas de algunos de ellos, conceptos bsicos, as como
diagramas de flujo, algoritmos, pseudocdigos, entre otros temas, son el contenido del
presente documento.
Incluye tambin algunas definiciones de palabras clave para la mejor comprensin de la
programacin y las computadoras en s.
Cabe mencionar, que no es un manual de programacin, ni nada por el estilo, nicamente
nos centramos en explicar superficialmente cada uno de los temas mencionados.

MARCO TERICO
Al igual que las computadoras han ido evolucionando a lo largo de los aos, as de una
manera similar, los lenguajes y maneras de programar lo han ido haciendo, evolucionando a
tal grado que realizar dicha tarea resulta mucho ms fcil de llevarse a cabo que en sus
comienzos.
Sin embargo la base de la programacin es la misma, lo nico que cambi es la manera en
la que lo hacemos.
En este punto relacionamos esta tarea con el pensamiento lgico que como seres humanos
tenemos, siguiendo ciertas estructuras, y pasos, por decirlo de alguna manera, para resolver
problemas de la vida cotidiana, lo hacemos tan frecuentemente que muchas veces no nos
percatamos de las soluciones que tomamos, ya que la mayora de nuestros procesos
mentales los hacemos de manera automtica.
Ya que requerimos de un proceso para todo, es importante que conozcamos los orgenes,
las bases de la programacin actual

1- GENERACIONES DE LAS COMPUTADORAS

1951-1958

1959-1964

1964-1971

1971-1982

1982- a la fecha
2.- IMPACTO DE LAS COMPUTADORAS EN LA SOCIEDAD
El Uso Racional de la Informtica trae al Hombre una Calidad Superior en su Nivel de Vida al
Facilitar su Labor al dedicar ms su Tiempo a Tareas Cotidianas.
El Rpido Auge de la Computadora ha generado un Fenmeno en Mltiples Facetas
Culturales, Sociales, Comunicativas y Educativas.
La presencia creciente de la Tecnologa Genera Entusiasmo, Aceptacin, Rechazo,
Resistencia y otra gama de reacciones en la Sociedad.
Hoy en da, las Computadoras hacen todo tipo de Grficos, Pagan Dinero, lo Reciben, lo
Transfieren, Dan Saldos, Ensean a Nios y Adultos, Aprenden y en General, se encuentran
en muchas Esferas de la Actividad Humana.
La Computadora es la Herramienta ms poderosa que el Hombre ha tenido jams a su
Alcance para Manejar Informacin de todo tipo.

La Aparicin de las Microcomputadoras ha hecho Rentable la Automatizacin, sea en


Oficinas, Laboratorios, Fbricas, Comercios, Universidades, Supermercados, etc.
Pero, Afectan las Computadoras a las Personas y si es as, en qu forma? Inciden sobre
la Sociedad, sus Costumbres, su Cultura o sus Medios?
La Automatizacin Industrial Afecta Principalmente a aquellos que Trabajan o han Trabajado
donde se han Introducido; pero en las Oficinas nos afectan directamente a todos. Adems,
nos atienden en los Bancos y Corporaciones de Ahorro; Mquinas de Vdeo con Circuitos
Idnticos nos permiten Jugar en Casa o en las Salas de Juegos.
La Enumeracin puede ser extensa, pero la realidad es que las Computadoras estn en
todas partes.
3- IMPORTANCIA DE LA PROGRAMACIN DE COMPUTADORAS
La programacin ha pasado a tener un papel importantsimo en la vida diaria, gracias
a ella podemos programar los ordenadores, electrodomsticos, robots y otras
mquinas. La programacin intenta resolver ciertos problemas que nos surgen todos
los das basndose en una metodologa.
El conjunto de problemas que son resolubles utilizando un computador es
indudablemente, muy extenso. El concepto de algoritmo es fundamental para la
actividad de resolver problemas con computadoras, por lo que necesitamos adquirir
un conocimiento firme sobre lo que es y no es con objeto de llevar a cabo de forma
eficaz la actividad de resolver problemas ya que este es el propsito de escribir
algoritmos.
La principal ventaja de saber programar computadoras no est en el hecho de que se
domine algn lenguaje informtico, sino en las habilidades que se desarrollan al
aprender a usar dichos lenguajes, como por ejemplo, aprender la forma de plantear
un problema, organizar la solucin del problema como una secuencia lgica de pasos
y formular la toma de decisiones; en pocas palabras, se refuerza el pensamiento
lgico.

4.- CLASIFICACIN DE LOS LENGUAJES DE PROGRAMACIN


Los lenguajes de programacin se pueden clasificar de acuerdo con diversos criterios. El
criterio ms simple que se puede considerar hace referencia a la proximidad del lenguaje con
la mquina o con el lenguaje natural. De acuerdo con este criterio, existen tres niveles:

Lenguajes de bajo nivel: Lenguajes mquina.


Lenguajes de nivel medio: Lenguajes ensambladores y macroensambladores.
Lenguajes de alto nivel

Dado que los lenguajes de programacin, en cierto modo, han tenido un desarrollo paralelo a
la evolucin de los ordenadores, se pueden clasificar atendiendo a su desarrollo histrico.
Esta clasificacin distingue cinco generaciones de lenguajes:

Primera generacin: Lenguajes mquina.


Segunda generacin: Ayudas a la programacin, como los ensambladores.
Tercera generacin: Lenguajes de alto nivel imperativos, que siguen vigentes en la
actualidad, como Pascal, Modula 2, Fortran, Cobol, C y Ada.
Cuarta generacin: Lenguajes o entornos de programacin orientados bsicamente a
aplicaciones de gestin y bases de datos, como SQL, Natural, etc.
Quinta generacin: Lenguajes orientados a aplicaciones en Inteligencia Artificial, como
Lisp y Prolog.

Clasificaciones de los lenguajes de alto nivel


De forma muy general, los lenguajes de alto nivel se pueden dividir en lenguajes de propsito
general, que pueden ser empleados en cualquier tipo de aplicacin y lenguajes de propsito
especial.
Desde el punto de vista del campo de aplicacin al que pertenece el lenguaje podemos
considerar la siguiente clasificacin:
Aplicaciones cientficas: En las que predominan las operaciones numricas o matriciales
propias de algoritmos matemticos. Lenguajes adecuados para estas aplicaciones son
Fortran y Pascal.
Aplicaciones de procesamiento de datos: Donde son frecuentes las operaciones de
creacin, mantenimiento y consulta sobre ficheros y bases de datos. Dentro de este campo
estaran aplicaciones de gestin empresarial, como programas de nminas, contabilidad,
facturacin, control de inventario, etc. Lenguajes aptos para este tipo de aplicaciones son
Cobol y SQL.
Aplicaciones de tratamiento de textos: Asociadas al manejo de textos en lenguaje natural.
Lenguajes adecuados para ello son el Snobol y el C.
Aplicaciones en inteligencia artificial: Realizacin de programas que emulan el
comportamiento inteligente: algoritmos de juegos, programas de comprensin del lenguaje
natural, visin artificial, robtica y sistemas expertos. Los lenguajes que se suelen utilizar en
estos casos son el Lisp y el Prolog.
Aplicaciones de programacin de sistemas: Programacin de mdulos de sistemas
operativos, compiladores, ensambladores, intrpretes y, en general, aquellos de interfaz
entre el hardware y los usuarios. Tradicionalmente se utilizaba el lenguaje ensamblador, pero
en la actualidad se muestran muy adecuados los lenguajes Ada, C y Modula 2.

Otra forma de clasificar los lenguajes de alto nivel tiene en cuenta el estilo de programacin
que fomentan, es decir, la filosofa de construccin de programas:
Lenguajes imperativos o procedurales. Estos lenguajes se fundamentan en el uso de
variables para almacenar valores y el uso de instrucciones que indican las operaciones a
realizar sobre los datos. La mayora de los lenguajes de alto nivel son de este tipo.
Lenguajes declarativos. En este caso, el proceso por el cual se ejecuta el programa no
aparece de forma explcita. Los programas se construyen mediante la definicin de funciones
(lenguajes funcionales como Lisp) o expresiones lgicas que indican las relaciones entre
determinadas estructuras de datos (lenguajes de programacin lgica como Prolog).
Lenguajes orientados a objetos. El diseo de los programas se centra ms en los datos y
su estructura. Los programas consisten en descripciones de unidades denominadas objetos
que encapsulan los datos y las operaciones que actan sobre ellos. Uno de los lenguajes
ms usados en esta filosofa es el C++.
Lenguajes orientados al problema. Este tipo de lenguajes estn diseados para problemas
especficos, principalmente de gestin. Los programas estn formados por sentencias que
indican qu se quiere hacer. Generalmente, suelen ser generadores de aplicaciones que
permiten cierta automatizacin de la tarea de desarrollo de software de gestin...
Segn el paradigma de programacin
Un paradigma de programacin representa un enfoque particular o filosofa para la
construccin del software. No es mejor uno que otro, sino que cada uno tiene ventajas y
desventajas. Dependiendo de la situacin un paradigma resulta ms apropiado que otro.
Atendiendo al paradigma de programacin, se pueden clasificar los lenguajes en:
El paradigma imperativo o por procedimientos es considerado el ms comn y est
representado, por ejemplo, por el C o por BASIC.
El paradigma funcional est representado por la familia de lenguajes LISP (en particular
Scheme), ML o Haskell.
El paradigma lgico, un ejemplo es PROLOG.
El paradigma orientado a objetos. Un lenguaje completamente orientado a objetos es
Smalltalk

5.- DEFINICIONES
LENGUAJE DE PROGRAMACIN
Es aquella estructura que, con una cierta base sintctica y semntica, imparte distintas
instrucciones a un programa de computadora
LENGUAJE DE ALTO NIVEL
Formado por elementos del lenguaje humano
LENGUAJE DE NIVEL MEDIO
Comparte caractersticas con los lenguajes de bajo nivel pero tambin con los ms
avanzados
LENGUAJE DE BAJO NIVEL
Es el lenguaje de programacin que se acerca al funcionamiento de una computadora
LENGUAJE ENSAMBLADOR
El Lenguaje Ensamblador representa las Acciones de la Computadora mediante Pequeas
Abreviaturas de Palabras en Ingls.
Consiste en escribir las Instrucciones utilizando, en vez de Cdigos Binarios o Intermedios,
una Notacin Simblica o Mnemotcnica para representar los OpCode.
Normalmente los Cdigos Mnemotcnicos estn constituidos por 3 o 4 letras que, en forma
abreviada, indican la operacin a realizar.
LENGUAJE MAQUINA
Son las cadenas binarias que pueden ser legibles de manera directa por la computadora
COMPILADOR
Un Compilador es un Programa que lee el Cdigo Escrito en un Lenguaje (Lenguaje Origen),
y lo traduce en un Programa equivalente Escrito en otro Lenguaje (Lenguaje Objetivo). Como
una parte fundamental de este proceso de Traduccin, el Compilador le hace notar al usuario
la presencia de errores en el Cdigo Fuente del Programa.
TRADUCTOR
Los Traductores son Programas que Traducen los Programas en Cdigo Fuente, escritos en
Lenguajes de Alto Nivel, a Programas escritos en Lenguaje Mquina.
Los Traductores pueden ser de dos tipos: Compiladores e Intrpretes.
INTERPRETE
Los intrpretes no producen un lenguaje objetivo como en los compiladores. Un intrprete lee
el cdigo como est escrito e inmediatamente lo convierte en acciones; es decir, lo ejecuta
en ese instante.
ARQUITECTURA DE COMPUTADORA
Abarca el diseo, a nivel conceptual, y la estructura en la que se basa la operacin de un
sistema. En otras palabras, es el esquema detallado de los requisitos y del funcionamiento
de los diversos componentes de un ordenador, especialmente de la unidad central de
proceso (tambin conocida como UCP o CPU) y de su interaccin con la memoria principal.

Otra definicin que recibe este concepto es la manera de escoger y relacionar las distintas
partes fsicas para construir ordenadores de acuerdo con los requisitos de rendimiento, costo
y funcionalidad. Cabe mencionar que no se puede otorgar un puntaje a una computadora
simplemente por observar las velocidades y las capacidades de sus componentes, sino que
se deben tomar en cuenta una serie de factores relacionados con el propsito por el cual fue
diseada.
La arquitectura de un dispositivo est ntimamente relacionada con las funciones que se
espera que lleve a cabo y en el entendimiento de la misma se esconde el verdadero
potencial del hardware. Por ejemplo, si se toman dos consolas de videojuegos con la misma
cantidad de memoria RAM y con procesadores de igual cantidad de ncleos y con
velocidades similares, no es correcto asumir que se trata de dos equipos de podero
equivalente, ya que cada una puede trabajar de formas muy diferentes a pesar del parecido
de sus especificaciones tcnicas.
SISTEMA OPERATIVO
El Sistema Operativo es un Conjunto de Programas Destinados a permitir la Comunicacin
del Usuario con una Computadora, y Gestionar sus Recursos de Manera Eficiente
INTELIGENCIA ARTIFICIAL
La nocin de inteligencia artificial fue desarrollada en referencia a ciertos sistemas creados
por los seres humanos que constituyen agentes racionales no vivos. La racionalidad, en este
caso, es entendida como la capacidad para maximizar un resultado esperado.
La inteligencia artificial, por lo tanto, consiste en el diseo de procesos que, al ejecutarse
sobre una arquitectura fsica, producen resultados que maximizan una cierta medida de
rendimiento. Estos procesos se basan en secuencias de entradas que son percibidas y
almacenadas por la mencionada arquitectura.
6.- CONCEPTOS BSICOS DE PROGRAMACIN
TECNOLOGA
Es la aplicacin de un conjunto de conocimientos y habilidades con un claro objetivo:
conseguir una solucin que permita al ser humano desde resolver un problema determinado
hasta el lograr satisfacer una necesidad en un mbito concreto.
Partiendo de dicha acepcin nos encontraramos con que dentro del saco de la tecnologa
se pueden incluir un amplio nmero de modalidades o disciplinas tales como la informtica,
la robtica, la domtica, la neumtica, la electrnica, la urbtica o la inmtica, entre otras
muchas ms.
La nocin de tecnologa est vinculada al conjunto de los conocimientos que permiten
fabricar objetos y modificar el medio ambiente, lo que se realiza con la intencin de satisfacer
alguna necesidad.

Puede entenderse a la tecnologa como la aplicacin prctica del conocimiento generado por
la ciencia. En el lenguaje coloquial, de todas formas, se vincula la tecnologa con la
tecnologa informtica, que es aquella que posibilita el procesamiento de informacin a travs
de medios artificiales como las computadoras.
PROGRAMACIN
Programacin es la accin y efecto de programar. Este verbo tiene varios usos: se refiere a
idear y ordenar las acciones que se realizarn en el marco de un proyecto; al anuncio de las
partes que componen un acto o espectculo; a la preparacin de mquinas para que
cumplan con una cierta tarea en un momento determinado; a la elaboracin de programas
para la resolucin de problemas mediante ordenadores; y a la preparacin de los datos
necesarios para obtener una solucin de un problema a travs de una calculadora
electrnica, por ejemplo.
En la actualidad, la nocin de programacin se encuentra muy asociada a la creacin de
aplicaciones informticas y videojuegos; es el proceso por el cual una persona desarrolla un
programa valindose de una herramienta que le permita escribir el cdigo (el cual puede
estar en uno o varios lenguajes, tales como C++, Java y Python) y de otra que sea capaz de
traducirlo a lo que se conoce como lenguaje de mquina, el cual puede ser entendido por
un microprocesador.
PROGRAMA
Se trata de aplicaciones y recursos que permiten desarrollar diferentes tareas en una
computadora (ordenador), un telfono u otros equipos tecnolgicos.
CARACTERSTICAS DE UN PROGRAMA
Para escribir programas que proporcionen los mejores resultados, cabe tener en cuenta una
serie de detalles.

Correccin. Un programa es correcto si hace lo que debe hacer tal y como se


estableci en las fases previas a su desarrollo. Para determinar si un programa hace
lo que debe, es muy importante especificar claramente qu debe hacer el programa
antes de desarrollarlo y, una vez acabado, compararlo con lo que realmente hace.
Claridad. Es muy importante que el programa sea lo ms claro y legible posible, para
facilitar as su desarrollo y posterior mantenimiento. Al elaborar un programa se debe
intentar que su estructura sea sencilla y coherente, as como cuidar el estilo en la
edicin; de esta forma se ve facilitado el trabajo del programador, tanto en la fase de
creacin como en las fases posteriores de correccin de errores, ampliaciones,
modificaciones, etc. Fases que pueden ser realizadas incluso por otro programador,
con lo cual la claridad es an ms necesaria para que otros programadores puedan
continuar el trabajo fcilmente. Algunos programadores llegan incluso a utilizar Arte
ASCII para delimitar secciones de cdigo. Otros, por diversin o para impedir un
anlisis cmodo a otros programadores, recurren al uso de cdigo ofuscado.
Eficiencia. Se trata de que el programa, adems de realizar aquello para lo que fue
creado (es decir, que sea correcto), lo haga gestionando de la mejor forma posible los

recursos que utiliza. Normalmente, al hablar de eficiencia de un programa, se suele


hacer referencia al tiempo que tarda en realizar la tarea para la que ha sido creado y a
la cantidad de memoria que necesita, pero hay otros recursos que tambin pueden ser
de consideracin al obtener la eficiencia de un programa, dependiendo de su
naturaleza (espacio en disco que utiliza, trfico de red que genera, etc.).
Portabilidad. Un programa es portable cuando tiene la capacidad de poder ejecutarse
en una plataforma, ya sea hardware o software, diferente a aqulla en la que se
elabor. La portabilidad es una caracterstica muy deseable para un programa, ya que
permite, por ejemplo, a un programa que se ha desarrollado para sistemas GNU/Linux
ejecutarse tambin en la familia de sistemas operativos Windows. Esto permite que el
programa pueda llegar a ms usuarios ms fcilmente.

DATOS
Son expresiones generales que describen caractersticas de las entidades sobre las que
operan los algoritmos. Estas expresiones deben presentarse de una cierta manera para que
puedan ser tratadas por una computadora. En estos casos, los datos por s solos tampoco
constituyen informacin, sino que sta surge del adecuado procesamiento de los datos.
INFORMACION
La informacin est constituida por un grupo de datos ya supervisados y ordenados, que
sirven para construir un mensaje basado en un cierto fenmeno o ente. La informacin
permite resolver problemas y tomar decisiones, ya que su aprovechamiento racional es la
base del conocimiento.
Por lo tanto, otra perspectiva nos indica que la informacin es un recurso que otorga
significado o sentido a la realidad, ya que mediante cdigos y conjuntos de datos, da origen a
los modelos de pensamiento humano.
PROCESAMIENTO DE DATOS
Es definido como la tcnica que consiste en la recoleccin de los datos primarios de entrada,
los cuales son evaluados y ordenados, para obtener informacin til, que luego sern
analizados por el usuario final, para que pueda tomar las decisiones o realizar las acciones
que estime conveniente
7- TIPOS DE PROGRAMACIN:
PROGRAMACIN ESTRUCTURADA
Es una forma de escribir Programacin de Computadoras de forma Clara.
Para ello utiliza nicamente 3 Estructuras:

Estructura Secuencial, se ejecutan Una Tras Otra a modo de Secuencia


Estructura Selectiva, Permite la realizacin de una Instruccin u otra segn un
Criterio, solo una de estas Instrucciones se Ejecutara.

Estructura Iterativa. Un Bucle Iterativo o Iteracin de una Secuencia de


Instrucciones, hace que se Repitan Mientras se Cumpla una Condicin, en un
principio el Nmero de Iteraciones no tiene por qu estar determinado

Solamente con estas Tres Estructuras se puede hacer un Programa de Computadora.


Ventajas:

Datos separados del Diseo.


Reutilizacin del cdigo.
Entendimiento del programa en el mundo real.
Fcil entendimiento de la lgica del programa.
Cdigo simple (aunque cueste acostumbrarse).
Fcil documentacin y diseo del programa.
Dinamismo en el manejo de los datos.
Facilidad en el mantenimiento y expansin.

Desventajas:

Complejidad para adaptarse.


Mayor cantidad de cdigo (aunque a la larga no, por la reutilizacin).

PROGRAMACIN ORIENTADA A OBJETOS


Es un Paradigma de Programacin que define los Programas en Trminos de Clases de
Objetos.
La POO Expresa un Programa como un Conjunto de estos Objetos, que colaboran entre
ellos para Realizar Tareas. Esto permite hacer los Programas y Mdulos ms Fciles de
Escribir, Mantener y Reutilizar.
Un Objeto es una representacin Detallada, Concreta y Particular de un "algo". Tal
representacin determina su Identidad, su Estado y su Comportamiento Particular en un
momento dado.
Ventajas:

Reusabilidad.
Extensibilidad.
Facilidad de mantenimiento.
Portabilidad.
Rapidez de Desarrollo.
Ms fciles de entender porque se utilizan abstracciones ms cercanas a la realidad.

Desventajas:

Curvas de aprendizaje largas


Dificultad en la abstraccin
Limitaciones para el programador.
Tamao excesivo en las aplicaciones resultantes.
Cuando se heredan clases a partir de clases existentes se heredan de forma implcita
todos los miembros de dicha clase aun cuando no todos se necesiten, lo que produce
aplicaciones muy grandes que no siempre encajan en los sistemas con los que se
disponga.
Velocidad de ejecucin (cmo resultado del punto anterior)

PROGRAMACIN DE DESCRIPCIN DE HARDWARE


El Objetivo de los Lenguaje de Descripcin de Hardware (HDL), es el de Programar un
Circuito Electrnico.
Los HDL son utilizados para describir la Arquitectura y Comportamiento de un Sistema
Electrnico, el cual fue Desarrollado para Trabajar con Diseos Complejos.
El Flujo de Diseo suele ser tpico:

Definir la(s) tarea(s) que tiene que hacer el Circuito.


Escribir el Programa usando un Lenguaje HDL.

Ventajas:
El lenguaje es independiente de la tecnologa:

El mismo modelo puede ser sintetizado en libreras de distintos vendedores.


Reduccin de la dependencia con el fabricante de ASICs, ya que la portabilidad a otra
tecnologa es mucho ms rpida.
Reutilizar el diseo en componentes tan distintos como ASICso FPGAs con un
esfuerzo mnimo.
Soportan tres estilos de descripcin bsicos:
o DESCRIPCIN COMPORTAMENTAL
o DESCRIPCIN DE FLUJO DE DATOS (data-flow)
o DESCRIPCIN ESTRUCTURAL(estructural)
Sencillo
Ahorra tiempo

Desventajas:

Supone un esfuerzo de aprendizaje, ya que prcticamente se puede considerar como


nueva metodologa. Necesaria la adquisicin de nuevas herramientas:
o Simuladores

o Sintetizadores de HDL, teniendo que mantener el resto de las herramientas


para otras fases del diseo
El uso de estos lenguajes hace que involuntariamente se pierda un poco de control
sobre el aspecto fsico del diseo, dndole una mayor importancia a la funcionalidad
dicho diseo.

8- ALGORITMOS
Se denomina algoritmo a un grupo finito de operaciones organizadas de manera lgica y
ordenada que permite solucionar un determinado problema. Se trata de una serie de
instrucciones o reglas establecidas que, por medio de una sucesin de pasos, permiten
arribar a un resultado o solucin.
Diseo de algoritmos
Un algoritmo es una frmula para obtener la solucin de un problema, sta frmula puede
ser planteada de diferentes formas y cada una de estas formas puede efectivamente resolver
el problema planteado. Por esa razn, el diseo de un algoritmo es un proceso creativo, ya
que no existe un conjunto de reglas que indiquen expresamente cmo escribir un algoritmo
en forma correcta, por el contrario, si existen muchas maneras de resolver un problema,
entonces existen muchos algoritmos que implementen la solucin.
Cabe mencionar por ltimo que los algoritmos son muy importantes en la informtica ya que
permiten representar datos como secuencias de bits. Un programa es un algoritmo que
indica a la computadora qu pasos especficos debe seguir para desarrollar una tarea.
Caractersticas

Preciso
Definido
Finito
Debe producir un resultado
Puede tener cero o ms elementos de entrada

Tipos de algoritmos:
Cualitativos.- Un algoritmo es cualitativo cuando en sus pasos o instrucciones no estn
involucrados nmeros
Cuantitativos.- Incluyen clculos numricos

Simbologa

9- DIAGRAMAS DE FLUJO
Un diagrama de flujo es una representacin grfica de la lgica del diseo. Generalmente,
presenta un nivel de detalle mucho mayor que los diagramas de estructura.
Un diagrama de flujo resulta adecuado cuando se desea obtener mayor detalle, tal como
agregar bifurcacin de condicionales y/o iteraciones.
Recomendaciones para hacer un diagrama de flujo:

En todo diagrama de flujo, siempre habr una caja de inicio y otra de fin para el
principio y final del algoritmo
El diagrama debe mostrar claramente donde inicia y donde termina.
Cualquier camino que se siga, debe conducir al fin.
Los smbolos deben estar organizados de tal forma, que visualmente el flujo vaya de
arriba abajo y de izquierda a derecha.
No debe usarse lenguajes de programacin dentro de los smbolos.
El diagrama debe estar centrado dentro de la pgina.
Las flechas deben ser verticales u horizontales, nunca diagonales.
No deben cruzarse las flechas, para evitar esto estn los conectores.
No abusar de los conectores.
A un smbolo slo debe llegar una flecha, si fuese necesario otras flechas entrantes,
estas deben llegar a un conector.
Las flechas deben entrar a los smbolos por arriba o por la izquierda, preferiblemente.
Debe tratarse de que el diagrama se ajuste a una pgina, de no ser posible debe
usarse un conector.

10.- PSEUDOCDIGOS
El pseudocdigo es un lenguaje de documentacin de programas similar al espaol o al
ingls (se parece a cualquier lenguaje de programacin de alto nivel). No necesita seguir
ninguna regla especfica, como por ejemplo ser requerido por los programas que van a ser
traducidos o compilados. El pseudocdigo normalmente no es muy especfico para las reas
de E/S.
No hay ningn estndar en la industria definido para escribir pseudocdigo y tiene la ventaja
de que se puede crear fcilmente con cualquier editor de texto
El pseudocdigo tambin puede utilizar una serie de palabras claves o palabras especiales
que van indicando lo que significa el algoritmo

OBSERVACIONES Y CONCLUSIONES
La realizacin de este trabajo de investigacin me permiti darme cuenta con mayor claridad
de la relacin que hay entre nuestro cerebro y los lenguajes de programacin, y ver la
necesidad imperante que exista de crearlos, ya que facilitaron y aun lo siguen haciendo, la
relacin entre usuario-maquina,
Tambin ca en la cuenta de que la programacin es s, fue evolucionando casi a la par, si no
es que a la par, que las computadoras.
Vi la importancia de profundizar en la historia, los orgenes, no solo de la programacin, sino
de todo, ya que conocer los orgenes de algo nos ayuda a comprender su funcionamiento y
su propsito mejor, de tal manera que lo podamos aprovechar al mximo.
BIBLIOGRAFA
http://www.slideshare.net/KmaraFe/savedfiles?s_title=lascomputadoras-y-sus-generaciones&user_login=felixcama
http://generacion-de-lacomputadoras.wikispaces.com/cuadro+de+caracteristicas+de+todas+las+ge
neraciones
https://www.uclm.es/area/egi/OFITEC/Descarga/HISTORIA%20COMPUTACION.P
DF
http://www.informatica-hoy.com.ar/hardware-pc-desktop/Generacionesde-la-computadora.php
http://www.slideshare.net/HORACIO2010/generacion-de-computadoras
http://partesdelacomputadora.info/generacion-de-las-computadoras/
http://www.uv.mx/personal/gerhernandez/files/2011/04/historiacompuesta.pdf
http://informaticabasicagrupo8.wordpress.com/2011/10/24/lascomputadoras-efectos-en-la-sociedad/
https://sites.google.com/site/losturis/home/el-impacto-de-lacomputadora-en-la-sociedad
http://istecte.blogspot.mx/2012/01/el-impacto-de-las-computadoras-enla.html
http://dcb.fic.unam.mx/users/miguelegc/tutoriales/tutorialcd/mpct_cmpt_scd_1.htm
http://www.slideshare.net/imara69/presentacin2-3
http://www.slideshare.net/joferrer/impacto-de-las-computadoras
http://ac.itdurango.mx/acreditacion/4Proceso_E_A/LI/Evidencias/4.5%20
M%E9todos%20de%20Ense%F1anza/APUNTES%20DEL%20MAESTRO/Programacion/Apu
ntesU123_ProgramacionBasica.pdf

http://fcasua.contad.unam.mx/apuntes/interiores/docs/2005/informatica
/1/1167.pdf
http://www.scribd.com/doc/140266694/Fundamentos-de-Programacion
http://www.slideshare.net/nnunezc/tema-a-tratarse-fundamento-deprogramacin
http://prog-estructuradalopezbarajas.blogspot.mx/2012/01/importancia-de-la-programacionde.html
http://bibliotecadigital.conevyt.org.mx/colecciones/documentos/somece
2002/Grupo4/Oviedo.pdf
http://proyectoinformaticaaadrar.blogspot.mx/2012/05/4-clasificacionde-los-lenguajes-de.html
http://ciclodevidasoftware.wikispaces.com/Clasificacion+De+Los+Lengua
jes+De+Programacion
http://www.larevistainformatica.com/clasificacion-de-los-lenguajesde-programacion.html
http://qbitacora.wordpress.com/2007/09/21/clasificacion-de-lenguajesde-programacion/
http://www.slideshare.net/d3m3nt3/clasificacin-de-los-lenguajes-deprogramacin-8810625
http://jorgesaavedra.wordpress.com/2007/05/05/lenguajes-deprogramacion/
http://www.slideshare.net/pefrayo5/tipos-de-lenguaje-de-programacin
http://definicion.de/lenguaje-de-programacion/
http://catedraprogramacion.forosactivos.net/t83-definicion-delenguaje-de-programacion-tipos-ejemplos
http://www.mastermagazine.info/termino/5560.php
http://www.ecured.cu/index.php/Lenguaje_de_Programaci%C3%B3n
http://www.slideshare.net/elvin1202/lenguaje-de-programacion-de-altonivel
http://www.carlospes.com/minidiccionario/lenguaje_de_alto_nivel.php
http://avecomputointe.blogspot.mx/2012/04/que-es-un-lenguaje-deprogramacion-un.html
http://arantxa.ii.uam.es/~iama/lenguajes.pdf
http://www.larevistainformatica.com/tipo-lenguaje-programacion.htm
http://www.unioviedo.es/ate/alberto/TEMA3-Ensamblador.pdf
http://www.carlospes.com/minidiccionario/lenguaje_maquina.php
http://www.carlospes.com/minidiccionario/compilador.php
http://www.suigeneris.org/UCABTI/Definiciones%20Basicas.html
http://www.slideshare.net/yohanna13/arquitectura-de-computadores1145406
http://bvs.sld.cu/revistas/san/vol2_2_98/san15298.htm
http://definicion.de/inteligencia-artificial/
http://quees.la/sistema-operativo/
http://www.informatica-hoy.com.ar/aprender-informatica/Que-es-elsistema-operativo.php
http://definicion.de/tecnologia/
http://definicion.de/programacion/
http://www.desarrolloweb.com/articulos/2357.php

http://masinteligencia.wordpress.com/2012/08/22/caracteristicas-deun-buen-programa/
http://www.mastermagazine.info/termino/4532.php
http://www.slideshare.net/edupa01/procesamiento-de-datos-4880926
http://www.slideshare.net/edupa01/procesamiento-de-datos-4880926
http://www.lenguajes-de-programacion.com/programacionestructurada.shtml
http://www1.frm.utn.edu.ar/informatica1/VIANI/PROGRAMACION%20ESTRUCTU
RADA/PROGRAMACION%20ESTRUCTURADA.PDF
http://www.mailxmail.com/programacion-estructurada-caracteristicasestructuras-control-segmentacion-identacion_h
http://harbinrabbit.blogspot.mx/2009/04/programacionestructurada.html
http://bitacora330b.blogspot.mx/2012/11/cuadro-comparativo-deprogramacion.html
http://www.slideshare.net/senaticscesar/programacion-orientada-aobjetos-4540712
http://librosweb.es/libro/python/capitulo_5/programacion_orientada_a_
objetos.html
http://programacionudb.ohlog.com/programacion-orientada-aobjetos.oh28068.html
http://www.eduni.uni.edu.pe/3cera_edi_3_Lenguaje_de_programacion_Borl
and.pdf
http://oretano.iele-ab.uclm.es/~miniesta/intro%20hdl.pdf
http://www.sirsi.com.mx/ito/PrograUnidadI.pdf
http://informaticafrida.blogspot.mx/2009/03/algoritmo.html
http://ing.unne.edu.ar/pub/informatica/Alg_diag.pdf
http://www.infor.uva.es/~belar/Ampliacion/T3_Diseno_de_algoritmos_y_r
ecursion/T3_Diseno_de_algoritmos.pdf
http://www.algoritmia.net/articles.php?id=54
http://progra.usm.cl/apunte/materia/algoritmos.html
http://robotica.uv.es/pub/Libro/PDFs/CAPI3.pdf
http://documentos.mideplan.go.cr/alfresco/d/d/workspace/SpacesStore/6
a88ebe4-da9f-4b6a-b366-425dd6371a97/guia-elaboracion-diagramas-flujo2009.pdf
http://mis-algoritmos.com/aprenda-a-crear-diagramas-de-flujo
http://www.slideshare.net/johnny.chuquimarca/diagrama-de-flujo11596132
http://www.desarrolloweb.com/articulos/pseudocodigo.html
http://www.slideshare.net/CesarRomero4/pseudocdigo

También podría gustarte