Está en la página 1de 12

PROGRAMAS

I N V E ST I G AC I Ó N
ALUMNO: ELMER EDUARDO HERNANDEZ
SUAREZ
CATEDRATICA: ING. KAREN MELISSA VEGA
INGENIERIA EN CIENCIAS DE LA
COMPUTACION

SANTA ROSA DE COPAN


20/MAY/2022
OBJETIVOS ...................................................................................................... 3
PROGRAMAS................................................................................................... 4
¿Qué es un programa?.................................................................................. 4
¿Qué tipos de lenguajes de programación hay? ............................................ 4
• Lenguaje maquina (0 y 1): ....................................................................... 4
• Lenguajes de bajo nivel (ensambladores): .............................................. 4
• Lenguajes de alto nivel: ........................................................................... 5
• Lenguajes de tercera generación: ........................................................ 5
• Lenguajes de cuarta generación: ......................................................... 5
• Lenguajes de quinta generación: ......................................................... 5
HISTORIA ......................................................................................................... 6
Paradigmas de la programación .................................................................... 7
Programación estructurada ........................................................................... 8
Programación modular .................................................................................. 8
Representación de la información en las computadoras .............................. 10
Codificación de la información ...................................................................... 11
Codificación binaria. .................................................................................. 11
Sistemas de numeración. .......................................................................... 11
Web 2.0 y 3.0 ............................................................................................... 11
BIBLIOGRAFIA ............................................................................................... 12

2 |Página
1. Dar a conocer mediante este informe lo que es un programa y los
diferentes tipos que existen.
2. Aprender como funciona una computadora mediante los diferentes
lenguajes de programación.
3. Conocer la historia de la programación desde sus inicios en la década
de 1940 hasta la actualidad.
4. Saber como se clasifican los lenguajes de programación en función de
sus características según los paradigmas de programación.

3 |Página
Un programa informático o programa de computadora es una secuencia de
instrucciones, escritas para realizar una tarea específica en un computador. Este
dispositivo requiere programas para funcionar, por lo general, ejecutando las
instrucciones del programa en un procesador central.

Entre los principales lenguajes de programación tenemos:


El lenguaje de máquina o código máquina es el sistema de códigos directamente
interpretable por un circuito micro programable, como el microprocesador de una
computadora o el microcontrolador de un autómata. Este lenguaje está
compuesto por un conjunto de instrucciones que determinan acciones a ser
tomadas por la máquina. Un programa consiste en una cadena de estas
instrucciones más un conjunto cual se trabaja. Estas instrucciones son
normalmente ejecutadas en secuencia, con eventuales cambios de flujo
causados por el propio programa o eventos externos. El lenguaje de máquina es
específico de la arquitectura de la máquina, aunque el conjunto de instrucciones
disponibles pueda ser similar entre arquitecturas distintas.

Los circuitos micro programables son digitales, lo que significa que trabajan con
dos únicos niveles de tensión. Dichos niveles, por abstracción, se simbolizan con
los números 0 y 1, por eso el lenguaje de máquina solo utiliza dichos signos.
Esto permite el empleo de las teorías del álgebra booleana y del sistema binario
en el diseño de este tipo de circuitos y en su programación.


En primer lugar, debes saber que un lenguaje de bajo nivel es un lenguaje de
programación. Un lenguaje de programación de bajo nivel, es aquel en el que
sus instrucciones ejercen un control directo sobre el hardware y por lo tanto están
condicionados por la estructura física de las computadoras que lo soportan.

4 |Página
El uso del término bajo en su nombre no quiere decir que este lenguaje sea
menos potente o importante que un lenguaje de alto nivel, simplemente se refiere
a la reducida abstracción que existe entre el lenguaje y el hardware.


Cuando hablamos de un lenguaje de alto nivel nos referimos al tipo de lenguaje
de programación que no expresa los algoritmos teniendo en cuenta la capacidad
que tienen las máquinas para ejecutar órdenes, sino al que se utiliza teniendo en
cuenta las capacidades cognitivas de los seres humanos. Existen desde la
década de los 50 y nacieron con el objetivo de ir más allá respecto a las
limitaciones de los lenguajes de bajo nivel, permitiendo a los usuarios resolver
problemas de una forma sencilla y rápida. Desde entonces han aparecido
distintos lenguajes de alto nivel y es conveniente conocer, al menos, los
principales.

Los lenguajes de tercera generación - 3GL, son lenguajes de alto nivel, como C,
C++, C#, Java, BASIC, JavaScript y Visual Basic.


Los lenguajes de cuarta generación - 4GL, son lenguajes que consisten en
declaraciones similares a las declaraciones hechas en un lenguaje humano. Los
lenguajes de cuarta generación se usan comúnmente en la programación de
bases de datos y los ejemplos de scripts incluyen Unix Shell, Perl, PHP, Python,
Ruby y SQL.

Los lenguajes de quinta generación - 5GL, son lenguajes de programación que
contienen herramientas visuales para ayudar a desarrollar un programa.
Ejemplos de lenguajes de quinta generación incluyen Mercury, OPS5 y Prolog.

5 |Página
En la década de 1940 fueron creadas las primeras computadoras modernas, con
alimentación eléctrica. La velocidad y capacidad de memoria limitadas forzaron
a los programadores a escribir programas, en lenguaje ensamblador muy
afinados. Finalmente se dieron cuenta de que la programación en lenguaje
ensamblador requería de un gran esfuerzo intelectual y era muy propensa a
errores.

En 1948, Konrad Zuse publicó un artículo acerca de su lenguaje de programación


Plankalkül. Sin embargo, no fue implementado en su vida y sus contribuciones
fueron aisladas de otros desarrollos.

Entre algunos lenguajes importantes que fueron desarrollados en este período


se encuentran:

• 1943 - Plankalkül (Respetad a Konrad), diseñado, pero sin implementar


durante medio siglo
• 1943 - se crea el sistema de codificación ENIAC.
• 1949 - 1954 -- una serie de conjuntos de instrucciones nemotécnicas,
como la de ENIAC, comenzando en 1949 con C-10 para BINAC (que
luego evolucionaría en UNIVAC). Cada conjunto de instrucciones estaba
destinado a un fabricante específico

6 |Página
Se denominan paradigmas de programación a las formas de clasificar los
lenguajes de programación en función de sus características. Los idiomas se
pueden clasificar en múltiples paradigmas.

Algunos paradigmas se ocupan principalmente de las implicancias para el


modelo de ejecución del lenguaje, como permitir efectos secundarios o si la
secuencia de operaciones está definida por el modelo de ejecución. Otros
paradigmas se refieren principalmente a la forma en que se organiza el código,
como agrupar un código en unidades junto con el estado que modifica el código.
Sin embargo, otros se preocupan principalmente por el estilo de la sintaxis y la
gramática.

Los paradigmas de programación comunes incluyen:

• imperativo en el que el programador instruye a la máquina cómo cambiar


su estado,
• procedimental que agrupa las instrucciones en procedimientos,
• orientado a objetos que agrupa las instrucciones con la parte del estado
en el que operan,
• declarativo en el que el programador simplemente declara las
propiedades del resultado deseado, pero no cómo calcularlo
• funcional en el que el resultado deseado se declara como el valor de una
serie de aplicaciones de función,
• lógico en la que el resultado deseado se declara como la respuesta a una
pregunta sobre un sistema de hechos y reglas,
• matemático en el que el resultado deseado se declara como la solución
de un problema de optimización
• reactivo en el que se declara el resultado deseado con flujos de datos y la
propagación del cambio
Las técnicas simbólicas como la reflexión, que permiten que el programa se
refiera a sí mismo, también pueden ser consideradas como un paradigma de
programación. Sin embargo, esto es compatible con los principales paradigmas
y, por lo tanto, no es un paradigma real por derecho propio.

Por ejemplo, los lenguajes que caen en el paradigma imperativo tienen dos
características principales: establecen el orden en el que ocurren las

7 |Página
operaciones, con construcciones que controlan explícitamente ese orden, y
permiten efectos secundarios, en los que el estado puede modificarse en un
momento determinado, dentro de una unidad de código, y luego leer en un
momento diferente dentro de una unidad de código diferente. La comunicación
entre las unidades de código no es explícita. Mientras tanto, en la programación
orientada a objetos, el código se organiza en objetos que contienen un estado
que solo es modificado por el código que forma parte del objeto. La mayoría de
los lenguajes orientados a objetos también son lenguajes imperativos. Por el
contrario, los lenguajes que se ajustan al paradigma declarativo no indican el
orden en el que ejecutar las operaciones. En su lugar, proporcionan una serie de
operaciones disponibles en el sistema, junto con las condiciones en las que se
permite que se ejecute cada una. La implementación del modelo de ejecución
del lenguaje rastrea qué operaciones son libres de ejecutar y elige el orden en
forma independiente. Más en Comparación de lenguajes de programación de
múltiples paradigmas.

La programación estructurada es una teoría orientada a mejorar la claridad,


calidad y tiempo de desarrollo utilizando únicamente subrutinas o funciones.
Basada en el teorema del programa estructurado propuesto por Böhm y Jacopini,
ha permitido desarrollar software de fácil comprensión.

La programación modular consiste en la descomposición de un programa en


trozos más pequeños denominados módulos o subprogramas, en el que cada
uno de ellos se encargara de llevar a cabo una tarea concreta y bien definida, y
se agrupara según su funcionalidad. Cada uno de estos módulos se analizará y
codificará por separado.

La estructura de un programa modular constara de un módulo principal desde


el que se llamara al resto de los módulos. El módulo principal recibe el control al
inicio de la ejecución del programa. Cuando se invoca un módulo concreto (a
través de su nombre y parámetros), el control del programa se pasará al módulo.
Este módulo mantendrá el control hasta que no se finalice su ejecución en cuyo
momento devolverá el control a la instrucción siguiente a la que realizo la llamada.

Cada uno de estos módulos puede hacer a su vez llamadas a otros módulos que
siempre devolverán el control al módulo desde el que fueron llamados, pone
8 |Página
freno a la redundancia del código, ya que aíslan las secuencias de instrucciones
más usadas y que se repiten, se les da un nombre y cuando se quieran usar,
simplemente se invocara dicho nombre en el lugar donde sea necesario.

Las características que definen estos módulos son las siguientes:

• Cada módulo deberá tener asignado un nombre propio que le diferencie


de los otros y que será usado para invocarlos.
• Se puede transmitir información entre el módulo principal y el resto de los
módulos a través de parámetros.
• Cada módulo puede ser programado y compilado por separado, y
almacenado posteriormente en librerías.
• Cada módulo consta de dos partes: la cabecera, que es donde aparece el
nombre y los datos que se le pasan o genera, y el cuerpo o estructura
interna, que es donde se desarrolla el código.
• Permite trabajar en equipo. Cada programador puede desarrollar un
módulo diferente y posteriormente enlazarlos.
• El tamaño del módulo debe encontrarse entre 20 y 200 líneas de código.
• Los módulos con menos de 20 líneas de código pueden disminuir la
eficiencia del programa.
• Los módulos que contienen as de 200 líneas de código son difíciles de
verificar y mantener.
• Un módulo debe realizar una sola tarea y contenerla en su totalidad.
• Un requisito necesario para el desarrollo de código modular es la
existencia de un mecanismo que permita el intercambio de datos entre
módulos. En ensamblador existen técnicas que permiten este intercambio.

9 |Página
Los datos por lo general son una mezcla de tipos.  Se utiliza una representación
Uniforme de todos los tipos de datos.  Los datos de entrada a una computadora
se transforman en la representación uniforme al ser utilizados y almacenados
por la PC. A esta representación uniforme o formato universal se le llama
PATRÓN DE BITS.
Un solo bit no puede resolver el problema de la representación de datos, si cada
pieza de datos (carácter) pudiera representarse por un 1 o un 0, entonces solo
se necesitaría un bit. Sin embargo, se hace necesario almacenar números más
grandes, texto, gráficos y otros tipos de datos.  Es aquí donde se hacen
necesarios los PATRONES DE BITS.
Para representar diferentes tipos de datos se utiliza un PATRON DE BITS, una
secuencia o como a veces se le llama, una cadena de bits.
Ejemplo: 1 0 0 0 1 0 1 0 1 0 1 1 1 1 1 1
Esto significa que, si se quiere almacenar un patrón de bits formado por 16 bits,
necesitan 16 interruptores electrónicos. Si quiere almacenar 1000 patrones de
bits, cada uno de 16 bits, necesita 16 000 bits y así sucesivamente.
En una computadora, los números se representan usando el sistema binario. En
este sistema un patrón de bits (una secuencia de ceros y unos) representa un
número.
Las imágenes se representan en una computadora mediante uno de dos
métodos: Gráficos de mapas de bits o gráficos de vectores
Una imagen se divide en una matriz de pixeles. A cada pixel se le asigna un
patrón de bits. El tamaño y el valor del patrón depende de la imagen, para una
imagen formada solo por puntos blancos y negros, un patrón de un bit es
suficiente para representar un pixel. Los patrones se registran uno tras otra y se
almacenan en la computadora
El audio por naturaleza es información análoga, es continuo no discreto.
El video es una representación de imágenes (llamadas cuadros o frames) en el
tiempo. Una película es una serie de cuadros desplegados uno tras otro para
crear la ilusión de movimiento. Cada imagen o cuadro cambia a una serie de
patrones de bits y se almacena. La combinación de las imágenes representa el
video.

10 | P á g i n a
La codificación es el método que permite representar la información utilizando
un conjunto de símbolos que se combinan siguiendo determinadas reglas.
Existen códigos lingüísticos y códigos escritos, como los sistemas de numeración,
el código Braille, los jeroglíficos, las partituras, etc. En informática, los datos son
información codificada, lista para ser introducida y procesada por un ordenador.
Una vez que los datos han sido procesados y se ha mostrado su resultado de
algún modo inteligible, se pueden considerar como información.

Los ordenadores utilizan la codificación binaria para representar la información


digital. La codificación binaria está basada en el sistema de numeración binario,
que emplea los dígitos 0 y 1.
La razón de utilizar solo dos dígitos se debe a que todos los dispositivos de un
ordenador trabajan con dos estados únicos: activado o desactivado; abierto o
cerrado; pasa corriente o no pasa corriente, etc.

Un sistema de numeración es un conjunto de símbolos y reglas con los que


representar datos numéricos. Los sistemas de numeración son posicionales, por
lo que un mismo símbolo tiene distinto valor según la posición que ocupa.

Las webs 2.0 y 3.0 son un conjunto de sitios que proveen herramientas para la
interacción, a través de plataformas de publicación como redes sociales o
páginas web, por ejemplo. Gracias a ellas, los usuarios tienen la posibilidad de
agregar contenidos, acceder y seleccionar una gran cantidad de información y
recursos.

11 | P á g i n a
• Wikipedia
• Netec
• MCPro

12 | P á g i n a

También podría gustarte