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

Post on 21-Apr-2015

8 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

COMPUTACION2009

Clase 1

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)

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

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

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

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)

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

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?

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

x2 - 4 x +4 = 0

Problema

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

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.

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).

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

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

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

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

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

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

ALGORITMO

PROGRAMA

PROGRAMA

Entrada de

DATOSResultado

s

Ciclo elemental

Estructura de un Programa

Pascal

Estructura de un Programa

Pascal

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

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

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

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

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]

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)

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)

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

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

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.

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.

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

- UNMDP 32

Sentencias simples

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

resultados)

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;

ACCIONES DEL ALGORTIMO DE

EUCLIDES

mcd divisor dividendo divisor divisor resto

PASCAL

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

Ejemplos de asignación

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);

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’);

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

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

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.

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)

top related