64
INTRODUCCIÓN A LA INFORMÁ TICA 2002-2003 1 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática CC Ambientales Universidad Rey Juan Carlos

INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

Embed Size (px)

Citation preview

Page 1: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

1

Tema 5: Programación de ordenadores

Asignatura: Introducción a la Informática

2º CC Ambientales

Universidad Rey Juan Carlos

Page 2: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

2

Objetivos

Conocer las bases de la programación de ordenadores.

Aprender las generalidades de los lenguajes y de los entornos de programación.

Ver cómo se organizan los programas y los métodos (algoritmos) para resolver problemas.

Page 3: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

3

TEMARIO

5- PROGRAMACIÓN DE ORDENADORES.

5.1 Fundamentos de programación.

5.2 Lenguajes y entornos de programación.

5.3 Organización de los programas: Algoritmos y estructuras de datos.

Práctica: Programación en pseudocódigo

Page 4: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

4

5.1 Fundamentos de programación

CONCEPTOS BÁSICOS: Instrucción: Es un conjunto de símbolos

que representa una orden de operación o tratamiento para el computador.

Programa: Conjunto ordenado de instrucciones que indican las tareas u operaciones que el computador debe realizar.

Es la representación de un algoritmo, escrito en algún lenguaje de programación.

Page 5: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

5

5.1 Fundamentos de programación

CONCEPTOS BÁSICOS: Lenguaje de programación (DEF1): Es

el conjunto de símbolos y el conjunto de reglas para combinar dichos símbolos que se utilizan para realizar programas.

Léxico (cjto. de símbolos permitidos). Sintaxis (reglas para realizar las

construcciones del lenguaje). Semántica (reglas para determinar el

significado de dichas construcciones).

Page 6: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

6

5.1 Fundamentos de programación

CONCEPTOS BÁSICOS: Lenguaje de programación (DEF2):

Es una notación para escribir programas. Permite comunicarnos con el hardware y

dar así las órdenes adecuadas para la realización de un determinado proceso. Viene definido por una gramática o conjunto de reglas que se aplican a un alfabeto constituido por el conjunto de símbolos utilizados.

Page 7: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

7

5.1 Fundamentos de programación

CONCEPTOS BÁSICOS: INSTRUCCIONES BÁSICAS:

Instrucciones de asignación. Instrucciones selectivas (o bifurcaciones

o condicionales) Instrucciones repetitivas (o iterativas o

bucles) Instrucciones de entrada y salida (o de

transferencia de datos entre periféricos y memoria central).

Page 8: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

8

5.1 Fundamentos de programación

CONCEPTOS BÁSICOS: PROGRAMACIÓN DE

ORDENADORES: No todos los problemas pueden ser

resueltos con un computador. Para resolver un problema con un

ordenador hay que seguir las siguientes fases o etapas: 1. Planteamiento del problema:

Definir bien el problema. Delimitar y aclarar todos sus aspectos.

Page 9: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

9

5.1 Fundamentos de programación

CONCEPTOS BÁSICOS: PROGRAMACIÓN DE ORDENADORES:

2. Análisis y diseño: Estudiar el problema y dividirlo en distintas

sub-tareas. Decidir que estructuras de datos se van a

usar. 3. Programación o codificación:

Se implementan en el ordenador los datos y las tareas a realizar utilizando un lenguaje de programación.

Page 10: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

10

5.1 Fundamentos de programación

CONCEPTOS BÁSICOS: PROGRAMACIÓN DE ORDENADORES:

4. Prueba, depuración y mantenimiento: Se comprueba que el programa funciona

según las especificaciones. Se corrigen los errores detectados. Se actualizan los datos o el programa

(cuando sea necesario).

Page 11: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

11

5.1 Fundamentos de programación

CONCEPTOS BÁSICOS:

INGENIERÍA DEL SOFTWARE:

DEFINICIÓN: Disciplina que trata de los aspectos tecnológicos y burocráticos relacionados con el diseño, producción y mantenimientos sistemáticos de programas de computadores.

Page 12: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

12

5.1 Fundamentos de programación

CONCEPTOS BÁSICOS: INGENIERÍA DEL SOFTWARE: Tres elementos básicos:

Métodos (cómo construir software) Planificación y estimación de proyectos Análisis de requerimientos Diseño Codificación Prueba y mantenimiento

Page 13: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

13

5.1 Fundamentos de programación

CONCEPTOS BÁSICOS: INGENIERÍA DEL SOFTWARE:

Herramientas Desarrollo, integración, enlazado automático o

semiautomático de los métodos.

Procedimientos Definen cómo se aplican los métodos Documentos (formato, plazos) Controles para asegurar la calidad y la

consistencia

Page 14: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

14

5.1 Fundamentos de programación

CONCEPTOS BÁSICOS:

ALGORITMO:

DEFINICIÓN: Conjunto ordenado de pasos a seguir para resolver un problema concreto, en un tiempo finito y sin ambigüedad.

Page 15: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

15

5.1 Fundamentos de programación

CONCEPTOS BÁSICOS: Ejemplo de ALGORITMO: Determinar si

un número es par:1. Leer N2. Si N=2 Escribe: “es par”3. Si N=1 Escribe: “es impar”4. Si N=1 o N=2 ir a 75. N=N-26. Ir a 27. Fin del procedimiento

Page 16: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

16

5.1 Fundamentos de programación

CONCEPTOS BÁSICOS: Organización de datos: Ficheros (Archivos): Conjunto de

información del mismo tipo (homogénea) que se guardan en unidades de almacenamiento masivo.

Arrays (Vectores): Conjunto de información del mismo tipo (homogénea) guardada en memoria.

Page 17: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

17

5.1 Fundamentos de programación

CONCEPTOS BÁSICOS: Organización de datos: Registros: Conjunto de información de

distinto tipo (heterogénea) relacionada de forma lógica

Los datos que forman un registro se denominan campos.

Page 18: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

18

5.1 Fundamentos de programación

CONCEPTOS BÁSICOS: Organización de datos: Base de datos: Organización sistemática

de datos en archivos orientada a facilitar su acceso, recuperación y actualización, por diversos programas o usuarios y que incluye las relaciones de unos datos con otros. Sistema Gestor de Bases de Datos

(DBMS Data Base Management System)

Page 19: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

19

5.2 Lenguajes de programación

LENGUAJES DE PROGRAMACIÓN: Tipos:

Lenguajes de bajo nivel Lenguaje máquina Lenguaje ensamblador

Lenguajes de alto nivel Lenguajes imperativos o procedurales Lenguajes declarativos Lenguajes funcionales o de programación

lógica.

Page 20: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

20

5.2 Lenguajes de programación

LENGUAJES DE PROGRAMACIÓN: Evolución histórica:

-52: L. Máquina 49-56: Ensambladores 54-...: Fortran (56), Algol (58), Cobol (59),

Lisp (62), Basic (64), C (72), Pascal (73), Modula-2 (79), Ada (80)...

61-...: Entornos de programación, Prolog(72), Smalltalk (72), C++ (85), Haskell (88), Java...

Page 21: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

21

5.2 Lenguajes de programación

LENGUAJE MÁQUINA: Es el único que entiende directamente la

computadora. Las instrucciones se expresan en sistema

binario (u octal o hexadecimal). Los datos se referencian por medio de las

direcciones de memoria donde están. Tiene una sintaxis rígida. Depende de la CPU del ordenador.

Page 22: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

22

5.2 Lenguajes de programación

LENGUAJE MÁQUINA: Repertorio de instrucciones reducido. La programación en este lenguaje es

tediosa y complicada No admite poner comentarios => Difícil

legibilidad. Permite utilizar la totalidad de los recursos. Programas muy eficientes en tiempo de

ejecución y en ocupación de memoria.

Page 23: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

23

5.2 Lenguajes de programación

LENGUAJE MÁQUINA: Ejemplo:

1100 1 011 1011 : Suma (1100) indirecta (1) del contenido de la dirección (011 10112 = 5910) con el acumulador.

1010 0 000 0000 : Desplaza hacía la derecha (1010) el contenido del acumulador.

0000 0 101 1101 : Carga el acumulador (0000) con el contenido de la dirección de memoria (101 11012 = 9310)

Page 24: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

24

5.2 Lenguajes de programación

LENGUAJE ENSAMBLADOR: Es más cercano al lenguaje humano. Usa notación simbólica o nemotécnica para

representar los códigos de operación. También utiliza nombres para referenciar

datos guardados en memoria. Permite el uso de comentarios. Cada instrucción en ensamblador se

corresponde con una en lenguaje máquina.

Page 25: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

25

5.2 Lenguajes de programación

LENGUAJE ENSAMBLADOR: La traducción es realizada por un programa

traductor llamado ensamblador. Posee la mayoría de los inconvenientes del

lenguaje maquina:Baja portabilidad.Formato de instrucciones rígido.Repertorio reducido.

Page 26: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

26

5.2 Lenguajes de programación

LENGUAJE ENSAMBLADOR: Ejemplo:

SUM Coste : Suma (SUM) del contenido de la dirección de memoria (Coste) con el acumulador.

DED Acum : Desplaza hacía la derecha (DED) el contenido del acumulador.

CAR Numero : Carga el acumulador (CAR) con el contenido de la dirección de memoria (Numero)

Page 27: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

27

5.2 Lenguajes de programación

LENGUAJES DE ALTO NIVEL: CARACTERÍSTICAS:

Son independientes de la arquitectura física del computador.

Una instrucción se traduce en varias instrucciones en lenguaje máquina.

Utilizan una nomenclatura cercana a la usada por las personas.

Facilita la escritura y lectura de programas.

Page 28: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

28

5.2 Lenguajes de programación

LENGUAJES DE ALTO NIVEL: CARACTERÍSTICAS:

Las instrucciones se expresan por medio de texto (inglés) con caracteres alfanuméricos y caracteres especiales (+, -, * , / , = ...).

Dispone de instrucciones complejas, para todo tipo de operaciones aritméticas, para entrada/salida de datos...

Hay una gran cantidad y variedad de lenguajes de alto nivel.

Page 29: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

29

5.2 Lenguajes de programación

LENGUAJES DE ALTO NIVEL:

Ejemplo (Matlab):

function cuadrado

% Este programa hace cuadrados de 1 a 10:

for i=1:10

disp([i i^2])

end

Page 30: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

30

5.2 Entornos de programación ENTORNO DE PROGRAMACIÓN:

Es el software que integra varias programas para el desarrollo de aplicaciones.

Facilitan las tareas de diseño codificación prueba depuración y mantenimiento.

Ejemplos: Delphi, Visual Basic, Visual C++, JBuilder,…

Page 31: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

31

5.3 Organización de los programas

TIPOS DE DATOS: Dato: Cualquier objeto manipulable por el

ordenador. Rango: Cjto. de valores que puede tomar Operaciones primitivas: Operaciones que es

posible realizar con los datos Operadores que se les pueden aplicar

Tipos de datos: Conjunto de funciones externas e internas y de transformaciones definidas sobre el conjunto de datos

Page 32: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

32

5.3 Organización de los programas

TIPOS DE DATOS:Clases de tipos de datos:

ConstantesVariables

Clasificación:Datos simples Numéricos (enteros, reales, etc), caracteres, lógicos

o booleanos, enumerados y subrangos.

Datos compuestos Arrays (vectores), cadenas de caracteres, registros...

Page 33: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

33

5.3 Organización de los programas

TIPOS DE DATOS: Datos simples Numéricos:

Tipo entero: Representación del conjunto de los números enteros.

Rango: subconjunto de enteros.(2n-1 - 1, -2 n-1) Operaciones/operadores:

Aritméticos: + , - , *, /, Div, Mod, Abs, Sqr, Ln, Exp... Relacionales: =, <>, >=, >, <=, <

Page 34: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

34

5.3 Organización de los programas

TIPOS DE DATOS: Datos simples Numéricos:

Tipo real: Representación del conjunto de los números reales.

Rango: subconjunto de reales. N=M*BE

Operaciones/operadores: Aritméticos: Igual que enteros más Trunc, Round... Relacionales: =(*), <>(*), >=, >, <=, <

(*) Estos operadores no se suelen usar debido a la falta de precisión en la representación.

Page 35: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

35

5.3 Organización de los programas

TIPOS DE DATOS: Datos simples Caracteres: Representa elementos de un

conjunto finito y ordenado de caracteres. Conjuntos usuales:

ASCII American Standard Code for Information Interchange

EBCDIC Extended Coded Decimal Interchange Code

Operadores: Length, strcat Relacionales: =, <>, >=, >, <=, <

Page 36: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

36

5.3 Organización de los programas

Tabla ASCII-DOS

Page 37: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

37

5.3 Organización de los programas

Tabla ASCII-WIN

Page 38: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

38

Decimal value Symbol Decimal value Symbol

64 blank 108 %

74 ó 109 _

75 . 110 >

76 < 111 ?

77 ( 122 :

78 + 123 #

79 | 124 @

80 & 125 '

90 ! 126 =

91 $ 127 "

92 * 129-137 a-i

93 ) 145-153 j-r

94 ; 162-169 s-z

95 ` 193-201 A-I

96 - 209-217 J-R

97 / 226-233 S-Z

Tabla EBCDIC

Page 39: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

39

5.3 Organización de los programas

TIPOS DE DATOS: Datos simples Booleanos (lógicos): Representan solo dos

valores: Verdadero (True) o Falso (False). Rango: Dos valores Operaciones/operadores:

AND, OR, NOT, XOR, NAND

Op1 Op2 AND OR XOR NAND NOT (Op1)

0 0 0 0 0 1 1

0 1 0 1 1 1 1

1 0 0 1 1 1 0

1 1 1 1 0 0 0

Page 40: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

40

5.3 Organización de los programas

TIPOS DE DATOS: Datos simples Enumerados: Representan a un conjunto

finito de valores definidos explícitamente. Ejemplo:

Type Genero = (dramatica, comica, suspense, terror). Operaciones/Operadores:

Pred, Succ.

Ejemplo: Pred (comica) = dramatica

Succ(comica) = suspense

Page 41: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

41

5.3 Organización de los programas

TIPOS DE DATOS: Datos simples Subrangos: Se definen a partir de los tipos

enteros, carácter o enumerados, dando un rango entre un valor mínimo y un máximo de uno de esos tipos.

Rango: [Valor mínimo...Valor Máximo] Operaciones/Operadores:

Los mismos que tiene el tipo originalEjemplo : type dígito = 0..9;

minúsculas = ‘a’..’z’;

Page 42: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

42

5.3 Organización de los programas

TIPOS DE DATOS: Datos compuestos o estructurados

Son tipos de datos construidos a partir de otros tipos de datos.

Arrays (vectores o matrices): Colección ordenada de datos del mismo tipo. Acceso a los datos: Mediante índice(s) que

determinan de manera unívoca un elemento. Ejemplo: Pascal: var Matriz : array [1..10,1..4] of real

C : float Matriz[10,4]

Acceso: Matriz [7,3]

Page 43: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

43

5.3 Organización de los programas

TIPOS DE DATOS: Datos compuestos o estructurados Arrays (vectores o matrices):

Es una estructura de datos estática. Los elementos se almacenan en memoria

ocupando un área contigua.

Ejemplo: El elemento i,j de una matriz MxN estará en la posición:

Posición = Posición base + (i -1) * N + (j - 1)

Page 44: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

44

5.3 Organización de los programas

TIPOS DE DATOS: Datos compuestos o estructurados Cadena de caracteres (Strings): Secuencia

ordenada de caracteres. Operaciones:

Concatenación Extracción de una subcadena Comparación de cadenas Longitud de la cadena

Ejemplo: (Fortran) character(len=50)::frasefrase = ‘Ciencias Ambientales’

Page 45: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

45

5.3 Organización de los programas

TIPOS DE DATOS: Datos compuestos o estructurados Registros (Records):Conjunto de

información de distinto tipo (heterogénea) relacionada lógicamente. Los datos que forman un registro se

denominan campos. Cada campo se identifica por un nombre Ejemplo (Matlab)

empleado=struct('nombre','Juan','Apellido1','Fernandez',...

'Apellido2','Garcia','dni',10000000,'sueldo',345000);

Page 46: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

46

5.3 Organización de los programas

TIPOS DE DATOS: Datos compuestos o estructurados Listas: Colección con un numero variable

de datos del mismo tipo, ordenados de manera lineal. Estructura dinámica. Cada elemento tiene un predecesor, excepto

el primero, y un sucesor, salvo el último.

Page 47: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

47

5.3 Organización de los programas

TIPOS DE DATOS: Datos compuestos o estructurados Listas:

Operaciones: Añadir un elemento Eliminar un elemento Acceder a un elemento Saber si la lista esta vacía

Page 48: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

48

5.3 Organización de los programas

ALGORITMOS:

Conjunto ordenado de pasos a seguir para resolver un problema concreto, en un tiempo finito y sin ambigüedad. Acciones bien definidas Secuencia finita y ordenada Tiempo finito

Page 49: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

49

5.3 Organización de los programas

ALGORITMOS:

Características: Precisión Repetitividad Finitud.

Propiedad:

Es independiente del lenguaje de programación en el que se implemente y de la computadora en la que se ejecute.

Page 50: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

50

5.3 Organización de los programas

ALGORITMOS:

Para resolver un mismo problema se pueden definir varios algoritmos.

Factores para decidir que algoritmo usar: Tiempo que tarda en hallar la solución Recursos utilizados para implantar el

algoritmo.

Page 51: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

51

5.3 Organización de los programas

REPRESENTACIÓN DE ALGORITMOS: Existen diferentes métodos:

Pseudocódigo o lenguaje de descripción de algoritmos

Organigramas o diagramas de flujo Diagramas de Nassi-Schneiderman (N-S)

(o diagramas de Chapin)

Page 52: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

52

5.3 Organización de los programas

REPRESENTACIÓN DE ALGORITMOS: Pseudocódigo o lenguaje de descripción de

algoritmos: Es un conjunto pequeño y completo de

sentencias mediante las cuales podemos expresar todas las instrucciones básicas.

Reglas: Cada identificador (variable, constante...) debe

tener un nombre significativo Cada sentencia debe ir en una línea Los nombres de las sentencias son únicos.

Page 53: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

53

5.3 Organización de los programas

REPRESENTACIÓN DE ALGORITMOS: Pseudocódigo

Ejemplo: Suma de un numero variable de datos:

Suma = 0

lee (dato)

mientras (dato <> 0)

suma = suma + dato

lee (dato)

fin mientras

escribe (‘La suma total es = ‘, Suma)

Page 54: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

54

5.3 Organización de los programas

REPRESENTACIÓN DE ALGORITMOS: Pseudocódigo Ventajas sobre las representaciones gráficas

Es más compacto

Más fácil de escribir

Más fácil de traducir a un lenguaje de programación concreto.

Page 55: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

55

5.3 Organización de los programas

REPRESENTACIÓN DE ALGORITMOS: Organigramas o diagramas de flujo

Herramienta gráfica de descripción de algoritmos fácil y extendida.

Los símbolos representan acciones Las flechas representan el orden de

ejecución.

Page 56: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

56

5.3 Organización de los programas

REPRESENTACIÓN DE ALGORITMOS: Organigramas o diagramas de flujo

Símbolos:

Asignación:

Terminal:

M = 3

Inicio Fin

Page 57: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

57

REPRESENTACIÓN DE ALGORITMOS: Organigramas o diagramas de flujo

Símbolos:

Selección:

Entrada/Salida:

5.3 Organización de los programas

SiN<>0

No

Leer Dato

Page 58: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

58

Ejemplo: Suma de un numero variable de datos:

5.3 Organización de los programas

Inicio

Suma = 0

Leer Dato

SiDato<>0

No

Suma = Suma + Dato

Escribir Suma

Fin

Page 59: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

59

5.3 Organización de los programas

REPRESENTACIÓN DE ALGORITMOS: Diagramas de Nassi-Schneiderman

Es otra manera gráfica de representar algoritmos.

Facilita la utilización de las técnicas de programación estructurada.

Solo posee símbolos y el flujo del programa es de arriba abajo.

Page 60: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

60

5.3 Organización de los programas

REPRESENTACIÓN DE ALGORITMOS: Diagramas de Nassi-Schneiderman

Símbolos:

Asignación, entrada/salida

Dato = 30

Escribir Dato

...

Page 61: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

61

5.3 Organización de los programas

REPRESENTACIÓN DE ALGORITMOS: Diagramas de Nassi-Schneiderman

Símbolos:

Selección

condiciónSi No

Instruc1

Instruc2

...

InstrucA

InstrucB

...

Page 62: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

62

5.3 Organización de los programas

REPRESENTACIÓN DE ALGORITMOS: Diagramas de Nassi-Schneiderman

Símbolos:

Repetición

condición

Instrucción 1

Instrucción 2

....

Page 63: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

63

5.3 Organización de los programas

REPRESENTACIÓN DE ALGORITMOS: Diagramas de Nassi-Schneiderman

Ejemplo: Suma = 0

Leer Dato

Mientras Dato <> 0

Suma = Suma + Dato

Leer Dato

Escribir Suma

Page 64: INTRODUCCIÓN A LA INFORMÁTICA 2002-20031 Tema 5: Programación de ordenadores Asignatura: Introducción a la Informática 2º CC Ambientales Universidad Rey

INTRODUCCIÓN A LA INFORMÁTICA 2002-2003

64

5.5 REFERENCIAS

”Fundamentos de Informática”

Luis A. Ureña- Antonio M. Sanchez...

Ed. RA-MA 1997

“Introducción a la Informática”

A. Prieto, A. Lloris ...

Ed. McGrawHill 1997