You are on page 1of 43

UNIDAD 1.

INTRODUCCIÓN A LA
PROGRAMACIÓN ESTRUCTURADA
Profesor: Carlos Anibal Juárez
Departamento de Electrónica e Informática

Ciclo 01/2018 1
Objetivo de la Unidad


Que el estudiante comprenda la importancia de las
herramientas informáticas para la solución de problemas de
ingeniería.

Ciclo 01/2018 2
Programación y Métodos Numéricos

Computadoras, Tablets,
Teléfonos inteligentes, Para hacer el trabajo de
Programación forma más eficiente
Calculadoras, etc

Resolver Problemas de Ingeniería

Métodos Numéricos

Operaciones aritméticas a resolver en un dispositivo


informáticos

Ciclo 01/2018 3
Solución de Problemas de Ingeniería

Definición del Problema

Teoría Modelo Matemático Datos

Herramientas para resolver problemas: computadoras,


estadísticas, métodos numéricos, gráficas, etc

Resultados Numéricos o gráficos

Relaciones Grupales: programación, optimización, comunicación ,


interacción pública, etc

Instauración

Ciclo 01/2018 4
Conceptos preliminares

▷ Modelo matemático: Formulación o una ecuación


que expresa las características esenciales de un
sistema físico de un proceso en términos
matemáticos.

▷ Por lo general, el modelo se representa mediante una


relación funcional de la siguiente forma:
Variable _ dependiente  f Variable _ independiente, parámetros, función _ de _ fuerzas 

Ciclo 01/2018 5
Conceptos Generales

▷ Un paracaidista con una masa de 68.1kg salta de un


globo aerostático fijo. Calcule la velocidad antes que se
abra el paracaídas. Considere coeficiente de resistencia
es igual a 12.5kg/s…

▷ ¿cómo resolvemos?

Ciclo 01/2018 6
Conceptos preliminares

▷ Segunda ley del Movimiento: La razón del cambio del


momentum con respecto al tiempo de un cuerpo, es igual
a la fuerza resultante que actúa sobre él.
¿Modelo matemático?

F  ma 1.

2.
Describe un proceso o sistema natural en términos
matemáticos.
Representa una idealización y una simplificación de
la realidad.

F 3. Conduce a resultados reproducibles, llega a

a
emplearse con la finalidad de predecir

m
Ciclo 01/2018 7
Historia y clasificación de los lenguajes de
programación

Ciclo 01/2018 8
¿Qué es una computadora? (1)
▷ …. es un dispositivo electrónico, utilizado para
procesar información y obtener resultados, capaz
de ejecutar cálculos y tomar decisiones a velocidades
millones o cientos de millones más rápidas que puedan
hacerlo los seres humanos.
▷ …es “un dispositivo” para realizar cálculos o computar.
▷ … son dos partes distintas: hardware y software.
○ Hardware es la computadora en sí misma.
○ Software es el conjunto de programas que indican a la
computadora las tareas que debe realizar.

Ciclo 01/2018 9
¿Qué es una computadora? (2)

▷ Las computadoras procesan datos


bajo el control de un conjunto de
instrucciones denominadas
programas de computadora
▷ Los datos y la información se pueden
introducir en la computadora por una
entrada (input) y a continuación se
procesan para producir una salida
(output, resultados),
Ciclo 01/2018 10
¿Qué es una computadora? (3)

▷ Entradas

▷ Salidas

Ciclo 01/2018 11
Origen de las computadoras (1)

▷ 30’s la primera computadora digital


○ Dr. John Atanasoff y el estudiante de postgrado Clifford Berry
○ Universidad de Iowa (Iowa State University).
○ Diseñaron la computadora para realizar cálculos matemáticos en
física nuclear.

Ciclo 01/2018 12
Origen de las computadoras (2)

▷ 1946, primera computadora de propósito general: ENIAC


○ Universidad de Pennsylvania, fue financiada por el Ejército de
EE.UU.
○ Pesaba 30 toneladas y ocupaba un espacio de 30 por 50 pies.
○ Se utilizaba esencialmente para predicciones de tiempo, cálculos da
tablas balísticas, cálculos de energía atómica.
○ Diseñadores: J. Prespert Eckert y John Mauchley.

Ciclo 01/2018 13
ENIAC

Ciclo 01/2018 14
Origen de las computadoras (3)

▷ 1946, computadora con programa almacenado


○ el Dr. John Von Neumann de Princeton University
○ consiste en un programa cuyas instrucciones se almacenaban en la
memoria de la computadora.

Ciclo 01/2018 15
Origen de las computadoras (4)
▷ Computadoras primitivas utilizaban
tubos de vacío como componentes
electrónicos básicos.
○ Voluminosas, Lentas, Difícil de manipular, cuidados
especiales
▷ Los avances tecnológicos en
semiconductores, transistores y circuitos
integrados concluyeron en diseñar y
fabricar las nuevas Generaciones
○ Más pequeñas, más rápidas más económicas

Ciclo 01/2018 16
Origen de las computadoras (5)
▷ El 12 de agosto de 1981 IBM
presentó en Nueva York y en otras
ciudades norteamericanas, la
primera computadora de escritorio
de la historia, denominada por su
inventor, IBM PC (Personal
Computer, computadora personal de
IBM), cuyo software fundamental fue
desarrollado por una joven
compañía conocida como Microsoft.
Ciclo 01/2018 17
Clasificación de las computadoras

▷ Las computadoras modernas se pueden clasificar:


▷ Computadoras personales
▷ Servidores
▷ Minicomputadoras
▷ Grandes computadoras (mainframes)
▷ Supercomputadoras.

Ciclo 01/2018 18
Clasificación de las computadoras
Computadoras
Más populares/Laptops y Desktop
Personales
Gestionar y administrar las redes internas de empresas,
Servidores
departamenteos y administrar sitios Web de Internet

Estaciones de Trabajo Superior en capacidad matemática y gráficas que las PC

Rango medio, centros de investigación, departamentos científicos,


Minicomputadoras
proceso numérico y tratamiento de gráficos

Grandes Computadoras Almacenamiento masivo, gran potencia de proceos y


(Mainframes) extremadametne rápidos, Bancos, industrias

Más potentes y sofisticadas en la actualidad. Cálculos complejos y


Supercomputadoras
rápidos.
Ciclo 01/2018 19
Clasificación de las computadoras (3)

▷ Microcomputadoras (handheld computers, computadoras


de mano) que se incorporan en un gran número de
dispositivos electrónicos y que constituyen el corazón y
brazos de los mismos, por su gran capacidad de proceso.
▷ teléfonos inteligentes, cámaras de fotos, cámaras
digitales, videocámaras, etc.,

Ciclo 01/2018 20
Organización física de una computadora (1)

▷ Las computadoras se componen de:


○ Dispositivos de Entrada/Salida (E/S).
○ Unidad Central de Proceso (Unidad de Control y Unidad Lógica y
Aritmética).
○ Memoria central.
○ Dispositivos de almacenamiento masivo de información (memoria
auxiliar o externa).
○ Conexiones de redes de comunicaciones, tales como módems,
conexión Ethernet, conexiones USB, conexiones serie y paralelo,
conexión Firewire, etc.

Ciclo 01/2018 21
Organización física de una computadora (2)

▷ Unidad Central de Proceso (Unidad de Control y Unidad


Lógica y Aritmética).

Ciclo 01/2018 22
Organización Física de una computadora (3)
▷ Lenguaje compuesto únicamente por ceros y unos.
▷ Esta forma de comunicación se denomina sistema binario digital y en el
caso concreto de las máquinas computadoras, código o lenguaje
máquina.
▷ Este lenguaje máquina utiliza secuencias o patrones de ceros y unos
para componer las instrucciones

Ciclo 01/2018 23
Organización Física de una computadora (4)
▷ El programa  memoria secundaria a la memoria principal antes de que pueda ser
ejecutado.
▷ Los datos se deben proporcionar por alguna fuente.
○ dispositivo de entrada.
○ archivo (fichero)
○ máquina remota conexión de red
▷ Los datos se almacenan en la memoria principal la cual se puede acceder y manipular
mediante la unidad central de proceso (UCP).
▷ Los resultados de esta manipulación se almacenan de nuevo en la memoria principal.
▷ Los resultados (la información) de la memoria principal
○ visualizar en un dispositivo de salida
○ guardar en un almacenamiento secundario
○ enviarse a otra computadora conectada con ella en red.

Ciclo 01/2018 24
Organización Física de una computadora (5)

Ciclo 01/2018 25
Organización Física de una computadora (6)

▷ Los paquetes de datos (de 8, 16, 32, 64 o más bits a la


vez) se mueven continuamente entre la CPU y todos los
demás componentes (memoria RAM, disco duro, etc.).
▷ Estas transferencias se realizan a través de buses.
▷ Los buses son los canales de datos que interconectan los
componentes del PC

Ciclo 01/2018 26
Organización Física de una computadora (7)

▷ Los dispositivos de Entrada/Salida (E/S) [Input/Output


(I/O) en inglés] permiten la comunicación entre la
computadora y el usuario.

Ciclo 01/2018 27
Organización Física de una computadora (8)
▷ La memoria central (RAM, Random, Access
Memory)
○ utiliza para almacenar, de modo temporal información, datos y
programas.
○ puede ser estática (SRAM) o dinámica (DRAM) según sea el proceso
de fabricación.
▷ La memoria ROM, es una memoria que almacena
información de modo permanente en la que no se
puede escribir (viene pregrabada “grabada” por el
fabricante) ya que es una memoria de sólo lectura.
○ Los programas almacenados en ROM no se pierden al apagar la
computadora y cuando se enciende, se lee la información almacenada
Ciclo 01/2018
en esta memoria. 28
Organización Física de una computadora (9)

▷ En la memoria principal se
almacenan:
▷ Los datos enviados para
procesarse desde los dispositivos
de entrada.
▷ Los programas que realizarán los
procesos.
▷ Los resultados obtenidos
preparados para enviarse a un
Ciclo 01/2018
dispositivo de salida. 29
Organización Física de una computadora (10)

Ciclo 01/2018 30
Organización Física de una computadora (11)
▷ El procesador o Unidad Central de Proceso, UCP (CPU, Central
Processing Unit) controla el funcionamiento de la computadora y realiza
sus funciones de procesamiento de los datos, constituyendo el cerebro y
corazón de la computadora o también su sistema nervioso. Se encarga
de un modo práctico de realizar numerosos cálculos y operaciones
ordenadas por los diferentes programas instalados en la computadora.

Ciclo 01/2018 31
Software(1)

▷ El software de una computadora es un conjunto de


instrucciones de programa detalladas que controlan y
coordinan los componentes hardware de una
computadora y controlan las operaciones de un sistema
informático
▷ Un programa de software es un conjunto de sentencias o
instrucciones a la computadora. El proceso de escritura o
codificación de un programa se denomina programación y
las personas que se especializan en esta actividad se
Ciclo 01/2018
denominan programadores. 32
Software(2)
▷ Existen dos tipos importantes de software: software del
sistema y software de aplicaciones.
▷ El software del sistema
▷ es un conjunto generalizado de programas que gestiona
los recursos de la computadora, tal como el procesador
central, enlaces de comunicaciones y dispositivos
periféricos..
▷ El software de aplicaciones es el conjunto de programas
escritos por empresas o usuarios individuales o en equipo
y que instruyen a la computadora para que ejecute una
tarea específica
Ciclo 01/2018 33
Software (3)

▷ El software del sistema


○ sistema operativo, los editores de
texto, los compiladores/intérpretes
(lenguajes de programación) y los
programas de utilidad.
▷ Un sistema operativo SO
(Operating System, OS) es tal
vez la parte más importante del
software del sistema y es el
software que controla y gestiona
Ciclo 01/2018
los recursos de la computadora.34
Software (4)

▷ El software de aplicación tiene como función principal


asistir y ayudar a un usuario de una computadora para
ejecutar tareas específicas. Los programas de aplicación
se pueden desarrollar con diferentes lenguajes y
herramientas de software.

Ciclo 01/2018 35
Lenguajes de Programación (1)
▷ Los lenguajes de programación sirven
para escribir programas que permitan
la comunicación usuario/máquina.
▷ Unos programas especiales llamados
traductores (compiladores o
intérpretes) convierten las
instrucciones escritas en lenguajes de
programación en instrucciones escritas
en lenguajes máquina (0 y 1, bits) que
ésta pueda entender.

Ciclo 01/2018 36
Lenguajes de Programación (2)
▷ Los lenguajes utilizados para escribir programas de computadoras son los lenguajes de
programación.
▷ Los programadores son los escritores y diseñadores de programas.
▷ El proceso de traducir un algoritmo en pseudocódigo a un lenguaje de programación se
denomina codificación, y el algoritmo escrito en un lenguaje de programación se
denomina código fuente.
▷ En la realidad la computadora no entiende directamente los lenguajes de programación
sino que se requiere un programa que traduzca el código fuente a otro lenguaje que sí
entiende la máquina directamente, pero muy complejo para las personas; este lenguaje
se conoce como lenguaje máquina y el código correspondiente código máquina.
▷ Los programas que traducen el código fuente escrito en un lenguaje de programación
—tal como C++— a código máquina se denominan traductores.

Ciclo 01/2018 37
Lenguajes de programación (3)

Algoritmo: Conjunto ordenado de operaciones sistemáticas que permite hacer un cálculo y hallar la solución de un tipo de
problemas.

Ciclo 01/2018 38
Lenguajes de programación (4)
▷ El sistema de codificación se conoce como lenguaje máquina que es el
lenguaje nativo de una computadora.
○ tediosa y difícil
○ sus instrucciones son secuencias de 0 y 1 (patrones de bit, tales como 11110000,
01110011...)
▷ Se necesitan lenguajes de programación “amigables con el
programador” que permitan escribir los programas para poder “charlar”
con facilidad con las computadoras.
▷ Cada lenguaje de programación tiene un conjunto o “juego” de
instrucciones (acciones u operaciones que debe realizar la máquina)
que la computadora podrá entender directamente en su código máquina
o bien se traducirán a dicho código máquina
Ciclo 01/2018 39
Lenguajes de programación (5)
▷ Las instrucciones básicas y comunes en casi todos los lenguajes de
programación son:
○ Instrucciones de entrada/salida. Instrucciones de transferencia de información entre
dispositivos periféricos y la memoria central, tales como "leer de..." o bien "escribir en...".
○ Instrucciones de cálculo. Instrucciones para que la computadora pueda realizar operaciones
aritméticas.
○ Instrucciones de control. Instrucciones que modifican la secuencia de la ejecución del
programa.
○ según lenguaje programación existirán otras que conformarán el conjunto de instrucciones y
junto con las reglas de sintaxis permitirán escribir los programas de las computadoras.
▷ Los principales tipos de lenguajes de programación son:
○ Lenguajes máquina.
○ Lenguajes de bajo nivel (ensambladores).
○ Lenguajes de alto nivel.

Ciclo 01/2018 40
Lenguajes de programación (6)
▷ El proceso de traducción de un programa fuente escrito en un lenguaje
de alto nivel a un lenguaje máquina comprensible por la computadora,
se realiza mediante programas llamados “traductores”.
▷ Los traductores de lenguaje son programas que traducen a su vez los
programas fuente escritos en lenguajes de alto nivel a código máquina.
Los traductores se dividen en compiladores e intérpretes.
▷ Un intérprete es un traductor que toma un programa fuente, lo traduce y,
a continuación, lo ejecuta.
▷ Un compilador es un programa que traduce los programas fuente
escritos en lenguaje de alto nivel a lenguaje máquina.

Ciclo 01/2018 41
Lenguajes de programación (7)

▷ Intérprete ▷ Compilador

Ciclo 01/2018 42
Lenguajes de Programación (8)

▷ Octave o GNU Octave es


un programa libre para
realizar cálculos
numéricos.

Ciclo 01/2018 43

You might also like