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