Вы находитесь на странице: 1из 30

Programación Básica

Imparte: Francisco Gutiérrez Vera

Resumen De La Primera Unidad: Introducción a La


Computación

Instituto Tecnológico de Celaya

Alumno: José Eduardo Yerena Martínez


1. Introducción a la computación

La computadora fue el elemento tecnológico más importante que afectó a la sociedad en la


década de los sesenta y surge de la necesidad de encontrar formas eficientes de manipular
información para representar hechos o situaciones reales. En otras palabras, el hombre no
ha parado de crear máquinas, dada su continua necesidad de transmitir y tratar información.
Se entendió, entonces, que el término computación se refería al conjunto de conocimientos,
técnicas y formas de uso relativas a computadoras en general. Sin embargo, también se creó
el término Informática, para referirse a la ciencia encargada del estudio y desarrollo de las
computadoras y de los métodos para procesar la información.

El término informática se creó en Francia en 1962, y procede de la contracción de las


palabras: Información automática. En general, se entiende por Informática a la ciencia que
estudia el tratamiento automático y racional de la información, lo cual involucra funciones
como las siguientes: Desarrollo de nuevas máquinas (computadoras y periféricos),
desarrollo de nuevos métodos de trabajo (sistemas operativos), construcción de
aplicaciones informáticas (programas), etc.

1.1 La computadora

Una computadora es simplemente cualquier dispositivo que pueda calcular. El nombre se


deriva del latín computare, que significa contar o calcular, y se aplica adecuadamente a un
ábaco en la antigüedad y a una máquina
sumadora en la actualidad. Sin embargo, el
término “computadora” ha llegado a significar
una máquina o dispositivo con características
bien definidas que lo diferencian de los
calculadores mecánicos, como lo son: la
velocidad, la memoria interna y los programas
almacenados. Veamos, por ejemplo, algunas
definiciones de lo que se entiende por
computadora:

 “Es una máquina compuesta de elementos físicos de tipo electrónico, capaz de


realizar una gran variedad de trabajos a gran velocidad y con gran precisión siempre
que se le den las instrucciones adecuadas”
 “Es un dispositivo electrónico que recibe un conjunto de datos de entrada, los
procesa y genera determinados resultados o información, con gran capacidad para el
almacenamiento de los datos y elevada velocidad de cálculo”

1.2 Tipos de Computadoras


Las computadoras se pueden clasificar en:

 Analógicas: Tienen la capacidad de medir o comparar según un patrón (fenómenos


físicos continuos en el tiempo) preestablecido. Procesan datos continuos (voltajes).
Es decir, manejan señales eléctricas analógicas proporcionales a medidas físicas de
tipo continuo y suelen aplicarse para controlar procesos y en determinados
problemas de simulación para usos médicos, científicos, meteorológicos, etc. Su
programación está plasmada en los circuitos que lo integran y produce sus
resultados en forma gráfica. .
 Digitales: Este tipo de computadora maneja señales eléctricas de tipo digital (datos
representados por medio de valores discretos, como el 0, el 1, el 2, ...) y por lo tanto
opera con información discreta en el tiempo. Procesa los datos siguiendo las
especificaciones de un programa por medio de lenguajes y su utilización comprende
cualquier tipo de trabajos. .
 Híbridas: Es la combinación de los dos anteriores. Suelen estar constituidas por
una computadora digital que procesa información analógica, para lo cual tiene sus
entradas y salidas controladas por medio de convertidores analógicos-digitales o
digital-analógicos.

1.3 Definiciones Importantes

 Los datos son en general cifras originales, tomados de diversas fuentes que, solos,
tienen poco significado. El dato es un concepto básico o elemental, como los
nombres de las cosas o las cantidades ( un precio, una fecha, el nombre de una
persona, ...)
 La información son datos “ya trabajados” y con un orden y significado útil para la
persona que los recibe. Los datos una vez procesados se convierten en información
provechosa. En general se entiende por información a toda forma de representación
de hechos, objetos, valores, ideas, etcétera, que nos permite adquirir el
conocimiento de las cosas y la comunicación entre personas.
 El hardware (ambiente duro) representa la parte física (lo tangible) de un sistema
informático. Incluye elementos mecánicos, electromecánicos, electromagnéticos y
eléctricos/electrónicos. Es decir, todos los elementos materiales que lo componen,
como lo son la computadora, los periféricos, los cables y demás elementos que
tienen entidad física.
 El software (ambiente blando) es la parte lógica (lo intangible) que dota al equipo
físico de capacidad para realizar cualquier tipo de trabajo o tarea que se le
encomiende al mismo. Está constituido por los programas y los datos que definen
para el hardware los algoritmos de resolución de problemas.
 El personal informático es el conjunto de personas que realizan las distintas
funciones relacionadas con el uso de las computadoras y la administración de la
información.
 La palabra firmware se usa para denominar cierta parte del software (programas
objeto de uso común) que traen las computadoras pregrabadas desde su fabricación
y que pueden estar en memorias de tipo ROM (memorias de sólo lectura) o
incorporadas en su circuitería. También se conoce como firmware a los programas
en micro código almacenados en una memoria de control de alta velocidad.
2. Breve reseña de la Computación

La computadora representa, de alguna manera, el genio encerrado en la botella, capaz de


cumplir los deseos de rapidez y eficiencia en el cálculo y la organización de grandes masas
de datos. Y ésta es precisamente la idea original: Un ingenio mecánico capaz de liberar al
hombre de la pesada tarea de tener que calcular a mano. La palabra computación proviene
del inglés “Computing”, que significa “Cálculo”. La historia de la computación es pues la
historia del proceso en los métodos y mecanismos que el ser humano ha creado para
calcular. Y con ese fin fue creada la computadora: Una máquina capaz de realizar y
controlar a gran velocidad cálculos y procesos complicados que requieren una toma rápida
de decisiones.

Nuestra historia comienza con el Ábaco, un mecanismo mecánico para calcular que se creó
en la antigua Mesopotamia alrededor del año 500
A.C. El ábaco consistía en un cuadro de madera con
barras paralelas por las cuales corrían bolas móviles.
Se podía utilizar para sumar, restar y multiplicar a
gran velocidad y fue muy utilizado durante cientos de
años.

El siguiente avance fue en el años de 1642 cuando Blaise Pascal, de 18 años, inventó la
primera calculadora mecánica. La “Pascalina” que inventó para ayudar a su padre en sus
cuentas al recaudar impuestos. La calculadora funcionaba con engranes dentados que se
usaban para sumar y restar números decimales y que luego mostraba los resultados a través
de una ventanita.
En el año de 1671, el matemático y filósofo Alemán Gottfried Wilhelm Leibniz creó una
máquina similar pero más avanzada que utilizaba un sistema de “tambores” que consistía
en un cilindro con dientes que iban
aumentando en longitud. La calculadora de
Leibinz era capaz no solo de sumar, sino de
multiplicar, dividir y trabajar con raíces
cuadradas; además de que contaba con la
primera “memoria” o registro.

A parte de la invención de su máquina para calcular, otra gran aportación de Leibniz fue la
invención del código binario. Aunque no lo utilizó en su calculadora, creo la manera para
representar cualquier número decimal usando solo ceros y unos, lenguaje que más tarde
sería utilizado para las computadoras. Por su parte el inglés Goerge Boole, usó la idea de
Leibinz para inventar una nueva rama de las matemáticas llama Álgebra de Boolean. Las
computadoras modernas utilizan ambos, el código binario y el álgebra de Boolean para
hacer decisiones simples al comparar largas líneas de ceros y unos.

Hasta este punto se habían hecho muchos avances, pero el problema con las calculadoras
hasta ahora utilizadas y el ábaco, es que las máquinas requerían del uso de un humano para
funcionar, mientras que las computadoras actuales funcionan en base a un programa sin la
necesidad de la intervención de un humano.

Charles Babbage es considerado como el “Padre de las computadoras”. Fue él quien,


alrededor de 1830, diseñó las primeras máquinas con las características que actualmente
reconocemos en todas las computadoras:

 Una entrada. Sus máquinas tenían una


manera de introducir números para
procesarlos.
 Memoria. Poseían un mecanismo para
almacenar esos números mientras se
hacían cálculos complejos con ellos.
 Un Procesador. Que se encargaba de
hacer las cuentas con los números.
 Una Salida. Un sistema de impresión
que arrojaba el resultado.
La innovación de Babbage consistía en que el usuario podía, cambiando las
especificaciones del control, lograr que la misma máquina ejecutara operaciones complejas,
diferentes de las que había hecho antes.

Curiosamente, Babbage no pudo construir ninguna de las máquinas que diseñó, pues había
pensado usar miles de engranes de gran precisión que en su época no era posible construir.
Su computadora era como un reloj Suizo gigante. Después de un intento fallido de construir
su máquina con apoyo del gobierno británico, Babbage recibió ayuda de Augusta Ada
Byron, hija del poeta Lord Byron. Ella fue una entusiasta matemática que le ayudó a
Babbage con sus ideas para hacer su máquina programable, trabajo que le ganó a ella el
título de la primera programadora. Lamentablemente el trabajo de Babbage estuvo perdido
por mucho tiempo y para cuando sus apuntes fueron encontrados en los años 30, muchas de
sus valiosas ideas ya habían sido re-inventadas por otros.

Tuvieron que pasar casi cien años para que en 1945, se diseñe la primera computadora
digital, que tenía un gran parecido funcional con la máquina analítica de Babbage. Un
equipo, dirigido por los ingenieros John Mauchly y Johm Eckert, de la Universidad de
Pennsylvania, construye una gran màquina
electrónica llamada ENIAC (Electronic Numerical
Integrator And Computer) que, efectivamente, es la
primera computadora digital electrónica de la
historia. Esta máquina era capaz de efectuar
alrededor de cinco mil operaciones aritméticas en un
segundo, dejando para siempre atrás las limitaciones
humanas de velocidad y precisión, e inaugurando
una nueva etapa en las capacidades de proceso.

El proyecto, auspiciado por el Departamento de Defensa de Estados Unidos, culminó 2


años después, cuando se integró a ese equipo el ingeniero y matemático húngaro
naturalizado norteamericano, John Von Neumman. Las ideas de von Neumann resultaron
tan fundamentales para el desarrollo de las computadoras modernas, que algunos lo
consideran a èl como el padre de las computadoras. La computadora diseñada por este
nuevo equipo se llamó EDVAC (Electronic Discrete
Variable Automatic Computer).

La nueva idea fundamental resulta muy sencilla:


Permitir que en la memoria coexistan datos con
instrucciones, para que entonces la computadora pueda ser
programada de manera “suave” y no por medio de
alambres que eléctricamente interconectaban varias
secciones del control, como en la ENIAC. Es más, esta idea obliga a una completa revisión
de la “arquitectura” de las computadoras, que recibe desde entonces el nombre de “Modelo
de von Neumann”. Alrededor de este concepto gira toda la revolución posterior de la
industria y la ciencia de la computación.

Desde 1947 las cosas avanzaron muy rápido para las computadoras y su desarrollo suele
dividirse en tres “generaciones”. En las dos primeras, las unidades de entrada están
dominadas por completo por las tarjetas perforadas, vueltas a inventar a principios del siglo
por Herman Holleirth:

 En la década de los 90s Herman Hollerith construyó la primera máquina calculadora


práctica. Esta se utilizó para realizar el censo de los Estados Unidos, disminuyendo
el tiempo que se tardaban en hacer dichos cálculos de 7 a 2 años y medio. Hollerith
se dio cuenta de que su máquina tenía otros usos así que fundó la “Tabulating
Machine Company” (compañía de la máquina tabuladora) en 1896 para
manufacturarla comercialmente. Poco después la compañía se cambió el nombre a
“Computing-Tabulating-Recording” (C-T-R), compañía que en 1924 se convertiría
en la “International Business Machines” (IBM).

En las máquinas de tercera generación se emplean métodos interactivos de comunicación,


por medio de pantallas especiales de entrada/salida.

2.1 Primera Generaciòn


Esta primera etapa abarcó la década de 1950. Sus máquinas están construidas con circuitos
de tubos de vacío; se programan en “lenguaje de máquina” y son grandes y costosas (de
decenas o cientos de miles de dólares).

En 1951 aparece la primera computadora


comercial, la UNIVACI (Universal Computer).
Esta máquina fue utilizada para procesar los datos
del censo de 1950 de Estados Unidos.

Surgen en el mercado las primeras compañías que


comienzan a competir en el desarrollo de las
computadoras, tales como: IBM y Remington
Rand.
2.2 Segunda Generación
A medida que se acercaba la década de 1960, las computadoras iban constantemente
evolucionando, reduciéndose en tamaño y aumentando sus capacidades de procesamiento.
Al mismo tiempo se iba definiendo cada vez con mayor claridad toda una nueva ciencia: La
de comunicarse con las computadoras y que recibirá el nombre de “Sistemas”.

Esta generación se caracteriza por los siguientes aspectos: Están construidas con circuitos
de transistores, se programan en nuevos lenguajes llamados “de alto nivel”, y son de
tamaño más reducido y de costo menor que las anteriores.

En la segunda generación existe mucha competencia, surgen muchas compañías nuevas y


se cuenta con máquinas bastante avanzadas para su época, como la serie 5000 de Burroughs
y la máquina ATLAS, de la Universidad de Manchester.

2.3 Tercera Generación


Esta generación surge a mediados de la década de 1960. Se puede decir que se inaugura con
la presentación en 1964 de la serie 360 de IBM.

Las características básicas de la tercera generación


consisten en que su fabricación electrónica está basada en
los “circuitos integrados” (agrupamiento de circuitos de
transistores “grabados” en pequeñísimas placas de
silicio); y en que su manejo es por medio de los lenguajes
de control de los sistemas operativos.

2.4 Mini Computadoras


A mediados de la década de 1970 surge un gran merado para computadoras de tamaño
mediano, o minicomputadoras, que no son tan costosas como las grandes máquinas, pero
que ya disponen de una gran capacidad de proceso. En un principio el mercado de estas
nuevas máquinas estuvo dominado por la serie PDP-8 de DEC (Digital Equipment
Corporation), actualmente en desuso.
2.5 Micro Computadoras y Computadoras Personales
El avance de la microelectrónica prosigue a una velocidad impresionante y ya para los años
1972-1973 surge en el mercado una nueva familia de circuitos integrados de alta densidad,
que reciben el nombre de “microprocesadores”. Las “microcomputadoras” que se diseñan
con base en estos circuitos son extremadamente pequeñas y baratas, por lo que su uso se
extiende al mercado de consumo industrial.

Los microprocesadores más usuales actualmente


fueron diseñados por tres compañías: el Z-80 de
Zilog, el 6809 de Motorola y el 8088 de Intel.

Estas microcomputadoras de uso personal se


volvieron lo suficientemente baratas y accesibles
para ser empleadas por organizaciones pequeñas y
negocios. Más adelante comenzó a extenderse el uso de aplicaciones “creativas” en
computación y como pasatiempo.

El desarrollo de las computadoras continuó avanzando día a día hasta que las computadoras
se volvieron de fácil acceso y uso para toda clase de público. Pasaron de ser una enorme
maquinaria que ocupaba un sótano entero de una universidad a ocupar un lugar en el
escritorio de cientos de miles de hogares. Aún hoy en día la computación sigue
desarrollándose a un gran ritmo y las computadoras se han vuelto parte de la vida cotidiana
de casi toda la población en la mayoría de los países.
3. Impacto de las computadoras en la sociedad

Desde la segunda revolución industrial, las computadoras han ocupado un lugar cada vez
más importante dentro de nuestra sociedad. La computadora es la
máquina más versátil que los humanos han creado y juega un papel
muy importante en nuestra vida cotidiana. Tiene una gran área de
aplicación y sin las computadoras nuestra vida sería más difícil y muy
diferente.

Dentro de la amplia gama de aplicaciones que tiene la computadora en


la sociedad encontramos los siguientes campos:

Desarrollo Científico:

Los científicos usan computadoras para desarrollar teorías, colectar y analizar datos e
intercambiarlos alrededor del mundo. Poderosas computadoras pueden ser usadas para
generar estudios detallados de fenómenos como terremotos o la contaminación en una
ciudad. Se utilizan computadoras para la investigación espacial. Grandes avances en la
medicina se logran gracias a diferentes investigaciones sobre enfermedades y medicinas
que se realizan por computadora.

Educación:

En nuestros días muchas escuelas, colegios y universidades dan un énfasis especial a la


educación computacional de sus alumnos. Además de dar educación sobre el tema a sus
alumnos las escuelas también usan las computadoras para hacer de la educación un proceso
más interesante; a diferencia de otros intentos de usar medios como la televisión para
enseñar, las computadoras han demostrado ser un medio mucho más interactivo.
Computadoras también son utilizadas para tener acceso a bibliotecas y virtuales.

Comunicación:

El correo electrónico y las redes sociales son una facilidad proporcionada por las
computadoras que permite enviar mensajes de un lugar a otro con gran facilidad. Este
medio de comunicación es utilizado hoy por casi cualquier organización existente, además
de ser utilizado de manera personal por una enorme cantidad de gente.

Ingeniería y Manufactura:
Arquitectos e Ingenieros están usando extensivamente comoputadoras para diseñar y
dibujar. Las computadoras pueden crear objetos que pueden verse desde todas las 3
dimensiones. Al usar técnicas de computadora como las de realidad virtual, arquitectos
pueden explorar casas que han sido diseñadas pero no construidas. Y lo mismo se puede
hacer para estudiar los diseños de aviones, barcos, automóviles y muchos otros objetos. Las
computadoras también permiten que algunas tareas peligrosas dentro de una empresa sean
realizadas por un robot. Además, la manufactura asistida por computadora puede usarse
para mejorar el diseño, la planeación y los tiempos de producción de un producto.

Finanzas:

Las personas pueden acceder a un cajero atomático las 24 horas del día gracias a las
computadoras. Los bancos también usan computadoras para crear un sistema de red
permitiendo que se realicen transacciones en cualquiera de las ramas de un banco sin
retrasos.

Negocios e Industrias:

Muchas de las pequeñas empresas pequeñas que han tenido éxito simplemente no existirían
sin la tecnología de las computadoras. Cada año cientos de personas comienzan un negocio
desde sus hogares o pequeñas oficinas. Las computadoras permiten a los dueños de esos
negocios realizar tareas de contabilidad, inventario, administración, mercadotecnia, roles de
pago y muchos otras similares sin la necesidad de contratar a un gran personal para ello.
Los negocios también utilizan la red para compartir datos importantes por correo
electrónico u otros medios similares. Las computadoras también ayuda a los negocios a
diseñar productos, planear y manejar servicios de envío y controlar procesos industriales.
Como resultado las pequeñas industrias y negocios se vuelven más autosuficientes y
competitivos.

3.1 Impacto General: Ventajas y Desventajas

El uso de las computadoras ha traído consigo muchas ventajas y beneficios, pero así mismo
ha traído algunas consecuencias negativas que también impactan nuestra vida social y
laboral. Algunas de esas ventajas y desventajas son:
Ventajas

 Muchos individuos profesionales experimentan un cambio significativo y positivo


al incluir la computadora en su patrón de trabajo.
 Los individuos se vuelven más competentes para tomar decisiones al tener acceso,
por medio de las computadoras, a la información que necesitan para tomar dicha
decisiones.
 Personas que trabajan en niveles administrativos se vuelven menos dependientes de
un gran personal de apoyo.
 Gracias a las computadoras, servicios como los que se dan en los aeropuertos,
hospitales, bancos y tiendas que han sido computarizadas se realizan mucho rápido.
 Las computadoras han creado nuevos campos de empleo.

Desventajas

 Si por alguna razón la memoria almacenada de una computadora se pierde, el dueño


de dicha información pasará varios problemas.
 Las personas no utilizan su mente para operaciones de aritmética, lo que
gradualmente resultará en la pérdida de habilidad numérica.
 Hoy en día alguien que no tiene conocimiento sobre computadoras es considerado
como un ciudadano de segunda clase.
 Muchas personas temen que los niños
de nuevas generaciones perderán el uso del
sentido común y habilidades numéricas debido
a la dependencia a las computadoras.
 Debido a que la computarización
facilita muchos procesos que anteriormente
requerían de empleados humanos muchas
organizaciones se ven en la necesidad de despedir a sus empleados. Por esta razón
hay mucha falta de seguridad o inconformidad por parte del personal empleado.
 Con la introducción de una nueva tecnología a una organización, ésta podría verse
en la necesidad de gastar una gran cantidad de recursos en enseñar a su personal
cómo utilizar las nuevas tecnologías.
3.2 ¿Por qué las computadoras afectan tanto la
sociedad?

El alcance de las computadoras en nuestra sociedad es muy grande, y por ello es muy
importante mencionar no solo cómo nos impactan las computadoras sino el porqué. En una
investigación al respecto, Blaise W. Liffick del Departamento de ciencias computacionales
de la Universidad de Millersville, llegó a las siguientes conclusiones:

No es difícil que los profesionales lleguen a estar de acuerdo en que las computadoras
tienen un gran impacto en la sociedad. Lo que es más difícil es encontrar el porqué. Esta
discusión incluye muchas características de las computadoras que pueden ser el centro de
los efectos. A continuación se presenta una lista de características de las computadoras que
se pretende se vuelvan un foco alrededor del cual se pueda desenvolver el diseño de nuevas
tecnologías con el fin de anticipar las consecuencias sociales de un producto nuevo y
mitigar cualquier potencial efecto negativo.

 Ubicación: Las computadoras parecen estar en todas partes hoy en día. Aun cuando
no nos las encontremos directamente por medio de relojes, hornos microondas,
celulares, etc., nosotros generamos transacciones que son procesadas vía
computadora aún sin hacer activamente nada: Las utilidades de alguna compañía a
la que pertenezcamos, las compañías telefónicas procesando nuestros registros,
nuestras máquinas contestadoras generando mensajes. Alguien puede generar una
interacción con una computadora que nos involucre a nosotros aún sin que lo
sepamos.

 Magnificación: Las computadoras han producido una explosión en la


disponibilidad de información debido a su capacidad de generar, recolectar y
guardar una cantidad cada vez más grande de datos. Por otro lado, un error generado
en sistema puede magnificar también el resultado y afectar a millones de personas.

 Accesibilidad: El acceso a la información incrementa a grandes velocidades.


Además de que existe una gran cantidad de información disponible, se puede
acceder a ella desde casi cualquier lugar en que nos encontremos por medio de
diferentes dispositivos.

 Capacidad de Reproducción y Distribución: Muchos recursos que se encuentran


disponibles en medio digital como libros, revistas, canciones, películas, etc. Pueden
ser fácilmente duplicados y distribuidos casi sin límite. Se puede generar una copia
de una canción por ejemplo, que se escucha exactamente igual que la original. Esto
desde luego ha creado graves problemas para las industrias de grabación,
compositores, cantantes e intérpretes.

 Falta de Responsabilidad personal: Se ha vuelto cada vez más difícil localizar a


un ser humano dispuesto a aceptar la responsabilidad de un error hecho por un
sistema computarizado. Aunque puede ser tentador culpar de ciertos problemas a un
empleado incompetente, la verdad es que a veces los
problemas pueden surgir por un mal uso de alguna interface,
falta de entrenamiento o un error en el software, ninguno de
los cuáles puede ser solucionado por aquellos que proveen el
servicio de primera línea. Otra dificulta es encontrar a alguien
dispuesto a arreglar un problema, a veces incluso no es
posible encontrar a un ser humano capaz de resolver ciertos
problemas con programas computacionales.

 Temporalidad: Hoy en día la sociedad requiere todas las cosas lo más rápido
posible, y nada más rápido que una computadora para ciertos problemas. También
las computadoras permiten guardar información por periodos indefinidos de tiempo.
Hay pocas razones para que alguna información guardada virtualmente se pierda de
verdad para siempre, aún por accidente. Además las computadoras no tienen
horario de descanso, están disponibles las 24 horas del día.

 Espacialidad: Las computadoras han acortado la distancia más que cualquier otra
tecnología previa. Es posible enviar una gran cantidad de información
prácticamente a cualquier parte del mundo vía Internet.

 Vigilancia: Las computadoras han hecho que la vigilancia sea mucho más fácil que
en cualquier otra época de la historia. Además del uso normal de cámaras y
micrófonos, la información sobre toda clase de transacción virtual se puede
recolectar para ser analizada posteriormente con fines de seguridad.

 Cambios en los protocolos de intercomunicación: El uso de los correos


electrónicos y otros medios han demostrado eliminar gran parte de las señas
visuales y verbales que normalmente usamos para comunicarnos unos con otros.
Además de remover dichas señas, los medios de comunicación por computadora
enmascaran atributos como raza, género, edad o discapacidad física, en adición, tal
vez, a la relación social de un individuo dentro de una organización,
 Ilusión de precisión: No es difícil hacer que muchas personas (casi cualquiera) que
no estén familiarizadas con el campo de la computación crea que cualquier
resultado numérico generado por una computadora es correcto. Simplemente no
comprenden que las computadoras se pueden equivocar.

3.3 Conclusión
Desde su inicio las computadoras han ido evolucionando hasta formar una parte muy
importante de nuestra sociedad. La vida es mucho más fácil gracias a ellas, difícilmente
pasamos un solo día sin utilizar una computadora. Su impacto puede ser muy positivo o
también puede llegar a ser negativo dependiendo del uso que nosotros les demos. Y la
profundidad que tengan en nuestra sociedad dependerá de la posición en la que nosotros
coloquemos su uso. Las computadoras nos afectarán tanto como la sociedad lo permita.
4. Definiciones

Lenguaje Máquina
Los lenguajes máquina son aquellos que están escritos en lenguajes directamente
inteligibles por la máquina; en ellos las instrucciones son cadenas binarias (cadenas o
series de caracteres –dígitos- 0 y 1) que especifican una operación y las posiciones
(dirección) de memoria implicadas en la operación y se denominan instrucciones de
máquina o código máquina. El código máquina es el
conocido código binario compuesto esencialmente de
dígitos 0 y 1.

Sus ventajas recaen en la posibilidad de cargar (transferir


un programa a la memoria) sin necesidad de traducción
posterior, lo que supone una velocidad de ejecución
superior a cualquier otro lenguaje de programación.

Los inconvenientes son:

 Dificultad y lentitud en la codificación.


 Poca fiabilidad.
 Dificultad grande de verificar y poner a punto los programas.
 Los programas sólo son ejecutables en el mismo procesador.

Para evitar los lenguajes máquina se han creado otros lenguajes que permiten escribir
programas con instrucciones similares al lenguaje humano, estos lenguajes son los de alto y
bajo nivel.

Lenguajes de Bajo Nivel


Los lenguajes de bajo nivel son más fáciles de utilizar que los lenguajes máquina, pero, al
igual que ellos, dependen de la máquina en particular. El lenguaje de bajo niel por
excelencia es el ensamblador. Las instrucciones en lenguaje ensamblador son
instrucciones conocidas como nemotécnicos. Por ejemplo nemotécnicos típicos de
operaciones aritméticas son: ADD, SUB, DIV, etc.

Una instrucción típica sería:

ADD M, N, P
Mientras que la misma instrucción en código binario se vería algo así:

0110 1001 1010 1011

Un programa escrito en lenguaje ensamblador no puede ser ejecutado directamente por la


computadora, sino que requiere una fase de traducción al lenguaje máquina. El programa
original escrito en lenguaje ensamblador se denomina programa fuente y el programa
traducido en lenguaje máquina se conoce domo programa objeto, ya directamente
entendible por la computadora.

El traductor de programas fuente a objeto es un programa llamado ensamblador.

La ventaja de los lenguajes ensambladores es su mayor facilidad de codificación y en


general, su velocidad de cálculo.

Sus desventajas son:

 Dependencia total de la máquina, lo que impide la transportabilidad de los


programas.
 La formación de los programadores es más compleja que la correspondiente a los
programadores de alto nivel.

Lenguajes de Alto Nivel


Los lenguajes de alto nivel son los más utilizados por los programadores. Están diseñados
para que las personas escriban y entiendan los programas de un modo mucho más fácil que
los lenguajes máquina y ensambladores. Otra razón es que un programa escrito es
independiente de la máquina, no dependen del diseño del hardware o de una computadora
en particular. Son portables, pueden ser ejecutados con poca o ninguna modificación en
diferentes tipos de computadoras.

Sus ventajas son:

 El tiempo de formación de los programadores es relativamente corto.


 La escritura de programas se basa en reglas sintácticas similares a los lenguajes
humanos: nombres de las instrucciones tales como READ, WRITE, PRINT.
 Las modificaciones y puestas a punto de los programas son más fáciles.
 Reducción de coste de los programas.
 Transportablidad.

Sus desventajas son:


 Incremento en el tiempo de puesta a punto al necesitarse diferentes traducciones del
programa fuente para conseguir el programa definitivo.
 No se aprovechan los recursos internos de la máquina, que se explotan mucho mejor
en lenguajes máquina y ensambladores.
 Aumento de la ocupación de memoria.
 El tiempo de ejecución de los programas es mucho mayor.

Traductores de Lenguajes
Los traductores de lenguajes son programas que traducen a su vez los programas fuente
escritos en lenguajes de alto nivel a código máquina. Se dividen en dos: Compiladores e
Intérpretes.

Intérpretes
Un intérprete es un traductor que toma un programa fuente, lo traduce y a continuación lo
ejecuta.

Compiladores
Un compilador es un programa que traduce los programas fuente escritos en lenguajes de
alto nivel a lenguaje máquina.

Arquitectura de Computadoras
La arquitectura en el entorno informático proporciona una descripción de la construcción y
distribución física de los componentes de la computadora. Explica la situación de sus
componentes y permite determinar las posibilidades de que un sistema informático, con una
determinada configuración, pueda realizar las operaciones para las que se va a utilizar. La
arquitectura básica de cualquier ordenador completo está formado por solo 5 componentes
básicos: procesador, memoria RAM, disco duro, dispositivos de entrada/salida y software.
Sistema Numérico
Un sistema numérico son un conjunto de símbolos y reglas que se utilizan para representar
datos numéricos o cantidades. Se caracterizan por su base que indican el número de
símbolos distinto que utiliza y además es el coeficiente que determina cual es el valor de
cada símbolo dependiendo de la posición que ocupe.

Sistemas Operativos
Es el conjunto de programas que administran todos los recursos de la computadora:
operaciones en la memoria central, almacenamiento y recuperación de programas y datos
de discos y cintas en forma de archivos, operaciones de entrada y salida, comunicación con
periféricos, etc.
5. Descripción de Tipos de Programación

Es importante analizar que hay una diferencia en lo que comúnmente creemos que es la
programación y lo que ésta realmente significa, pues en el lenguaje cotidiano podemos
confundir la programación con la codificación.

Por programar se entiende un proceso mental complejo, dividido en varias etapas. La


finalidad de la programación, así entendida, es
comprender con claridad el problema que va a
resolverse o simularse por medio de la computadora, y
entender también con detalle cuál será el
procedimiento mediante el cual la máquina llegará a la
solución deseada.

Por otro lado la codificación constituye una etapa


necesariamente posterior a la programación, y consiste
en describir, en el lenguaje de programación adecuado,
la solución ya encontrada, o sugerida, por medio de la
programación. Es decir, primero se programa la solución de un problema y después hay que
traducirla a la computadora.

Las fases de construcción de un programa son, en orden, las siguientes:

0._ Entender el problema.

1._ Hacer el análisis del mismo (análisis del sistema)

2._Programar el modelo de solución propuesto.

3._Codificarlo

4._Cargarlo a la computadora para su ejecución y ajuste.

5._ Darle mantenimiento durante su tiempo de vida.

Al estudio de los lenguajes en cuanto al enfoque del proceso de programación se le


denomina paradigmas de la programación, entendiéndose el término paradigma como la
forma de ver y hacerlos programas. Dependiendo del problema que se desee resolver y la
forma en que se quiere abordar, se puede utilizar algún paradigma o tipo de programación
diferente.
5.1 Programación Estructurada
Es aquella disciplina que considera el hecho de escribir programas para computadora como
un intento serio de aplicar ciertos metodológicos básicos para resolver un
problema concreto.

El problema concreto es, por supuesto, escribir un programa que haga lo que
se desea resolver con la computadora. Los principios metodológicos básicos
son los de subdividir el problema dado en partes asequibles para su análisis, y
hacer esto de forma tal que ese agilice el proceso de entender por completo
tanto el problema como su solución.

Tratándose de programación, estos módulos o subdivisiones deseadas han de


cumplir lo siguientes requisitos:

1. Deberán ser jerarquizados.


2. Deberán ser pequeños y sencillos.
3. Deberán “esconder” los detalles poco importantes a módulos superiores en la
jerarquía.
4. Deberán, a su vez, usar tantos módulos de más baja jerarquía como sea necesario
para cumplir con el punto 1
5. Deberán usar las estructuras de datos y control adecuadas para cumplir con el punto
1
6. Deberán ser legibles; esto es, que no sólo su autor sea capaz de entenderlos, sino
cualquiera que tenga acceso a ellos y aun conocimiento elemental de programación.
El proceso que se emplea para pasar de la descripción de un problema a la generación de
un programa estructurado para resolverlo consta de los siguientes pasos:

1) Se propone una solución global al problema en términos de una descripción en un


lenguaje llamado pseudocódigo. Esto será el primer acercamiento a la solución. Este
pseudocódigo describirá, de manera aproximada, el procedimiento para resolver el
problema.
2) Se toma el módulo recién generado y se comienza a refinar progresivamente,
tratando de traducir cada una de sus “pseudoinstrucciones” a órdenes inteligibles
para la computadora y verificando, a la par, que esté correcto.
3) Se ejecuta el paso anterior sobre cada uno de los módulos obtenidos, hasta que no
quede nada escrito en pseudocódigo y todo haya sido traducido a lenguaje de
computadora.
4) Fin.
5.2 Programación Orientada a Objetos

La programación orientada a objetos es considerado un nuevo paradigma de la


computación, una nueva forma de ver el mundo y las cosas que nos rodean. Se trata de una
técnica que aumenta considerablemente la
velocidad de desarrollo de los programas
gracias a la reutilización de los objetos. El
elemento principal de la programación orientada
a objetos es el objeto. El objeto es un conjunto
complejo de datos y programas que poseen
estructura y forman parte de una
organización. Un objeto contiene varios datos
bien estructurados y pueden ser visibles o no
dependiendo del programador y las acciones del programa en ese momento.

Hay algunos elementos que son muy importantes dentro de la programación orientada a
objetos:

Mensajes y Métodos: Una acción es iniciada en un programa orientado a objetos por la


transmisión de un mensaje a un agente (objeto) responsable de la acción. Este mensaje
contiene la petición de alguna acción y es acompañado por alguna información adicional
necesaria para realizar la petición. El que receptor es el agente a quien el mensaje es
enviado. Si el receptor acepta el mensaje, acepta la responsabilidad de llevar a cabo la
acción indicada. En respuesta al mensaje, el receptor ejecutará algún método para satisfacer
la petición.

Clases e Instancias: Todos los objetos son instancias de una clase. El método utilizado por
n objeto en respuesta a un mensaje està determinado por la clase del receptor. Todos los
objetos tienen una clase de una clase dada usan el mismo método en respuesta a mensajes
similares.

Herencia: Las clases pueden ser organizadas dentro de una estructura de herencias. Una
subclase heredará atributos desde una superclase mayor en el árbol.

Unión de Métodos: Para buscar un método que utilizar como respuesta de un mensaje, se
comienza en la clase del receptor. Si no se encuentra un método apropiado, la búsqueda se
conduce a la superclase de su clase. La búsqueda continua por la cadena de superclases
hasta que o el método se encuentra o la cadena de superclases se termine.
5.3 Sistemas Numéricos

Un sistema numérico es un conjunto de números que se relacionan para expresar


la relación existente entre la cantidad y la unidad. Debido a que un número es un símbolo,
podemos encontrar diferentes representaciones para expresar una cantidad. Podemos decir
que la programación de sistemas numéricos es la manera en que éstos se utilizan para
resolver el problema de representar cierto número en determinado sistema.

Sistema Decimal
En el sistema de numeración decimal se utilizan diez símbolos, del 0 al 9 para presentar una
determinada cantidad. Los diez símbolos no se limitan a expresar solamente diez cantidades
diferentes, ya que se utilizan varios dígitos en las posiciones adecuadas dentro de un
número para indicar la magnitud de la cantidad.

Base: 10

Símbolos: 0,1,2,3,4,5,6,7,8,9

La posición de cada dígito en un numero decimal indica la magnitud de la cantidad


representada y se la puede asignar un peso. Los pesos para los números enteros son
potencias de 10, que aumentan de derecha a izquierda, comenzando por 100 = 1.

Sistema Binario
EL sistema de numeración binario utiliza solo dos dígitos, el cero y el uno.

En una cifra binaria, cada dígito tiene distinto valor dependiendo de la posición que ocupe.
El valor de cada posición es el de una potencia de base 2, elevada a un exponente igual a
la posición del dígito menos uno.

Base: 2

Símbolos 0,1

El numero binario 1011 tiene un valor que se calcula así:

1*23 + 0*22 + 1*21 + 1*20 , es decir:


8 + 0 + 2 + 1 = 11

Sistema Octal
El inconveniente de la codificación binaria es que la representación de
algunos números resulta muy larga, por este motivo se utilizan otros sistemas
de numeración que resulten más cómodos de escribir: el sistema octal y el sistema
hexadecimal. Afortunadamente resulta muy fácil convertir un numero binario a octal o a
hexadecimal.

Base: 8

Símbolos: 0,1,2,3,4,5,6,7

Ejemplo, el número octal 2738

2*83 + 7*82 + 3*81 = 2*512 + 7*64 + 3*8 = 149610

2738 = 149610

Sistema Hexadecimal
En el sistema hexadecimal los números se representan con dieciséis símbolos:
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,y F. Se utilizan los caracteres A,B,C,D,E y F representando
las cantidades decimales 10,11,12,13,14 y 15 respectivamente, porque no hay dígitos
mayores que 9 en el sistema decimal. El valor de cada uno de estos símbolos depende,
como es lógico, su posición, que se calcula mediante potencias de base 16

Ejemplo calcular el número hexadecimal 1A3F16

1A3F16 = 1*163 + A*162 + 3*161 + F*160

1*4096 + 10*256 + 3*16 + 15*1 = 6719

1A3F16 = 67191
5.4 Otros Tipos de Programación

Programación modular

En la programación modular consta de varias secciones dividas de forma que interactúan a


través de llamadas a procedimientos, que integran el programa en su totalidad.

En la programación modular, el programa principal coordina las llamadas a los módulos


secundarios y pasa los datos necesarios en forma de parámetros.

A su vez cada módulo puede contener sus propios datos y llamar a otros módulos o
funciones.

Programación concurrente

Este tipo de programación se utiliza cuando tenemos que realizar varias acciones a la vez.
Se suele utilizar para controlar los accesos de usuarios y programas a un recurso de forma
simultánea. Se trata de una programación más lenta y laboriosa, obteniendo unos resultados
lentos en las acciones.

Programación funcional

Se caracteriza principalmente por permitir declarar y llamar a funciones dentro de otras


funciones.

Programación lógica

Se suele utilizar en la inteligencia artificial y pequeños programas infantiles. Se trata de una


programación basada en el cálculo de predicados (una teoría matemática que permite lograr
que un ordenador basándose en hecho y reglas lógicas, pueda dar soluciones inteligentes).
6. Los Lenguajes de Programación

Para que un procesador realice un proceso se le debe suministrar en primer lugar un


algoritmo adecuado. El procesador debe ser capaz de interpretar el algoritmo, lo que
significa:

 Comprender las instrucciones de cada paso.


 Realizar las operaciones correspondientes.

Cuando el procesador es una computadora, el algoritmo se ha de expresar en un formato


que se denomina programa. Un programa se escribe en un lenguaje de programación, y las
operaciones que conducen a expresar un algoritmo en forma de programa se llaman
programación. Así pues, los lenguajes utilizados para escribir programas de computadoras
son los lenguajes de programación, y programadores son los escritores y diseñadores de
programas.

Instrucciones a la Computadora
Los diferentes pasos (acciones) de un algoritmo se expresan en los programas como
instrucciones, sentencias o proposiciones (normalmente el término instrucción se suele
referir a los lenguajes máquina y bajo nivel, reservando la sentencia o proposición para los
lenguajes de alto nivel). Por consiguiente, un programa consta de una secuencia de
instrucciones, cada una de las cuáles especifica ciertas operaciones que debe ejecutar la
computadora.

La elaboración de un programa requerirá conocer el juego o repertorio de


instrucciones del lenguaje.

Las instrucciones básicas y comunes a casi todos los lenguajes de programación se pueden
condensar en 4 grupos:

 Instrucciones de entrada/salida:
Instrucciones de transferencia de información y datos entre dispositivos periféricos
(teclado, impresora, unidad de disco, etc.) y la memoria central.

 Instrucciones aritmético-lógicas:
Instrucciones que ejecutan operaciones aritméticas (suma, resta, multiplicación,
división, potenciación), lógicas (operaciones and, or, not, etc.).

 Instrucciones selectivas:
Instrucciones que permiten la selección de tareas alternativas en función de los
resultados de diferentes expresiones condicionales.

 Instrucciones repetitivas:
Instrucciones que permiten la repetición de secuencias de instrucciones un número
determinado o indeterminado de veces.

 Instrucciones especiales:
Instrucciones relativas a gráficos, comunicaciones, etc.
Referencias

Capítulo 1 Introducción a las Computadoras:


Dolores Cuiñas H. (2007). “BREVE INTRODUCCIÓN ALA COMPUTACIÓN”. 8 de
Septiembre del 2015, de Universidad de los Andes Venezuela Sitio web:
http://www.ceidis.ula.ve/cursos/ingenieria/pd_10/clases/Apunt_0.pdf

Capítulo 2 Breve Reseña de la Computación:


GUILLERMO LEVINE GUTIÉRREZ 1984, “Introducción a la Computación y a la
Programación Estructurada” , Editorial McGraw-Hill, impreso en 1990.

Capítulo 3 Impacto de las Computadoras en la Sociedad


Bhim Chimoriya. (2014). “Positive and Negative Impact of Computer in Society”. 5 de
septiembre del 2015, de WISE/BLOG Sitio web:
http://www.wisenepali.com/2014/11/positive-and-negative-impact-of.html

Blaise W. Liffick. (1995). “Social Impact Characteristics of Computer Technology”. 5 de


Septiembre del 2015, de ETHICOMP95 Conference Sitio web:
http://cs.millersville.edu/~bliffick/compchar.html

Capítulo 4 Definiciones
YESENIA CETINA. (2012).” Modelos de Arquitecturas”. 5 de septiembre del 2015, de
Slideshare Sitio web: http://es.slideshare.net/yesyduc10/modelos-de-arquitecturas-de-
computadoras

William Judson LeVeque. (2015). “Numerals and numeral systems”. 5 de Septiembre del
2015, de ENCYCLOPEDIA BRITANNICA Sitio web:
http://global.britannica.com/topic/numeral

Luis Joyanes Aguilar (1995), “Turbo Basic Manual de Programación”. México: McGraw-
Hill
Capítulo 5 Descripción de Tipos de Programación
Timothy Budd. (1991). "Object-Oriented Programming". Estados Unidos: Addison-
Wesley.

Sara Álvarez. (2006). “Tipos de programación”. 7 de Septiembre del 2015, de


desarrolloweb.com Sitio web: http://www.desarrolloweb.com/articulos/2477.php

Edgar Ruíz L.. (2001). “LENGUAJES DE PROGRAMACIÓN: CONCEPTOS Y


PARADIGMAS”. 7 de Septiembre del 2015, de SISBIB Sitio web:
http://sisbib.unmsm.edu.pe/bibvirtual/publicaciones/indata/v04_n1/lenguajes.htm

Alejandra Rojas. ( 2012). “Lógica de Programación”. 7 de septiembre del 2015, de


blogger.com Sitio web: http://logicadeprogramacionusta.blogspot.mx/

Guillermo Levine. (1989). "INTRODUCCIÓN A LA COMPUTACIÓN Y A LA


PROGRAMACIÓN ESTRUCTURADA". MÉXICO: McGRAW-HILL

Capítulo 6 Los Lenguajes de Programación


Luis Joyanes Aguilar (1995), “Turbo Basic Manual de Programación”. México: McGraw-
Hill

Вам также может понравиться