Sunteți pe pagina 1din 52

PROGRAMACIÓN

CFP N° 5 - Curso
2018

Clase N° 2
CLASE ANTERIOR…

 ¿Porque este curso ?


 ¿Cuáles son los objetivos ?
 ¿Cómo será el curso ?
 ¿Qué herramientas vamos a usar?
 ¿Cómo serán las clases?
COMPUTADORAS – HISTORIA – CONCEPTOS –
EVOLUCIÓN
Siglo XVIII Siglo XIX Siglo XX

Almacenamiento de
Siglo XIX datos y la
comunicación

La aparición de las máquinas a vapor

Grandes máquinas mecánicas que


favorecieron la revolución industrial
PRIMEROS CONCEPTOS
COMPUTADORA
Máquina capaz de efectuar una secuencia de operaciones mediante un
programa, de tal manera, que se realice un procesamiento sobre un
conjunto de datos de entrada, obteniéndose otro conjunto de datos de
salida.

TIPOS DE COMPUTADORAS
Se clasifican de acuerdo al principio de operación en Analógicas y
Digitales.
 Computadora Analógica. Aprovechando el hecho de que diferentes
fenómenos físicos se describen por relaciones matemáticas similares
(v.g. Exponenciales, Logarítmicas, etc.) pueden entregar la solución
muy rápidamente. Pero tienen el inconveniente que al cambiar el
problema a resolver, hay que realambrar la circuitería (cambiar el
Hardware).
 Computadora digital. Están basadas en dispositivos biestables, i.e.,
que sólo pueden tomar uno de dos valores posibles: ‘1’ ó ‘0’. Tienen
como ventaja, el poder ejecutar diferentes programas para diferentes
problemas, sin tener que la necesidad de modificar físicamente la
máquina.
EVOLUCIÓN DE LAS COMPUTADORAS
Uno de los primeros dispositivos
para contar fue el ábaco, que
se remonta a los Griegos y
Romanos.
No se lo puede llamar
computadora por carecer de
programas.
EVOLUCIÓN DE LAS COMPUTADORAS

Luego apareció la Pascalina inventada


por Blaise Pascal de Francia y la de
Gottfried Wilhelm von Leibniz de
Alemania. Los datos se representaban
mediante las posiciones de los
engranajes, y se introducían
manualmente estableciendo dichas
posiciones finales de las ruedas
EVOLUCIÓN DE LAS COMPUTADORAS

La primera computadora fue la


máquina analítica creada por
Charles Babbage, profesor
matemático de la Universidad de
Cambridge en el siglo XIX. La idea
que tuvo Charles Babbage sobre
un computador nació debido a que
la elaboración de las tablas
matemáticas era un proceso
tedioso y propenso a errores.
EVOLUCIÓN DE LAS COMPUTADORAS
En 1947 se construyó en la Universidad de
Pennsylvania la ENIAC (Electronic Numerical
Integrator And Calculator) que fue la primera
computadora electrónica. Ocupaba todo un
sótano de la Universidad, tenía más de 18 000
tubos de vacío, consumía 200 KW de energía
eléctrica y requería todo un sistema de aire
acondicionado, pero tenía la capacidad de
realizar cinco mil operaciones aritméticas en
un segundo.
EVOLUCIÓN DE LAS COMPUTADORAS

Luego aparece el ingeniero y


matemático húngaro John von
Neumann, que inventa la EDVAC.

La idea fundamental de von


Neumann fue permitir que en la
memoria coexistan datos con
instrucciones, para que entonces
la computadora pueda ser
programada en un lenguaje, y
no por medio de alambres que
eléctricamente interconectaban
varias secciones de control,
como en la ENIAC
EVOLUCIÓN DE LAS COMPUTADORAS

Llega la país por primera vez una


computadora en 1959, comprada
por la Universidad de Buenos
Aires.
Funcionaba con válvulas
electrónicas y diodos de cristal.
Con más de 5000 componentes
activos y memoria de núcleos
magnéticos de 4 KWords (de 10
bits. Estaba constituida por 14
gabinetes de 60cm que tenían
las funciones de procesador y
memoria de trabajo y de 4
gabinetes de cilindros
magnéticos con una capacidad
total de 64 KWords (de 10 bits),
ocupando todo una habitación
entera.
EVOLUCIÓN DE LAS COMPUTADORAS: PRIMERA GENERACIÓN

Máquinas que son grandes y costosas (ciento de miles de


dólares). Durante la década de los 50.
 Construidas por medio de tubos de vacío.
 Programadas en lenguaje de máquina.
En 1951 aparece la
UNIVAC (NIVersAl
Computer), fue la
primera computadora
comercial, que disponía
de mil palabras de
memoria central y
podían leer cintas
magnéticas.
EVOLUCIÓN DE LAS COMPUTADORAS: SEGUNDA
GENERACIÓN
Las computadoras seguían evolucionando, se reducía su tamaño y
crecía su capacidad de procesamiento.
Se empezó a definir la forma de comunicarse con las
computadoras, que recibía el nombre de programación de
sistemas.
Están construidas con circuitos de transistores.
Se programan en nuevos lenguajes llamados lenguajes de alto
nivel.

Algunas se programaban con cintas perforadas y


otras más por medio de cableado en un tablero.
Los programas eran hechos a la medida por un
equipo de expertos: analistas, diseñadores,
programadores y operadores.
El usuario final de la información no tenía contacto
directo con las computadoras.
EVOLUCIÓN DE LAS COMPUTADORAS: TERCERA GENERACIÓN

 Su fabricación electrónica está


basada en circuitos integrados.

 Su manejo es por medio de los


lenguajes de control de los
sistemas operativos.

A mediados de la década de 1970, aparecen en el mercado


las computadoras de tamaño mediano, o
minicomputadoras que no son tan costosas como las
grandes (mainframes, gran sistema), pero disponen de
gran capacidad de procesamiento
EVOLUCIÓN DE LAS COMPUTADORAS: CUARTA GENERACIÓN
Aparecen los microprocesadores, son circuitos
integrados de alta densidad y con una
velocidad impresionante. Las
microcomputadoras son extremadamente
pequeñas y baratas, por lo que su uso se
extiende al mercado industrial.

Con el surgimiento de las


computadoras personales, el
software y los sistemas que con
Steve Jobs inventa
la primera ellas se manejan han tenido un
microcomputadora considerable avance, porque han
de uso masivo hecho más interactiva la
(Apple) comunicación con el usuario.
Surgen otras aplicaciones como
los procesadores de palabra, las
hojas electrónicas de cálculo, etc.
EVOLUCIÓN DE LAS COMPUTADORAS: QUINTA GENERACIÓN

 Procesamiento en paralelo mediante


arquitecturas y diseños especiales y
circuitos de gran velocidad.
 Manejo de lenguaje natural y
sistemas de inteligencia artificial.
¿QUÉ ES EL SOFTWARE?

Es el conjunto de los programas de cómputo, procedimientos, reglas,


documentación y datos
asociados, que forman parte de las operaciones de un sistema de
computación.

El software puede definirse como “el alma y cerebro de la


computadora”.
CARACTERÍSTICAS DEL SOFTWARE

• El software es intangible, es decir, que se trata de un concepto


abstracto.
• Tiene alto contenido intelectual.
• Su proceso de desarrollo es humano intensivo, es decir que la
materia prima principal radica en la mente de quienes lo crean.
• El software no exhibe una separación real entre investigación y
producción.
• El software puede ser potencialmente modificado, infinitamente.
• El software no se desgasta
• La mayoría del software, en su mayoría, aún se construye a medida.
¿QUÉ ES PROGRAMAR?

Un programa informático o programa de computadora es una secuencia de


instrucciones, escritas para realizar una tarea específica en una
computadora.
La secuencia de instrucciones un programador las escribe en un lenguaje de
programación.
LENGUAJES DE PROGRAMACIÓN

ANTES AHORA
PROGRAMACIÓN Y CONSTRUCCIÓN DE SOFTWARE
El lenguaje máquina está compuesto
de ceros y unos lo que hace que
programar en lenguaje máquina sea un
proceso tedioso y sujeto a errores.

Para eso existen un lenguaje llamado


Assembly (ensamblador) que hace
de traductor entre ese lenguaje
máquina y uno que es más natural
para el humano.
PROGRAMACIÓN Y CONSTRUCCIÓN DE SOFTWARE

Sin embargo los diferentes procesadores


tienen sus propios conjuntos de
instrucciones, lo que hace necesario
conocer las mismas para cada uno, para
esto se inventaron los Lenguajes de Alto
Nivel

FORTRAN en los 50, para resolver problemas


matemáticos
COBOL en los 50, para aplicaciones empresariales
BASIC en los 60, para programadores recién
iniciados
PASCAL, C, C++ en los 70, para problemas
científicos
Luego aparecieron lenguajes multipropósito.
LENGUAJES DE ALTO NIVEL: GENERACIÓN DE LENGUAJE MÁQUINA
LENGUAJES DE ALTO NIVEL
Con estos lenguajes los programas son independientes de la máquina, no
dependen del diseño del hardware de la computadora. Esto significa que son
portables.
Existe un programa especial, llamado compilador que se encarga de
traducir cualquier lenguaje de alto nivel en lenguaje máquina.
Son más fáciles de hacer y de entender.
Compilador

Lenguaje Alto Nivel Lenguaje Bajo Nivel


LENGUAJES DE BAJO NIVEL

● Lenguaje Assembly (ensamblador) o de bajo nivel


○ Versión simbólica de los lenguajes de máquina
○ Por cada instrucción de la máquina o elemento capaz de
almacenar datos se crea un símbolo

○ Sigue siendo dependiente del microprocesador


LENGUAJES DE MÁQUINA

● Cadenas binarias (0 y 1)
● Especifican:
○ Operación
○ Posición de memoria
● Ejemplo de instrucciones
○ Suma de 2 números
enteros y almacenar
resultado en una
posición de memoria
○ Resta de 2 números
reales y almacenar
resultado en una
posición de memoria
LENGUAJES DE MÁQUINA

● Los caracteres se representan mediante la definición de un


conjunto de símbolos para cada uno de los cuales se asocia un
número natural (representable en binario).
● Los valores lógicos se representan de forma inmediata
asociando a los valores “verdadero” y “falso” un valor binario
arbitrario.
● Los enteros sin signo se representan de forma directa y para los
enteros con signo se emplea un bit para indicar el signo del
entero.
● Los reales se dividen en mantisa y exponente representando
ambas partes como enteros con signo
LENGUAJES DE MÁQUINA

● La Unidad Control
“entiende” un conjunto de
instrucciones o “léxico”
determinado, limitado por
las características físicas del
procesador

● La Unidad Aritmético
Lógica utiliza el Álgebra de
Boole para poder realizar
operaciones aritméticas
básicas y funciones
complejas como raíces,
logaritmos y funciones
trigonométricas
SISTEMAS OPERATIVOS
¿ QUÉ ES EL SISTEMA OPERATIVO ?

Es el software principal o conjunto de


programas de un sistema informático
que gestiona los recursos de
hardware y provee servicios a los
programas de aplicación de
software ejecutándose en modo
privilegiado respecto de los restantes
(aunque puede que de él se ejecute en
espacio de usuario)
Software y Sistemas Operativos

Dentro de los tipos de software, uno de los más


importantes es el software de sistema o software de
base, que permite al usuario tener el control sobre el
hardware (componentes físicos) y dar soporte a otros
programas informáticos. Los llamados sistemas
operativos, que comienzan a funcionar cuando se
enciende la computadora, son software de base.
¿QUÉ ES EL SISTEMA OPERATIVO?

Administración de Tareas
Monotarea: Solamente permite ejecutar
un proceso (aparte del propio SO) en un
momento dado. Una vez que empieza a
ejecutar un proceso, continuará
haciéndolo hasta su finalización y / o
interrupción.
Multitarea: Es capaz de ejecutar varios
procesos al mismo tiempo. Este tipo de
SO normalmente asigna los recursos
disponibles (CPU, periféricos) de forma
alternada a los procesos que lo solicitan,
de manera que el usuario perciba que
todos funcionan a la vez de manera
concurrente.
¿QUÉ ES EL SISTEMA OPERATIVO?

Administración de Usuarios
Monousuario: Sólo permite ejecutar los programas de
un usuario al mismo tiempo.
Multiusuario: Permite que varios usuarios ejecuten
simultáneamente sus programas, accediendo a la vez a
los recursos de la computadora.
Normalmente estos sistemas operativos utilizan
métodos de protección de datos, de manera que un
programa no pueda usar o cambiar datos de otro
usuario.
¿QUÉ ES EL SISTEMA OPERATIVO?

Manejo de Recursos
Centralizado: Permite usar los recursos de una solo
computadora.

Distribuido: Permite utilizar los recursos (memoria, CPU,


periféricos ) de más de un computadora al mismo tiempo
ESTRUCTURA INTERNA DE UNA COMPUTADORA
Estructura General y Funcionamiento
Modelo de Von Newman
Unidades de entrada
●Encargadas de recibir la
información que llega del equipo
periférico al equipo central.

Unidades de salida
●Encargadas de enviar
información ya procesada al
exterior.

Unidad central de
procesamiento (CPU)
●Es el microprocesador, también
llamado el cerebro de la
computadora y encargado de
controlar el funcionamiento de
todas las unidades.
Estructura interna del CPU
Unidad aritmética lógica (ALU)
●Se realizan todas las operaciones
( aritméticas y lógicas ).

Unidad de control (CU)


●Dirige y coordina los procesos a realizar.

Unidad de memoria principal (primaria)


Memoria RAM (Random Access Memory). Memoria de acceso aleatorio.
●Almacena datos para acceder rápidamente al sistema operativo, a las
aplicaciones y a los datos en uso.
●La información se borra cuando la computadora es apagada, es decir es
volátil.
Memoria ROM (Read Only Memory). Memoria de sólo lectura.
●Memoria que contiene datos que no pueden ser modificados.
●Permite a la computadora arrancar, es una memoria no volátil.
Memoria central

Random Access Memory ( RAM) se utiliza como


memoria de trabajo de computadoras para el
sistema operativo, los programas y la mayor parte
del software. En la RAM se cargan todas las
instrucciones que ejecuta la unidad central de
procesamiento (procesador) y otras unidades del
computador.

Se denominan «de acceso aleatorio» porque se


puede leer o escribir en una posición de memoria
con un tiempo de espera igual para cualquier
posición, no siendo necesario seguir un orden para
acceder (acceso secuencial) a la información de la
manera más rápida posible.
Unidad elemental de memoria (bit)
La unidad elemental de memoria se llama byte. Un byte tiene la capacidad
de almacenar un carácter de información, y está formado por un conjunto
de unidades más pequeñas de almacenamiento denominadas bits, que
son dígitos binarios que pueden asumir como valor un 0 o un 1.
CONSTRUCCIÓN DEL SOFTWARE
PASOS PARA LA CONSTRUCCIÓN DE UN PROGRAMA

DEFINICIÓN DEL
PROBLEMA
ANÁLISIS DEL
PROBLEMA
DISEÑO DEL
ALGORITMO

CODIFICACIÓN

PRUEBA Y
DEPURACIÓN
Pasos para la construcción de un Programa

● Definir el Problema
Determinar la información inicial para la elaboración del mismo

● Analisis del Problema


Datos de entrada, de salida, métodos y fórmulas

● Diseño del algoritmo


Usar las herramientas de representación de algoritmos

● Codificación
Escribir la solución del problema, en instrucciones detalladas, en un
lenguaje reconocible por la computadora. Conocido como Código Fuente.

● Prueba y Depuración
Se toman escenarios posibles, validos o inválidos y se corre la secuencia del
algoritmo para ver si cumple con los resultados esperados.
SISTEMAS

Teoría General
de los Sistemas

Bertalanffy
SISTEMAS

Otras características:

✓ Límite: Concreto o
Simbólico.
✓ Depósitos: Permanentes
o Transitorios.
✓ Canales.
✓ Subsistemas.
INTERCAMBIO ENTRE SISTEMAS

SISTEMAS
TECNOLÓGICOS
“Sistemas de:
Procesamiento
“Son diseñados por los seres de Materia, de
humanos para que cumplan Procesamiento
con una finalidad específica.” de Energía, de
Información.”
CONSTRUCCIÓN DEL SOFTWARE

PROCESO DE CONSTRUCCIÓN DEL SOFTWARE


Actividades del proceso de
construcción del software

Evolución
del
software.
Validación
del
software.
Desarrollo
del
software.
Especificac
ión del
software.
Cómo se construye el software?
Se construye aplicando un proceso que conduzca a un resultado de
calidad, que satisfaga las necesidades de quienes lo utilizan
Ese proceso define quién está haciendo que, como y cuando
alcanzar un determinado objetivo.

Actividades principales:
1. Especificación del software: donde clientes
y profesionales definen el software que se
construirá, sus características y las
restricciones para su uso.
2. Desarrollo del software, donde se diseña y
programa el software.
3. Validación del software, donde se controla
que el software satisfaga lo que el cliente
quiere.
4. Evolución del software, donde se
incorporan mejoras y nuevas características
que permitirán a ese producto adaptarse a las
necesidades cambiantes del cliente y el
mercado.
CONSTRUCCIÓN DEL SOFTWARE
SOFTWARE

Conjunto de:

• Programas

• Procedimientos

• Reglas

• Documentación

• Datos
RESUMEN
 Computadoras – Historia – Conceptos – Evolución

 Software – Conceptos.

 Que es programar

 Lenguajes de programación

 Sistemas Operativos

 Estructura Interna de una computadora

 Construcción del Software


PRÓXIMA CLASE…

 Introducción a los algoritmos

 Psint

 Primeros algoritmos secuenciales.


GRACIAS !

S-ar putea să vă placă și