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

TEMA 1.

INTRODUCCIN A LA INFORMTICA
Y LA PROGRAMACIN
Grado en Ingeniera en Tecnologas Industriales
Programacin

M.P. Sesmero, P. de Toledo, F.J. Ordoez, J. Gmez-Romero, J.A. Iglesias, J.L. Mira

Programacin
Tema 1. Introduccin

Programacin
Tema 1. Introduccin

CONTENIDOS
1.1. INFORMTICA Y

ORDENADORES

1.1.1. INFORMTICA Y ORDENADORES


1.1.2. EVOLUCIN HISTRICA DE LOS ORDENADORES

1.2. REPRESENTACIN DE LA INFORMACIN


1.3. ALGORITMOS Y PROGRAMAS
1.3.1. CONCEPTOS DE ALGORITMO Y PROGRAMA
1.3.2. HERRAMIENTAS PARA EL DISEO DE ALGORITMOS

1.4. LA INFORMTICA EN LA PROFESIN DEL INGENIERO INDUSTRIAL


2

1.1. INFORMTICA Y ORDENADORES


1.1.1. INFORMTICA Y ORDENADORES
1.1.2. EVOLUCIN HISTRICA DE LOS ORDENADORES

1.2. REPRESENTACIN DE LA INFORMACIN


1.3. ALGORITMOS Y PROGRAMAS
1.3.1. CONCEPTOS DE ALGORITMO Y PROGRAMA
1.3.2. HERRAMIENTAS PARA EL DISEO DE ALGORITMOS

1.4. LA INFORMTICA EN LA PROFESIN DEL INGENIERO INDUSTRIAL

1.1. INFORMTICA Y ORDENADORES

M.P. Sesmero, P. de Toledo, F.J. Ordoez, J. Gmez-Romero, J.A. Iglesias, J.L. Mira

Programacin
Tema 1. Introduccin

Programacin
Tema 1. Introduccin

1.1. INFORMTICA Y

ORDENADORES

1.1.1. INFORMTICA Y ORDENADORES


1.1.2. EVOLUCIN HISTRICA DE LOS ORDENADORES

1.2. REPRESENTACIN DE LA INFORMACIN


1.3. ALGORITMOS Y PROGRAMAS
1.3.1. CONCEPTOS DE ALGORITMO Y PROGRAMA
1.3.2. HERRAMIENTAS PARA EL DISEO DE ALGORITMOS

1.4. LA INFORMTICA EN LA PROFESIN DEL INGENIERO INDUSTRIAL


4

Programacin
Tema 1. Introduccin

1.1.1. Informtica y Ordenadores

Informtica
Conjunto de conocimientos cientficos y tcnicas que hacen
posible el tratamiento automtico de la informacin por
medio de los ordenadores (RAE)

(Informatica = INFORmacin + autoMTICA)

En literatura anglosajona
Computer Science, ciencia de los computadores
Computer Engineering
IT Engineering

Programacin
Tema 1. Introduccin

1.1.1. Informtica y ordenadores

Ordenadores
Ordenador, computador o computadora:
Mquinas formadas por elementos de tipo electrnico, capaces de
aceptar unos datos de entrada, realizar con ellos gran variedad de
tareas (operaciones) y proporcionar la informacin resultante a travs
de un medio de salida, bajo el control de unas instrucciones
(programa), previamente almacenadas en el propio computador.

Hoy en da presentes en prcticamente cualquier actividad

Programacin
Tema 1. Introduccin

1.1.1. Informtica y ordenadores

Ordenadores
Por tratamiento automtico de la informacin entendemos:
Adquisicin de informacin mediante los elementos de entrada:
lectura
Representacin de la informacin de forma que pueda ser tratada por
el ordenador
Tratamiento de la informacin mediante operaciones lgicas y
aritmticas: clculo aritmtico y lgico
Almacenamiento de informacin
Transmisin de informacin mediante los elementos de salida: registro,
escritura

Programacin
Tema 1. Introduccin

1.1.1. Informtica y ordenadores

Ordenadores
Caractersticas de los ordenadores :
Gran velocidad de tratamiento de la informacin.
Gran potencia de clculo
Facultad para memorizar los programas y datos necesarios para
resolver problemas
Facultad de comunicacin con las personas y otras mquinas

Programacin
Tema 1. Introduccin

1.1.1. Informtica y ordenadores

Elementos Fundamentales de un Ordenador


Soporte Fsico: Hardware.
Elementos mecnicos y electrnicos que componen fsicamente el
ordenador
memoria, monitor, teclado,

Soporte lgico: Software.


Es la parte lgica que dota al soporte fsico de la capacidad para
realizar tareas.
Conjunto de programas que hacen posible el funcionamiento del
ordenador
Procesador de texto, editor de imgenes, videojuegos,..
9

Programacin
Tema 1. Introduccin

1.1.1. Informtica y ordenadores

Tipos de Ordenadores
Atendiendo a sus prestaciones los ordenadores se pueden
clasificar en
Supercomputadores: clculo intensivo de tipo cientfico y tcnico
Servidores de gama alta: acceso a grandes bancos de datos desde
muchos terminales (cientos de miles de usuarios simultneos)
Servidor bsico: aplicaciones mltiples en empresas a travs de la red
(decenas de usuarios simultneos)
Computadores personales: aplicaciones mltiples con un solo usuario
Computadores mviles: computadores muy reducidos, en los que se
reducen las prestaciones a cambio de conseguir mayor movilidad
(agendas digitales, telfonos mviles tipo smartphone, tablet pcs)
10

Programacin
Tema 1. Introduccin

1.1. INFORMTICA Y

ORDENADORES

1.1.1. INFORMTICA Y ORDENADORES


1.1.2. EVOLUCIN HISTRICA DE LOS ORDENADORES

1.2. REPRESENTACIN DE LA INFORMACIN


1.3. ALGORITMOS Y PROGRAMAS
1.3.1. CONCEPTOS DE ALGORITMO Y PROGRAMA
1.3.2. HERRAMIENTAS PARA EL DISEO DE ALGORITMOS

1.4. LA INFORMTICA EN LA PROFESIN DEL INGENIERO INDUSTRIAL


11

Programacin
Tema 1. Introduccin

1.1.2. Informtica y Ordenadores. Evolucin Histrica

Antecedentes y Evolucin Histrica

Info

Origen: Deseo de eludir trabajos repetitivos, tratar de manera


automtica la informacin.
Clculos
baco: orgenes en babilonia o
china, aprox 3500 a.c.,
Mquina aritmtica de Pascal:
1642
Calculadora universal de
Leibniz 1671 (+,-,*,/. sqrt)

Programacin tareas
Telar automtico Jacquard
1801
Idea de instrucciones
almacenadas

baco Chino
Fuente: Wikimedia Commons [link]

12

Programacin
Tema 1. Introduccin

1.1.2. Informtica y Ordenadores. Evolucin Histrica

Info

Mquina aritmtica de Pascal.


Fuente: Wikimedia Commons [link]

1642

13

Programacin
Tema 1. Introduccin

1.1.2. Informtica y Ordenadores. Evolucin Histrica

Info

Telar Jacquard
Fuente: Wikimedia Commons [link]

14

Programacin
Tema 1. Introduccin

1.1.2. Informtica y Ordenadores. Evolucin Histrica

Antecedentes y Evolucin Histrica

Info

Charles Babbage
Matemtico ingls, 1801 S XIX
Mquina de diferencias
(Diferential Engine)
clculo de polinomios y
tablas matemticas
Maquina analtica
(Analitical Engine)
Precursor del ordenador:
Introduce conceptos como
unidad de control,
memoria, perifricos,
programa
no se construy

Mquina Diferencial de Babbage


Fuente: : Wikimedia Commos [link]

15

Programacin
Tema 1. Introduccin

1.1.2. Informtica y Ordenadores. Evolucin Histrica

Antecedentes y Evolucin Histrica

Info

Mquina tabuladora de Hollerit


Censo EEUU
31.4 millones de habitantes
12 aos para procesar los
datos del censo
Mquina tabuladora
1885
Electromecnica
Mecanizacin del
procesamiento con tarjetas
perforadas
La mquina separan las
tarjetas y las cuenta
Luego los datos se transcriben
manualmente
Redujo el procesamiento a 3 aos

Fuente: Wikimedia Commons [link]


La primera tabuladora en llegar a Espaa lo hizo en
1925 y se instal en la entonces denominada
Compaa Telefnica Nacional de Espaa. En 1926
se instal otra en el ayuntamiento de Barcelona

16

Programacin
Tema 1. Introduccin

1.1.2. Informtica y Ordenadores. Evolucin Histrica

Primeros Ordenadores

Info

Mark I
1937. Howard Aiken en la Universidad de Harvard, financiado
por IBM
Primer ordenador electromecnico, siguiendo la teora de
Babbage
Formado por rels

Mark I
Fuente: Wikemedia
Commons [link]

17

Programacin
Tema 1. Introduccin

1.1.2. Informtica y Ordenadores. Evolucin Histrica

Primeros Ordenadores
Rel
Conmutador que contiene un contacto mecnico para abrir o cerrar un
circuito elctrico
Para ello se aplica una pequea corriente en un electroimn, que atrae
o repele la lengeta de contacto

Rel. Fuente: Wikimedia Commons [link]

18

Programacin
Tema 1. Introduccin

1.1.2. Informtica y Ordenadores. Evolucin Histrica

Primeros Ordenadores

Info

ENIAC (Electronic Numeric Integrator and Calculator)

1946. Mauchly y Eckert


Primer computador electrnico de uso general
Laboratorio de balstica
1800 vlvulas de vaco y 1500 rels
Memoria con 20 acumuladores

ENIAC
Fuente: Wikimedia Commons [link] [video]

19

Programacin
Tema 1. Introduccin

1.1.2. Informtica y Ordenadores. Evolucin Histrica

Primeros Ordenadores

Info

1944. Von Neumann


Desarroll el concepto de programa interno: las instrucciones y los
datos estn almacenados en la memoria del ordenador.
Escribi el fundamento terico de un ordenador electrnico, que sigue
vigente

John von Neumann


Fuente: madrimasd.org [link]

20

Programacin
Tema 1. Introduccin

1.1.2. Informtica y Ordenadores. Evolucin Histrica

Generaciones de Ordenadores
A partir de 1950 se van desarrollando ordenadores cada vez
ms potentes y de menor tamao, en paralelo con el
progreso de la electrnica
Se habla de cinco generaciones
El paso de cada generacin a la siguiente est marcado por la
aparicin de una tecnologa que supone un cambio
significativo respecto a la disponible anteriormente.

21

Programacin
Tema 1. Introduccin

1.1.2. Informtica y Ordenadores. Evolucin Histrica

Generaciones de Ordenadores
Primera generacin: 1950-1960.
Emplean vlvulas de vaco como elemento fundamental
Las vlvulas requieren de un gran consumo energtico y
desprenden gran cantidad de calor
Programacin en lenguaje mquina
Almacenamiento en tarjetas perforadas
Son mquinas grandes y pesadas
Posibilidades limitadas y frecuentes averas
Se emplean en mbitos militares y cientficos
Algunos nombres:
UNIVAC I, IBM series 600 y 700
Vlvula de vaco: Compactron 12AE10
Source: Wikipedia [link]

22

Programacin
Tema 1. Introduccin

1.1.2. Informtica y Ordenadores. Evolucin Histrica

Generaciones de Ordenadores
Segunda generacin: 1960-1966
Se utilizan transistores (silicio dopado)
menor consumo elctrico, irradian menos calor
vida superior a las vlvulas, menos averas.
Aparecen los primeros lenguajes de programacin de alto nivel en la,
entre ellos Fortran y Cobol
Utilizacin generalizada de memorias de ferrita
Son ms pequeos, fiables y econmicos
Son ms rpidos, capaces de realizar un cientos de miles de
instrucciones por segundo
Se emplean fundamentalmente en mbitos militares, pero ya
comienzan las primeras aplicaciones administrativas y de gestin.
Algunos nombres:
1620, 1401 y 7094 de IBM. 1107 de UNIVAC

23

Programacin
Tema 1. Introduccin

1.1.2. Informtica y Ordenadores. Evolucin Histrica

Memoria de ncleos de Ferrita


Fuente: Wikipedia [link]

Transistores
Source: Wikipedia [link]

24

Programacin
Tema 1. Introduccin

1.1.2. Informtica y Ordenadores. Evolucin Histrica

IBM 7090 (1959)


Fuente: FotosImagenes.Org [link]

25

Programacin
Tema 1. Introduccin

1.1.2. Informtica y Ordenadores. Evolucin Histrica

Generaciones de Ordenadores
Tercera generacin: 1966- 1971
Se utilizan circuitos integrados
Circuitos creados en pequeas placas de silicio (tambin llamados
chips).
Son pequeos por lo que se reduce el tamao, el consumo y el
precio, aumentando la fiabilidad.
Se increment la velocidad pasando a 1 milln de instrucciones por
segundo.
Gran desarrollo de los sistemas operativos.
Aparecen familias de ordenadores que hacen compatible el uso de
programas.
Comercializacin de los discos flexibles
360 y 370 de IBM, 1108 de UNIVAC

26

Programacin
Tema 1. Introduccin

Circuitos integrados de Pequea


y Mediana Escala.

1.1.2. Informtica y Ordenadores. Evolucin Histrica

IBM 360 Modelo 91


Fuente: Wikipedia [link]

Fuente: History of Electronic Devices [link]

27

Programacin
Tema 1. Introduccin

1.1.2. Informtica y Ordenadores. Evolucin Histrica

Generaciones de Ordenadores
Cuarta generacin: 1971- (1981?)
Aparece el microprocesador
Un nico circuito integrado que realiza todas las funciones bsicas
del ordenador
Utilizacin de memorias electrnicas
gran avance en tiempo de acceso a los datos
Contina el avance en potencia y velocidad de clculo
Desarrollo avanzado del hardware (perifricos, memorias con alta
capacidad)
Desarrollo del software (lenguajes avanzados de programacin: C, C++)
IBM 370 (1971) IBM-PC (1981)
28

Programacin
Tema 1. Introduccin

1.1.2. Informtica y Ordenadores. Evolucin Histrica

Microprocesador PICO1/GI250
Fuente: Wikipedia [link]

Ejemplos del avance de los ordenadores:


Ncleos de ferrita: 64 Kbits= 1m; Chip (1981) 64kb= 1cm2
IBM 370 dos pisos, 32 kbytes
hoy?

29

Programacin
Tema 1. Introduccin

1.1.2. Informtica y Ordenadores. Evolucin Histrica

Generaciones de Ordenadores

Info

Quinta generacin?
La mayora de autores considera que no se ha dado un salto
tecnolgico para hablar de una nueva generacin
Qu definir la quinta generacin?
Auge de los ordenadores personales (1981)
Comunicaciones en red (Internet)
Inteligencia artificial

30

1.1. INFORMTICA Y ORDENADORES


1.1.1. INFORMTICA Y ORDENADORES
1.1.2. EVOLUCIN HISTRICA DE LOS ORDENADORES

1.2. REPRESENTACIN DE LA INFORMACIN


1.3. ALGORITMOS Y PROGRAMAS
1.3.1. CONCEPTOS DE ALGORITMO Y PROGRAMA
1.3.2. HERRAMIENTAS PARA EL DISEO DE ALGORITMOS

1.4. LA INFORMTICA EN LA PROFESIN DEL INGENIERO INDUSTRIAL

1.2. REPRESENTACIN DE LA INFORMACIN

M.P. Sesmero, P. de Toledo, F.J. Ordoez, J. Gmez-Romero, J.A. Iglesias, J.L. Mira

Programacin
Tema 1. Introduccin

Programacin
Tema 1. Introduccin

1.2. Representacin de la informacin

Informacin
Informacin
Conjunto de datos que, estructurados en un orden determinado, aportan
conocimiento sobre un tema.

Informtica
Conjunto de conocimientos cientficos y tcnicos que hacen posible el
tratamiento automtico de la informacin por medio de los ordenadores

Necesidad de representar la informacin sobre un problema para


poder tratarla utilizando un ordenador
Representacin de la informacin en un formato que pueda ser
almacenado y procesado por el ordenador

32

Programacin
Tema 1. Introduccin

1.2. Representacin de la informacin

Informacin, dato
Dato, segn la RAE
1. m. Antecedente necesario para llegar al conocimiento exacto de algo
o para deducir las consecuencias legtimas de un hecho.
3. m. Inform. Informacin dispuesta de manera adecuada para su
tratamiento por un ordenador.

Dato en informtica: representacin formalizada de hechos o


conceptos susceptible de ser comunicada o procesada.
Un conjunto de datos ordenado constituye informacin.

Tipos de datos

Numricos (12, 28.5): reales o enteros


Alfabticos (Ana)
Alfanumricos: 23456X, M-6995
Imgenes, sonido, video,

33

Programacin
Tema 1. Introduccin

1.2. Representacin de la informacin

Representacin de la Informacin
Los medios electrnicos de almacenamiento / procesamiento
slo disponen de dos estados

interruptor (rel) abierto-cerrado


paso o no paso de corriente
magnetizacin en un sentido u otro

La informacin procesada por un ordenador son siempre 1s y 0s


Necesidad de 'traducir' cualquier dato a una combinacin de esos dos
smbolos
Notacin binaria

34

Programacin
Tema 1. Introduccin

1.2. Representacin de la informacin

Bit y Byte
BIT
Los dgitos en el sistema de numeracin binario se llaman bits (BIT=
Binary digit)
Es la unidad ms pequea de informacin, un uno o un cero

Byte
Conjunto de 8 bits
Tambin se llama Octeto o Carcter (porque con un byte se suele
codificar un carcter)

35

Programacin
Tema 1. Introduccin

1.2. Representacin de la informacin

Representacin de Nmeros
Enteros
Un numero entero puede ser representado en base dos (sistema de
numeracin binario)
25= 16 + 8 + 1 = 1 x 24 + 1 x 23 + 0 x 22 + 0 x 21 +1x20 = 11001
Mdulo y signo
Se usa un bit adicional para representar el signo
Representacin en complemento
Ms apropiada para el procesamiento de la informacin en un
ordenador

Uso de la codificacin hexadecimal y octal


Se utiliza para resumir nmeros codificados en binario
El nmero binario
1010110001101101
Es en octal
126155
Y en hexadecimal
AC6D

36

Programacin
Tema 1. Introduccin

1.2. Representacin de la informacin

Representacin de Nmeros
Reales
Se representan por separado los tres elementos del nmero en notacin cientfica:
base, mantisa y exponente
Ejemplo: 0,123 x 10-4
Se representan por separado base (10), mantisa (0,123) y exponente (-4)
Permite representar rangos grandes de nmeros usando pocos bits
Actualmente se usa un sistema normalizado: norma IEEE 754
32 bits
Base 2, est predeterminada, por lo que no es necesario codificarla
Signo: un bit, 0 = +, 1= Exponente: 8 bits
Mantisa:23 bits
Al representar de esta forma se pierde precisin
!Cuidado al comparar nmeros! El ordenador slo los considera iguales si todos
los bits son iguales.
La norma IEEE 754 tambin contempla usar 64 bits (doble precisin)

37

Programacin
Tema 1. Introduccin

1.2. Representacin de la informacin

Codificacin de Caracteres Alfanumricos


Cdigos de caracteres
cdigo = correspondencia biunvoca entre un conjunto de caracteres y
un conjunto de combinaciones de bits (tabla)
caracteres: numricos, alfabticos, alfanumricos, especiales y de
control

Cdigo ASCII extendido


American Standard Code for Information Interchange
ASCII : solo 7 bits de los 8 que forman el byte
el bit ms significativo (izquierda) no se utilizaba
Se pueden representar 27= 128 caracteres distintos
ASCII extendido: 8 bits
Con 8 bits (1 byte) se pueden representar 28 = 256 caracteres
diferentes

38

Programacin
Tema 1. Introduccin

1.2. Representacin de la informacin

Codificacin de Caracteres Alfanumricos


Tabla de cdigos
ASCII

39

Programacin
Tema 1. Introduccin

1.2. Representacin de la informacin

Representacin de Sonido
El sonido es analgico
Hay que empezar por discretizarlo: muestreo (sampling)
Cada muestra se codifica (por ejemplo como un entero con un byte)

Se pierde informacin
La calidad del sonido reconstruido depender de:
Nmero de muestras por segundo
Nmero de bits usados para codificar cada muestra

40
4 8 12 13 12 10 8

Programacin
Tema 1. Introduccin

1.2. Representacin de la informacin

Representacin bsica de Imgenes


Tambin es necesario muestrearla
Divisin de la imagen en una matriz de pxeles
A cada pxel se le asocia un valor (1 o 0, para blanco y negro, varios bits
por pxel para imagen en color)
00000000
00110110
00100010
00100010
00110110
00000000
00110110
00000000

Hay otras formas ms ptimas (con compresin)

41

Programacin
Tema 1. Introduccin

1.2. Representacin de la informacin

Representacin bsica de Imgenes


La calidad de una imagen depender de:
Resolucin: nmero de pxeles por unidad de superficie
Nmero de bits por pxel (8,16,24,32)
8 bits por pxel permite representar 256 colores diferentes

256 colores

40 pxeles / cm
32.000 colores

16 colores

2 colores

8 pxeles / cm
32.000 colores

42

1.1. INFORMTICA Y ORDENADORES


1.1.1. INFORMTICA Y ORDENADORES
1.1.2. EVOLUCIN HISTRICA DE LOS ORDENADORES

1.2. REPRESENTACIN DE LA INFORMACIN


1.3. ALGORITMOS Y PROGRAMAS
1.3.1. CONCEPTOS DE ALGORITMO Y PROGRAMA
1.3.2. HERRAMIENTAS PARA EL DISEO DE ALGORITMOS

1.4. LA INFORMTICA EN LA PROFESIN DEL INGENIERO INDUSTRIAL

1.3. ALGORITMOS Y PROGRAMAS

M.P. Sesmero, P. de Toledo, F.J. Ordoez, J. Gmez-Romero, J.A. Iglesias, J.L. Mira

Programacin
Tema 1. Introduccin

Programacin
Tema 1. Introduccin

1.1. INFORMTICA Y

ORDENADORES

1.1.1. INFORMTICA Y ORDENADORES


1.1.2. EVOLUCIN HISTRICA DE LOS ORDENADORES

1.2. REPRESENTACIN DE LA INFORMACIN


1.3. ALGORITMOS Y PROGRAMAS
1.3.1. CONCEPTOS DE ALGORITMO Y PROGRAMA
1.3.2. HERRAMIENTAS PARA EL DISEO DE ALGORITMOS

1.4. LA INFORMTICA EN LA PROFESIN DEL INGENIERO INDUSTRIAL


44

Programacin
Tema 1. Introduccin

1.3.1. Conceptos de Algoritmo y Programa

Algoritmo
Un algoritmo es una secuencia finita y precisa de
instrucciones o pasos que permiten resolver un problema
dado.
Transforma los datos iniciales en los resultados deseados.

El algoritmo permite automatizar una operacin


Ejemplos
Algoritmo para ordenar una lista de nmeros
Algoritmo para distribuir los escaos de un parlamento segn los votos
45

Programacin
Tema 1. Introduccin

1.3.1. Conceptos de Algoritmo y Programa

Programas
Programa
Conjunto de rdenes que se le dan a un ordenador para que realice un
determinado proceso
Es el resultado de traducir un algoritmo a un lenguaje que entiende el
ordenador (lenguaje de programacin).
Resuelve un problema mediante el uso de un ordenador

Una instruccin es una orden lanzada al ordenador


Un programa es un conjunto de instrucciones
46

Programacin
Tema 1. Introduccin

1.3.1. Conceptos de Algoritmo y Programa

Algoritmos y Programas
Recapitulando:
Dado un problema , se necesita una informacin sobre el problema
compuesta por datos; estos datos son procesados por el ordenador
mediante un programa almacenado en l;
ste programa ejecuta un conjunto de rdenes o instrucciones para
implementar un algoritmo creado para resolver el problema.
El programa proporciona una salida que es la solucin del problema, en
forma de datos

47

Programacin
Tema 1. Introduccin

1.3.1. Conceptos de Algoritmo y Programa

Datos, Expresiones e Instrucciones


Programa: conjunto de rdenes (llamadas instrucciones o
sentencias) escritas en un determinado lenguaje de programacin,
que se le dan a un ordenador para que realice un determinado
proceso
Un programa implementa un algoritmo
Problema

Algoritmo

Programa

Lenguaje de Programacin
Un programa est formado por:
Datos del programa:
Informacin que procesa el programa
Expresiones:
Operaciones sobre los datos, realizadas mediante operadores
Instrucciones:
Acciones a realizar , normalmente sobre los datos

48

Programacin
Tema 1. Introduccin

1.3.1. Conceptos de Algoritmo y Programa

Algoritmos
Un algoritmo debe ser:

Preciso y unvoco
Finito: nmero finito de pasos
Correcto: conducir a la solucin
ptimo: menor nmero de instrucciones posibles

Hay herramientas que facilitan el desarrollo de algoritmos


Las de uso ms comn son
Diagramas de flujo (tambin llamados organigramas)
Pseudocdigo
49

Programacin
Tema 1. Introduccin

1.3.1. Conceptos de Algoritmo y Programa

Ejemplo de un algoritmo para resolver el problema 'desayunar':


Inicio
Sentarse
Servirse caf con leche
Servirse azcar
Si tengo tiempo entonces
Mientras tenga apetito Hacer
Untar una tostada con mantequilla
Aadir mermelada
Comrmela
Fin Mientras
Fin Si
Beberse el caf
Levantarse
Fin

50

Programacin
Tema 1. Introduccin

1.1. INFORMTICA Y

ORDENADORES

1.1.1. INFORMTICA Y ORDENADORES


1.1.2. EVOLUCIN HISTRICA DE LOS ORDENADORES

1.2. REPRESENTACIN DE LA INFORMACIN


1.3. ALGORITMOS Y PROGRAMAS
1.3.1. CONCEPTOS DE ALGORITMO Y PROGRAMA
1.3.2. HERRAMIENTAS PARA EL DISEO DE ALGORITMOS

1.4. LA INFORMTICA EN LA PROFESIN DEL INGENIERO INDUSTRIAL


51

Programacin
Tema 1. Introduccin

1.3.2. Herramientas para el Diseo de Algoritmos

Herramientas para el Diseo de Algoritmos


Diagramas de flujo
Representacin grfica que permite detallar el flujo de un algoritmo

Pseudocdigo
Expresin del algoritmo en lenguaje natural

52

Programacin
Tema 1. Introduccin

1.3.2. Herramientas para el Diseo de Algoritmos

Diagramas de Flujo
Diagramas de flujo u organigramas:
representaciones grficas que permiten detallar el flujo de un programa (orden
de las instrucciones)
smbolos normalizados

mientras

si /si-sino

Falso

Condicin
Falso

Verdadero
expresin
booleana

expresin
booleana
Verdadero

bloque
instrucciones
bloque instrucciones 1

bloque instrucciones 2

Nota: expresin booleana es una expresin cuyo resultado es o verdadero o falso

53

Programacin
Tema 1. Introduccin

1.3.2. Herramientas para el Diseo de Algoritmos

Diagramas de Flujo. Ejemplos


Calcular la media de
dos nmeros

Calcular la media de dos


nmeros si son positivos

Inicio

Inicio

Leer a y b

Leer a y b

Media (a+b)/2

Si a y b>0

Fin

Fin

media (a+b)/2

54

Programacin
Tema 1. Introduccin

1.3.2. Herramientas para el Diseo de Algoritmos

Pseudocdigo
la solucin del problema se escribe utilizando palabras del lenguaje natural.
Paso intermedio entre la solucin del problema y su codificacin en un
determinado lenguaje de programacin

Los programas en pseudocdigo suelen incluir:


Nombre del programa
Entorno: descripcin de los elementos a utilizar (variables, constantes),
indicando su tipo.
Instrucciones necesarias para resolver el problema (en lenguaje natural)
Media
Programa1

ENTORNO
variables
INICIO
instruc_1
instruc_n
FIN

ENTORNO
a,b,media -- son nmeros reales
INICIO
Leer a y b
media (a+b)/2
escribir media
FIN

55

Programacin
Tema 1. Introduccin

1.3.2. Herramientas para el Diseo de Algoritmos

Ejemplos de Pseudocdigo
Estructuras alternativas: si
Si (expresin) entonces

Si (expresin) entonces

I1,I2,
Fin si

I1,I2,
Sino
S1,S2,
Fin si

56

Programacin
Tema 1. Introduccin

1.3.2. Herramientas para el Diseo de Algoritmos

Ejemplos de Pseudocdigo
Estructuras repetitivas
Muchas veces es necesario repetir una misma instruccin o un bloque de
instrucciones
Ejemplos
Algoritmo que escriba 100 veces hola
Algoritmo que escriba los nmeros del uno al 100
Algoritmo que sume 100 nmeros introducidos por teclado
Dos tipos: 'para' y 'mientras'
Mientras (expresin) hacer
I1,I2,
Fin mientras
Para variable variando desde inicio hasta fin de cantidad en cantidad hacer
I1,I2,.
Fin para

57

Programacin
Tema 1. Introduccin

1.3.2. Herramientas para el Diseo de Algoritmos

Ejemplo de Pseudocdigo
Escribir un algoritmo que dados dos nmeros diga cul es mayor, el primero
o el segundo

Programa Mayor
Entorno
VAL1: Primer valor introducido por teclado, real
VAL2: Segundo valor, real
Inicio Programa
Leer Val1
Leer Val2
Si ( VAL1>VAL2) entonces
escribir ' El mayor valor es el primero'
sino
Si ( VAL1<VAL2) entonces
escribir 'El mayor valor es el segundo'
sino
escribir 'Ambos valores son iguales'
Fin Si
Fin Si
Fin Programa

58

Programacin
Tema 1. Introduccin

1.3.2. Herramientas para el Diseo de Algoritmos

Ejemplo de Organigrama
Inicio
Leer
VAL1, VAL2

F
VAL1<VAL2
F

v
VAL1>VAL2

VAL1=VAL2

Escribir Mayor
segundo

Escribir Mayor
primero

Fin programa

Escribir Son
Iguales

59

1.1. INFORMTICA Y ORDENADORES


1.1.1. INFORMTICA Y ORDENADORES
1.1.2. EVOLUCIN HISTRICA DE LOS ORDENADORES

1.2. REPRESENTACIN DE LA INFORMACIN


1.3. ALGORITMOS Y PROGRAMAS
1.3.1. CONCEPTOS DE ALGORITMO Y PROGRAMA
1.3.2. HERRAMIENTAS PARA EL DISEO DE ALGORITMOS

1.4. LA INFORMTICA EN LA PROFESIN DEL INGENIERO INDUSTRIAL

1.4. LA INFORMTICA EN LA PROFESIN DEL


INGENIERO INDUSTRIAL

M.P. Sesmero, P. de Toledo, F.J. Ordoez, J. Gmez-Romero, J.A. Iglesias, J.L. Mira

Programacin
Tema 1. Introduccin

Programacin
Tema 1. Introduccin

1.4. Informtica en la Ingeniera Industrial

Informtica en la Ingeniera Industrial


La informtica est presente en cualquier actividad profesional
En la ingeniera industrial
Industrias estn cada vez ms automatizadas
procesos industriales realizados por robots o automatismos
El ingeniero disea, desarrolla, prueba e implanta aplicaciones y sistemas
informticos
Debe conocer
el funcionamiento de los sistemas basados en procesadores
tcnicas de programacin
Fundamentalmente en aplicaciones de automtica y control
principios de funcionamiento de las aplicaciones software.

63

Programacin
Tema 1. Introduccin

1.4. Informtica en la Ingeniera Industrial

Informtica en la Ingeniera Industrial


Algunas aplicaciones:
Diseo, fabricacin y test con ayuda de ordenadores (CAD / CAM)

Informtica industrial
uso de ordenadores para controlar maquinas individuales o grandes
sistemas de ingeniera (p.ej. una planta petroqumica)
Robtica
Cartografa, Sistemas de Informacin geogrfica
64

Programacin
Tema 1. Introduccin

1.4. Informtica en la Ingeniera Industrial

Informtica en la Ingeniera Industrial

Diseo Asistido por Ordenador


(CAD).
Fuente: Wikipedia [link]

Informtica Industrial.
Fuente: Siemens [link]

65

TEMA 1.
INTRODUCCIN A LA INFORMTICA
Y LA PROGRAMACIN
Grado en Ingeniera en Tecnologas Industriales
Programacin

M.P. Sesmero, P. de Toledo, F.J. Ordoez, J. Gmez-Romero, J.A. Iglesias, J.L. Mira

Programacin
Tema 1. Introduccin