Skip to the content.

contributions welcome GitHub stars GitHub repo size in bytes

💻Preguntas de V o F


📚VERDADERO FALSO.

1) Suponga que un programa declara un tipo cadena que es un string[1] y una variable ST:cadena. La variable ST puede ser utilizada como variable de decision en un case.

program Uno;
type
	cadena = string[1];
var
    ST:cadena;
begin
    ST := 'A';
    case (ST) of 
        'A' : writeln('Imprime A');  //Entra en 'A'
        'B': writeln('Imprime B');
        else writeln('No funciona');
    end;
end.


2) Siendo meses un tipo de subrango de enteros de 1 a 12, un modulo funcion puede retornar un valor de tipo meses.

program Dos;
type
	meses = 1..12;
//_______________________________________________
function Cambiar(p:meses):meses;
begin
	p:=10;
	Cambiar:=p;
end;
//_______________________________________________
var
    prueba:meses;
begin
	prueba:=2;
	WriteLn('Prueba: ',prueba); // 2
	prueba:=Cambiar(prueba);
	WriteLn('Prueba: ',prueba); // 10
end.

3) Una estructura de control FOR siempre se ejecuta al menos una vez.

4) Un arreglo de a lo sumo 4 elementos de tipo caracter ocupa la misma cantidad de memoria estatica que una lista de caracteres sin elementos, es decir una lista vacía.

5) Un modulo cuyo objetivo es modificar el contenido de todos los elementos de una lista de enteros siempre debe recibir el puntero inicial de la lista como parametro por referencia.

program PUNTEROS;
type

  l = ^nodo;
  nodo = record
    num:integer;
    sig:l;
  end;
//__________________________________
procedure armarNodo(var lis:l;num:Integer);
var
    nue:l;
begin
    new(nue);
    nue^.num:=num;
    nue^.sig:=lis;
    lis:=nue;
end;
//__________________________________
Procedure cargarLista (var lis:l);
var
    n:integer;
Begin
    ReadLn(n);
    while n <> 0 do
    begin
        armarNodo(lis,n);
        ReadLn(n);
    end;
End;
//__________________________________
procedure Imprimir(lis:l);
begin
    while lis <> nil do
    begin
        WriteLn(lis^.num);
        lis:=lis^.sig;
    end;
end;

//__________________________________
Procedure modificarLista (  lis:l);

Begin
    while lis <> Nil do
    begin
        lis^.num:=lis^.num+1;
        lis:=lis^.sig;
    end;
End;
//__________________________________

Var
   lis: l;
begin
   lis:=Nil;
   cargarLista(lis);
   WriteLn('_______________');
   modificarLista(lis);
   WriteLn('_______________');
   Imprimir(lis);
end.

6) Un proceso que no utiliza paramentros no puede comunicarse con el programa principal.

7) Se puede usar un real en el siguiente codigo.

#### 8) Todas las operaciones permitidas para variables de tipo entero tambien son permitidas para variables de tipo real. 
- ***FALSO*** - MOD y DIV son operaciones reservadas solo para variables de tipo entero

```Pas
program ocho;
var
    	num1:Real;
	num2:Real;
begin
	num1:=10;
	num2:=5;
	Writeln(num1 div num2); // No se puede :D
	Writeln(num1 mod num2); // No se puede :D
end.

9) Siempre es posible reemplazar un FOR por un WHILE y viceversa.

10) En la tecnica de correccion de DEBUGGING es necesario analizar los casos limites del problema.

11) En un procedimiento una estructura de datos vector pasada como parametro siempre ocupa mas memoria que una estructura de tipo lista pasada como parametro

12) Un modulo funcion puede retornar un tipo de dato puntero.

program doce;
type
    puntero = ^string;
//________________________________________
function Cambiar(nombre:string):puntero;
begin
    nombre:='Prueba 2';
    new(Cambiar);
    Cambiar^:=nombre;
end;
//________________________________________
var
    nombre:puntero;
begin
    nombre:=nil;
    new(nombre);
    nombre^:='Prueba 1';
    writeln(nombre^); //Prueba 1
    writeln(Cambiar(nombre^)^); //Prueba 2
end.

13) Un modulo cuyo objetivo es buscar un elemento en un arreglo de números enteros ordenados de mayor a menor debe recorrer la estructura mientras el elemento a procesar sea distinto al buscado.

Function BuscoPosElemOrd (x:integer;v:Vector;dimL:integer):integer;
var 
    pos:integer;
Begin
    pos:=1;
    while (pos <= dimL) and (x < v[pos]) do
        pos:=pos+1;
    if ( pos > dimL ) or (x < v [pos]) then //Si me pase de la DimL del vector reincicio la posición
        pos:=0;                               //y si el elemento es mas chico que el menor numero del vector, tambien reinicio.
    BuscoPosElemOrd:= pos;
End; 

14) Un programa que utiliza solo variables globales no requiere modularizacion.

15) Una diferencia entre la operacion insertar un elemento en la posicion en un vector e insertar un elemento en una posicion en una lista es que no hay que validar la posicion correspondiente.

16) Un programa que compila es correcto.

17) El acceso a un dato de una estructura de datos lineal solo es posible a traves de un recorrido secuencial.

18) La técnica de corrección debugging se aplica en el momento del diseño de una solución.

19) Una función puede devolver un tipo de dato registro, real, booleano, integer, entre otros.

20) Un procedimiento puede contener un tipo de dato declarado internamente.

21) Suponga que ustede debe elegir una estructura para representar la siguiente situación. Se desea almacenar en una estructura la información de los alumnos de CADP. De cada alumno se conoce apellido nombre y su promedio. Se sabe que a lo sumo habrá 800 alumnos.