trabajo practico nº2 - Cátedra de Programación

Anuncio
UNIVERSIDAD NACIONAL DE SALTA – Sede Regional Orán
AÑO: 2012
Carreras: CU - TIG - TUP
Cátedras: INTRODUCCIÓN A LA PROGRAMACIÓN / PROGRAMACIÓN / PROGRAMACIÓN
TRABAJO PRÁCTICO N° 2: Estructuras Fundamentales de Datos.
Ejercicio 1: Indicar la cantidad de bytes con la que se almacenan en memoria RAM las
variables de cada uno de los siguientes tipos:
Enteros: Byte, Integer, Longint, Shortint, Word
Reales: Real, Double, Extendend, Comp.
Caracter: Char.
Lógico: Boolean.
Para los siguientes ejercicios puede realizar un pequeño programa, compilar y observar los
resultados.
Ejercicio 2: Analizar la validez de las siguientes declaraciones e indicar cuáles son los errores
detectados en las mismas. Justificar su respuesta en cada uno de los casos.
f) Var
a) Const
i, j, k, l, m:
Integer;
Delta: Char or Real;
Base = 173.5;
Error = 0.1E-5;
Parar = ‘&;
Blanco = ‘ ’;
b) Const
g) Var
Lado = Radio;
Si = ‘s’;
Fin = 32;
c) Var
i, j: Real;
k: Boolean;
m: Integer;
d) Var
Cant= 100;
Suma: 45;
Diferencia: Integer;
e) Var
No: Char
p, q: Real;
‘I’: Integer;
ALFA:Integer;
Omega: Integer;
LIST3: Integer;
SUELDO: Integer;
X+3Y: Integer;
X3Y: Integer;
3H2So4: Integer;
R&Cia: Integer;
Comisión: Integer;
MIN: Integer;
$A-58: Integer;
PI: Integer;
Var: Integer;
COL(7): Integer;
Num-DOC: Integer;
.
Ejercicio 3 : Para cada uno de los siguientes casos, definir constantes para representar la
primera letra mayúscula, la última letra mayúscula, el primer mes del año, el último mes del año,
el año de la Independencia y un impuesto (por ejemplo: IVA).
Ejercicio 4: Considerando las siguientes definiciones de constantes y declaraciones de
variables:
Const
Pagina = 235;
Z = ‘Z’;
Gama = 0.0045;
Trabajo Práctico Nro: 2 Estructuras Fundamentales de Datos
Página 1 de 6
UNIVERSIDAD NACIONAL DE SALTA – Sede Regional Orán
AÑO: 2012
Carreras: CU - TIG - TUP
Cátedras: INTRODUCCIÓN A LA PROGRAMACIÓN / PROGRAMACIÓN / PROGRAMACIÓN
Var
MX7, MX9: Integer;
Tar, Rango: Real;
Simbolo: Char;
Respuesta: Boolean;
Examinar cada una de las sentencias de asignación y determinar cuáles son inválidas y por qué.
Para aquellas que sean válidas, indicar cuál será el valor asignado.
a)
b)
c)
d)
e)
MX7 := 924;
MX9 := Pagina;
Rango := Respuesta;
Tar := MX9;
MX9 := Z;
f)
g)
h)
i)
j)
Rango := Gama;
Gama := Tar;
MX7 := Gama;
Simbolo := ‘T’;
Respuesta := True;
Ejercicio 5: Dadas las definiciones de tipo y las declaraciones de variables siguientes,
determinar el resultado de la ejecución de cada instrucción:
Type
TSintomasGripe = (Sano, Estornudo, Tos, DolorMuscular,
Fiebre, Nauseas, Cansancio);
Var
a, b: TSintomasGripe;
c: Boolean;
Begin
a :=
b :=
c :=
If c
Succ(Sano);
Pred(DolorMuscular);
ord(a) < ord(b);
then Writeln( ‘Estas enfermo’);
End.
Ejercicio 6: Dadas las definiciones de tipo, las declaraciones de variables y constantes
siguientes:
CONST N = 100;
TYPE
TipoDeporte = (futbol, tenis, voley, básquet);
Sexo = (masculino, femenino);
VAR
s1, s2 : Sexo;
Deporte : Array [1.. N] of TipoDeporte;
m, n: Integer;
x, y : Real;
b1, b2: Boolean;
Señalar si las siguientes asignaciones son correctas, justifique:
a) s1:= femenino;
b) b1:= x=y;
Trabajo Práctico Nro: 2 Estructuras Fundamentales de Datos
Página 2 de 6
UNIVERSIDAD NACIONAL DE SALTA – Sede Regional Orán
AÑO: 2012
Carreras: CU - TIG - TUP
Cátedras: INTRODUCCIÓN A LA PROGRAMACIÓN / PROGRAMACIÓN / PROGRAMACIÓN
c) deporte := FUTBOL;
d) m := 6.9;
e) s2:= Succ(s1);
f) b2:= Falso;
g) deporte [1] := tenis;
h) n:= masculino;
Ejercicio 7: Definir el tipo enumerado AlgunasLetrasGriegas con identificadores ALFA, BETA,
DELTA, GAMMA y OMEGA ordenados en forma tal que respeten cada uno de los siguientes
conjuntos de criterios. Recordar que el ordinal del primer valor definido en el enumerado es 0.
a) Pred(DELTA) = GAMMA
OMEGA < GAMMA = False
Ord(BETA) = 2
Succ(OMEGA) = ALFA.
b) GAMMA < BETA = True
Ord(BETA) - Ord(ALFA) = 3
DELTA > OMEGA = False
Pred(OMEGA) = GAMMA.
Ejercicio 8: Dados los tipos de datos Metal y Gas definidos como sigue:
Type
Metal = (zinc, hierro, plata, oro, platino, aluminio, cobre);
Gas = (hidrogeno, nitrogeno, oxigeno, helio, neon, argon, radon);
a) Evaluar cada una de las siguientes expresiones booleanas. En caso de haber expresiones
inválidas explicar por qué.
b) Evaluar, de ser posible, cada una de las siguientes expresiones. Si alguna no puede
evaluarse. Explicar por qué.
Trabajo Práctico Nro: 2 Estructuras Fundamentales de Datos
Página 3 de 6
UNIVERSIDAD NACIONAL DE SALTA – Sede Regional Orán
AÑO: 2012
Carreras: CU - TIG - TUP
Cátedras: INTRODUCCIÓN A LA PROGRAMACIÓN / PROGRAMACIÓN / PROGRAMACIÓN
Ejercicio 9: Dadas las siguientes declaraciones:
TYPE
Vocal = (a, e, i, o, u);
Cadena = String[20];
VAR
c: Char;
s:Cadena;
v:Vocal;
m,n: Integer;
a) Determinar la sentencia de lectura incorrecta:
Read(s);
Read(v);
Read(c);
Read(n);
b) Señalar la sentencia de decisión correcta:
If s[i] in v Then
Write(‘vocal’);
If s = c Then
Write(‘consonante’);
If s[i] = c then
Write(‘letra’);
c) Indicar la sentencia de iteración correcta:
For v:= a to u do;
For c:= ‘u’ Downto ‘a’ For s:= ‘a’ to ‘u’ do;
do;
Ejercicio 10: Escribir las siguientes expresiones aritméticas en lenguaje Pascal:
Ejercicio 11: Escribir un programa en Pascal que evalúe la siguiente expresión:
(a+7*c)/(b+2-a)+2*b; a = 3,b = 6,c = 4
Trabajo Práctico Nro: 2 Estructuras Fundamentales de Datos
Página 4 de 6
UNIVERSIDAD NACIONAL DE SALTA – Sede Regional Orán
AÑO: 2012
Carreras: CU - TIG - TUP
Cátedras: INTRODUCCIÓN A LA PROGRAMACIÓN / PROGRAMACIÓN / PROGRAMACIÓN
Ejercicio 12: Completar la siguiente tabla que contiene el tipo de resultado de operaciones
binarias:
Tipo de Operandos
Operador
Integer
+-*
Integer
/
Real
DIV
Integer
------
MOD
Integer
------
‹, ‹=, =, ›,
›=, ‹›
AND, OR
Real
Boolean
Char
Integer Real
Real
Set
Boolean
Ejercicio 13: Determinar cuáles de las siguientes expresiones son sintácticamente correctas (de
tipo compatible), teniendo en cuenta las siguientes declaraciones de variables:
VAR
i, j, k : Integer;
X, y, z: Real;
A, B: Set of Char;
Pregunta, respuesta, encontrado, OK; Boolean;
Letra, digito: Char;
a)
b)
c)
d)
e)
f)
g)
h)
i)
j)
k)
l)
x+y*i
I MOD (i + j)
(x + y) < (i + j)
i DIV j + x
k – Trunc(x * i)
i*x+j*y
x=i
(x < y) AND (y < z)
OK OR encontrado AND pregunta < respuesta
Chr(Ord(digito))
Letra IN A OR digito IN B
Respuesta = OK AND NOT encontrado
Ejercicio 14: Calcular los valores de las variables A, B y C, detallando la evaluación paso a
paso.
Trabajo Práctico Nro: 2 Estructuras Fundamentales de Datos
Página 5 de 6
UNIVERSIDAD NACIONAL DE SALTA – Sede Regional Orán
AÑO: 2012
Carreras: CU - TIG - TUP
Cátedras: INTRODUCCIÓN A LA PROGRAMACIÓN / PROGRAMACIÓN / PROGRAMACIÓN
Const
X = 1;
Y = 2;
Z = 3;
Var
A, B, C : Integer;
...
A := X+10*Z Div (Z+X);
B := Z+10*(Z Div Y)+Y;
C := (X+10*Z) Div (Z+X);
Ejercicio 15: Escribir declaraciones de tipo para trabajar con las siguientes estructuras:
a) Vector de 50 elementos enteros, con índice entero, comenzando en cero.
b) Vector cuyo índice son los días de la semana y cuyos elementos son el total de horas de
clase.
c) Matriz para indicar el estado (ocupada o no) de las aulas de la UNSa, durante las distintas
horas y distintos días de la semana.
d) Matriz para indicar no solamente si las aulas están ocupadas o no, sino también la
materia que se dicta, el nombre del docente, cantidad de alumnos.
e) Vector con índice entre 1 y el total de alumnos de la clase y con elementos que
representen el subconjunto de las materias aprobadas por cada alumno.
Ejercicio 16: Realizar las declaraciones necesarias para trabajar con las siguientes estructuras:
a)
Código Artículo:1234 Descripc: MOTO % descuento:
15
Proveedor: Honda
Stock Mínimo: 2
Ubicación: salón de vta.
Precio: 10.000
Stock
actual: 5
b)
Ríos José
1
2
3
...
8 –16 hs 16 – 24 hs 24-8 hs
...
Mes: 10 Deporte que practica: Tenis, Básquet
30
8 – 16 hs
Trabajo Práctico Nro: 2 Estructuras Fundamentales de Datos
Legajo Nro: 7
31
Fecha Nacimiento:
10-10-52
Página 6 de 6
Descargar