computacion 2009 clase 1. 9/17/2014 computación - fac. ingeniería - unmdp2 régimen de cursada 1...

40
COMPUTACION 2009 Clase 1

Upload: valencia-sigala

Post on 21-Apr-2015

5 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

COMPUTACION2009

Clase 1

Page 2: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

04/11/23Computación - Fac. Ingeniería

- UNMDP 2

Régimen de cursada

1 clase teórica (2 horas) 1 clase práctica (3 horas) 1 clase análisis y diseño (1 hora) 2 parciales (1ero escrito; el 2do en

computadora y multiple-choice para redes y SO)

Page 3: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

Horarios de clases teóricas

1. Miércoles 8.30 a 10.30 hs2. Miércoles 11 a 13 hs.3. Miércoles de 13 a 15 hs.

04/11/23Computación - Fac. Ingeniería

- UNMDP 3

Page 4: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

04/11/23Computación - Fac. Ingeniería

- UNMDP 4

Clases prácticas

CLASES DE LABORATORIO: Comienzan el jueves 12/03

CLASES TEORICO PRACTICA: Comienzan el jueves 19/03

Page 5: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

04/11/23Computación - Fac. Ingeniería

- UNMDP 5

HORA LUNES MARTES MIÉRCOLES JUEVES VIERNES

8:00 - 8:30 Laboratorio      

8:30 - 9:00 TURNO 2      

9:00 - 9:30 ( 8 a 11) Laboratorio  

9:30 - 10:00 Cirimelo TURNO 4  

10:00 - 10:30 Gelon (9 a12) Laboratorio  

10:30 - 11:00 Zapirain Alvarez TURNO 6  

11:00 - 11:30 Teorico práctico Arroyo - Mateos (10 a 13)

11:30 - 12:00 AULA 13 Distéfano Arona  

12:00 - 12:30   Teorico práctico Pasetto  

12:30 - 13:00   AULA 8    

13:00 - 13:30     Teorico práctico  

13:30 - 14:00     AULAS: 10 y Laboratorio  

14:00 - 14:30     Laboratorio Laboratorio Clase

14:30 - 15:00     TURNO 7 TURNO 1 Teorico/práctica

15:00 - 15:30     (14 a 17) (14 a 17) 14 a 16 hs.

15:30 - 16:00 Laboratorio Evans Aznar Moler

16:00 - 16:30 Teorico prácticoTURNO 5

Meijome Lizarralde

16:30 - 17:00 AULA Laboratorio (15.30 a 18.30)    

17:00 - 17:30 Laboratorio Giordano   Teorico práctico

17:30 - 18:00 TURNO 3 Marsiglio   AULA Laboratorio

18:00 - 18:30 (17 a 20)      

18:30 - 19:00 Frassoni Teorico práctico    

19:00 - 19:30 Ruiz AULA 10    

19:30 - 20:00        

Horarios de las clases practicas.

Tiene que elegir:

1 turno laboratorio(amarillo)

1 turno teorico/pract (celeste)

Horarios de las clases practicas.

Tiene que elegir:

1 turno laboratorio(amarillo)

1 turno teorico/pract (celeste)

Si le ha quedado algún tema flojo o quiere reforzar su conocimiento, dispone de una clase globalizadora el viernes

Page 6: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

04/11/23Computación - Fac. Ingeniería

- UNMDP 6

Páginas WEB

http://www3.fi.mdp.edu.ar/computacion(novedades, información y materiales)

http://www3.fi.mdp.edu.ar/soporte/computacion(software)

Page 7: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

04/11/23Computación - Fac. Ingeniería

- UNMDP 7

Temas de la clase 1:

Introducción al lenguaje Pascal Algoritmo programa

Acciones=sentencias ejecutables

Estructura de un programa Pascal

Tipos de datos

Sentencias de Asignación

Sentencias de Entrada /Salida

Prueba de escritorio

Page 8: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

04/11/23Computación - Fac. Ingeniería

- UNMDP 8

Problemas• Sumar numeros enteros• Encontrar las raices de una ecuación

cuadrática• Invertir una matriz• Resolver un sistema de ecuaciones

diferenciales• Traducir un texto

COMO se resuelven estos problemas en una computadora?

COMO se resuelven estos problemas en una computadora?

Page 9: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

Encontrar una raíz de la siguiente ecuación cuadrática :

x2 - 4 x +4 = 0

Problema

Page 10: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

ALGORITMO RAIZ1

1. Ingresar los valores de los coeficientes de la ecuación

2. Calcular el discriminante

3. Calcular una raíz

4. Fin de algoritmo RAIZ1

4*1*44)( 2

1. Ingresar los valores 1, -4 y 4

2. Discriminante

3. Raiz

4. Fin del algoritmo RAIZ1 

1*2nteDiscrimina 4

SOLUCION

Page 11: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

04/11/23Computación - Fac. Ingeniería

- UNMDP 11

ALGORITMO

Es un procedimiento con las siguientes características : Posee una secuencia finita y ordenada de

acciones primitivas. Las acciones primitivas son no ambiguas La ejecución de la secuencia de acciones

primitivas, en el orden dado, conduce a la solución del problema en un tiempo finito.

Page 12: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

04/11/23Computación - Fac. Ingeniería

- UNMDP 12

Contexto en el que se diseña un algoritmo:

PROCESADOR: es toda entidad capaz de “entender” ordenes elementales y ejecutarlas.

ACCIONES PRIMITIVAS: órdenes elementales entendidas por el procesador que se emplea.

ACCIONES NO PRIMITIVAS: son órdenes no elementales de una abstracción mayor a las órdenes elementales. Cada una de ellas puede ser dividida en otras acciones (primitivas o no).

Page 13: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

Dados 3 números enteros (cualesquiera), se desea detectar los que son positivos y escribirlos.

Dados 3 números enteros (cualesquiera), se desea detectar los que son positivos y escribirlos.

Problema

Page 14: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

ALGORITMO DECISION

1. Ingresar a,b,c 2. Si a es positivo entonces escribir a3. Si b es positivo entonces escribir b4. Si c es positivo entonces escribir c5. Fin del algoritmo DECISION

Solución

1. Ingresar a,b,c 2. Si a>0 entonces escribir a3. Si b>0 entonces escribir b4. Si c>0 entonces escribir c5. Fin del algoritmo DECISION

Page 15: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

Dada una cantidad variable de números enteros (cualesquiera), se desea escribir aquellos que sean positivos y aquellos que no lo sean, aclarando cada caso

Dada una cantidad variable de números enteros (cualesquiera), se desea escribir aquellos que sean positivos y aquellos que no lo sean, aclarando cada caso

Problema

Page 16: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

ALGORITMO REPETIR1. Ingresar cantidad 2. Repetir desde 1 hasta cantidad las

siguientes acciones3. Ingresar a4. Si a>0 entonces escribir a,’es

positivo’ sino escribir a,’es negativo o

cero’5. Terminar la repetición6. Fin del algoritmo REPETIR

1. Ingresar cantidad 2. Repetir desde 1 hasta cantidad las

siguientes acciones3. Ingresar a4. Si a>0 entonces escribir a,’es

positivo’ sino escribir a,’es negativo o

cero’5. Terminar la repetición6. Fin del algoritmo REPETIR

Solución

Page 17: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

Ejecución de un algoritmo

ENTRADA: cantidad 4 {Ingresar cantidad}

a 6

6 es positivo {porque 6 es mayor que cero}

a -9

-9 es negativo o cero {porque -9 es menor que cero}

a 0

0 es negativo o cero {porque 0 es cero}

a 2

2 es positivo {porque 2 es mayor que cero}

1. Ingresar cantidad 2. Repetir desde 1 hasta cantidad las siguientes acciones

3. Ingresar a4. Si a>0 entonces escribir a,’es positivo’

sino escribir a,’es negativo o cero’5. Terminar la repetición6. Fin del algoritmo REPETIR

Page 18: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

04/11/23Computación - Fac. Ingeniería

- UNMDP 18

La ejecución de un algoritmo es una secuencia operaciones calculadas a partir de las acciones primitivas del algoritmo.

La ejecución de un algoritmo para una entrada específica de datos constituye la resolución de un problema particular. Esos datos son propios del problema.

Ejecución de un algoritmo

Page 19: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

ALGORITMO

PROGRAMA

PROGRAMA

Entrada de

DATOSResultado

s

Ciclo elemental

Page 20: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

Estructura de un Programa

Pascal

Estructura de un Programa

Pascal

Page 21: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

PROGRAM Identificador

Encabezamiento(USES Identificador)

LABEL Declaración de etiquetasCONST Definición de constantesTYPE Declaración de tiposVAR Declaración de variablesPROCEDURE Declaración de procedimientosFUNCTION Declaración de funcionesBEGIN Sentencias ejecutablesEND.

Bloque

Page 22: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

PROGRAM Identificador

Encabezamiento(USES Identificador)

LABEL Declaración de etiquetasCONST Definición de constantesTYPE Declaración de tiposVAR Declaración de variablesPROCEDURE Declaración de procedimientosFUNCTION Declaración de funcionesBEGIN Sentencias ejecutablesEND.

Bloque

Page 23: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

PROGRAM Identificador(USES Identificador)

LABEL Declaración de etiquetasCONST Definición de constantesTYPE Declaración de tiposVAR Declaración de variablesPROCEDURE Declaración de procedimientosFUNCTION Declaración de funcionesBEGIN Sentencias ejecutablesEND.

Para trabajar con estas secciones de declaracion y definicion de datos necesitamos conocer los TIPOS DE DATOS

Page 24: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

Entero (integer) Numerico Real (real) EstandarSimples Carácter (char, y el caso especial string) Lógico (boolean) Definidos por Subrango el programador Enumeración

Arreglos (array)Estructurados Registros (record) Conjuntos (set) Archivos (file)

Puntero

TIPOS DE DATOS Un tipo de dato define el conjunto de valores que pueden ser tomados por una variable y las operaciones que pueden realizarse con ella

Page 25: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

Datos Simples Estándar (Free Pascal)

Numérico

Lógico(*) (BOOLEAN) – Dos valores: verdadero (TRUE) / falso (FALSE)

(*) Ordinales

Entero (*)(INTEGER) [LONGINT/BYTE/SHORTINT/WORD/CARDINAL/INT64]

Carácter(*) (CHAR) - Un único carácter – Comillas simples

Real (REAL) [SINGLE/DOUBLE/EXTENDED]

Page 26: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

Tipo entero (integer)

04/11/23Computación - Fac. Ingeniería

- UNMDP 26

Tipos Rango numérico Bytes (Bits) Byte 0..255 1 (8)Shortint -128..127 1 (8)Smallint -32768..32767 2(16)Integer -32768..32767 2 (16)Longint -2147483648..2147483647 4 (32)Int64 -9223372036854775808..9223372036854775807 8 (64)Word 0..65535 2 (16)Longword 0..4294967295 4(32)QWord 0 .. 18446744073709551615 8(64)Cardinal 0..4294967295 4(32)

Page 27: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

Tipo real (real)

04/11/23Computación - Fac. Ingeniería

- UNMDP 27

Tipos Rango real Decimales significativos Bytes (Bits) Single 1.5-45 .. 3.438 7-8 4 (32) Real -5.0-324 .. 1.7308 15-16 8 (64) Double 5.0-324 .. 1.7308 15-16 8 (64) Extended 1.9-4932 .. 1.14932 17-18 10 (80) Comp -264+1 .. 263-1 15-16 8 (64)

Page 28: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

04/11/23Computación - Fac. Ingeniería

- UNMDP 28

Sintaxis

CONSTIdentificador de constante=valor de la constante;

Ejemplo:CONST Anio=2008; Altura=1.68; Siglo=21;

Ejemplo:CONST Anio=2008; Altura=1.68; Siglo=21;

Definición de constantes

No olvidar

Page 29: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

04/11/23Computación - Fac. Ingeniería

- UNMDP 29

Declaración de variables

Sintaxis:

VARIdentificador de variable:identificador de tipo;

Ejemplo:VARdividendo, divisor, cociente,dcm: integer;resultado: real;sigue: boolean;

Ejemplo:VARdividendo, divisor, cociente,dcm: integer;resultado: real;sigue: boolean;

No olvidar

Page 30: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

04/11/23Computación - Fac. Ingeniería

- UNMDP 30

Observaciones

• La declaración de variables es obligatoria.

• Cada vez que se declara una variable, se reserva espacio en la memoria para su almacenamiento.

Page 31: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

Sentencias Ejecutables

Estructuradas (o Compuestas)son construcciones compuestas de otras sentencias que deben ser ejecutadas en secuencia (enunciados compuestos), en forma condicional (enunciados condicionales) o en forma reiterada (enunciados de repetición).

Estructuradas (o Compuestas)son construcciones compuestas de otras sentencias que deben ser ejecutadas en secuencia (enunciados compuestos), en forma condicional (enunciados condicionales) o en forma reiterada (enunciados de repetición).

SimplesNinguna de sus partes

puede a su vez considerarse como otra sentencia.

SimplesNinguna de sus partes

puede a su vez considerarse como otra sentencia.

Page 32: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

04/11/23Computación - Fac. Ingeniería

- UNMDP 32

Sentencias simples

Asignación Lectura (entrada de datos) Escritura (escritura de

resultados)

Page 33: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

Sentencia de asignación

La acción es la provocada por el símbolo . Sirve para reemplazar el valor actual de una variable por un nuevo valor especificado por una expresión.

Sentencia de asignación

La acción es la provocada por el símbolo . Sirve para reemplazar el valor actual de una variable por un nuevo valor especificado por una expresión.

Sintaxis:

Identificador de variable:=expresión;

Page 34: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

ACCIONES DEL ALGORTIMO DE

EUCLIDES

mcd divisor dividendo divisor divisor resto

PASCAL

mcd := divisor; dividendo:= divisor;divisor := resto ;

Ejemplos de asignación

Page 35: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

Sentencia de entrada La acción que se provoca es la lectura de datos. Se puede usar read o readln.

Sentencia de entrada La acción que se provoca es la lectura de datos. Se puede usar read o readln.

Sintaxis

Read(v1,v2,...,vn);Readln(v1,v2,..vn);

Ejemplos:

Read(dividendo);Readln(dividendo,divisor)Readln(altura);

Page 36: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

Sintaxis:write(e1,e2,...,en); writeln(e1,e2,..,en);

Sentencia de salida La acción que se provoca es la escritura de resultados. Se puede usar write o writeln

Sentencia de salida La acción que se provoca es la escritura de resultados. Se puede usar write o writeln

Ejemplos:

write(mcd);write(‘Hoy comienza el otoño' );write('La superficie es =',superficie);writeln('La raiz cuadrada de 34.56 es =',sqrt (34.56)); writeln(‘ab’);

Page 37: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

program EJEM1; CONST A=5; VAR B:integer; C,D : real; BEGIN D:= 2; write('Ingrese un numero entero:'); readln(B); C:=B*A / D; writeln('El producto de ', A ,' por ', B ,' dividido’, D , ‘es:' , C); END.

¿Qué es una prueba de escritorio?

No olvidar

Page 38: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

Prueba de escritorio: Lote de Prueba: 8 ( para la variable B, la cual es

leída )

A = 5 D B C Salida

   2    

   8    

       

        El producto de 5 por 8 dividido 2 es: 20

D:= 2; write('Ingrese un numero entero:'); readln(B); C:=B*A / D; writeln('El producto de ', A ,' por ', B ,'dividido’, D , ‘es:' , C);

20

Page 39: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

Prueba de escritorio

04/11/23Computación - Fac. Ingeniería

- UNMDP 39

Una prueba de escritorio es la ejecución de un programa a partir de un ingreso de datos específico.

Se escribe el nombre de todas las variables y expresiones lógicas y se muestra sus valores a medida que se ejecutan las sentencias del programa donde se encuentran, comenzando por la que sigue a BEGIN y terminando con la que precede a END. Esto es, se sigue una secuencia.

Page 40: COMPUTACION 2009 Clase 1. 9/17/2014 Computación - Fac. Ingeniería - UNMDP2 Régimen de cursada  1 clase teórica (2 horas)  1 clase práctica (3 horas)

Prueba de escritorio

04/11/23Computación - Fac. Ingeniería

- UNMDP 40

Si las variables que contienen el resultado muestran las respuestas correctas, se presume que el programa resuelve el problema. Es muy conveniente hacer varias corridas con diversos juegos de datos a fin de verificar que SIEMPRE da la respuesta correcta.

Free Pascal puede hacer una prueba de escritorio con el depurador (o debugger)