NEW
Font size
WorksheetsEDA PARTE 2
Total questions: 15
Worksheet time: 35mins
En una fila, el puntero al primer elemento, que llamaremos primero se inicializa:
primero = null;
primero = 1;
primero = 0;
primero= N-1;
Para pasar un arreglo como argumento a una función, la declaración correcta sería:
int carga( int alumnos &[ ], int tam);
int carga ( int alumnos [ ], int tam);
int carga ( int alumnos &[tam] );
int carga ( int alumnos ->[tam] );
Cuando se pasan como parámetros arreglos[][] de 2 dimensiones:
Es necesario explicitar el tamaño 1 de las dimensiones explícita, la otra opcional
No es necesario explicitar el tamaño de ninguna de las dimensiones
Es obligatorio explicitar el tamaño de ambas las dimensiones
Si deseamos pasar por referencia una variable de tipo estructura (struct):
No hace falta utilizar el símbolo "&", para hacerlo
Se debe utilizar el símbolo "&", en la invocación
Se debe utilizar el símbolo "&" en el encabezado
Utilizar el símbolo "&", en la invocación y el encabezado
Dada la subrutina: void mostrar(char frase[], int t);
La llamada en el programa seria:
mostrar(frase[ ],strlen(frase));
char res= mostrar(frase,strlen(frase));
mostrar(frase,strlen(frase));
Todas son correctas
Dado el arreglo: char frase[]= "Hola EDA!"
Como veo los elementos del arreglo de atrás hacia adelante?
for ( int i=8; i>-1;i--)
cout<< frase[i];
for ( int i=9; i>-1;i--)
cout<< frase[i];
for ( int i=8; i>0;i--)
cout<< frase[i];
for ( int i=0; i>8;i++)
cout<< frase[i];
Si una FILA tiene implementación es con arreglo circular, internamente necesito para representarla:
un puntero al "tope" que apunta al ultimo insertado
puntero U al último, y U+1%Max al próximo en salir
un puntero P al primero, y otro P+1%Max al que sale
tendríamos 2 punteros al P primero y U al último
Dado el procedimiento Insertar en una fila
Procedimiento Insertar(int x)
Si Cant< Max-1
U ←....................
Fila[U] ← x
Cant ← Cant + 1
Sino
Mostrar (“No se puede insertar”)
finsi
Fin_proc
Qué instrucción corresponde a la asignación de U:
(U % Max)
(U+1 % Max)
(U+1 % Max-1)
U= (U % Max-1)
Los punteros contienen direcciones de
memoria . Al declararlos se sitúa un asterisco antes del
nombre. Suponga que int x = 0 y que ip = &x;
Luego la expresion: ip = ip + 1;
Incrementa el valor de la variable, queda x = 1
Mueve el puntero al próximo byte del que apunta
Incrementa en 1, el valor de lo apuntado por ip
hace que el puntero apunte 4bytes mas adelante
En que forma puedo implementar un estante, o pila de Libros?, partiendo de:
struct Libro{ char titulo[], autor[]; int capitulos; };
struct pila{ libro tope; struct Libros[5]; };
struct estante{ int tope; int Libros[5]; };
struct libros{ int tope; Pila libro[5]; };
struct pila{ int tope; Libro datos[5]; };
En una FILA, el puntero al primer elemento, que llamaremos primero se inicializa:
primero= null;
primero= 1
primero = -1
primero = 0
En una PILA tenemos el TOPE:
apunta al primero; y otro apunta al último
está escondido del usuario del TDA, solo puedo moverlo usando push y pop
inicialmente en 0, que apunta al ultimo lugar vacío, para empujar
inicialmente en null, que apunta al ultimo elemento pusheado
Qué imprime el programa?
1234
1232
3234
3232
Peek o verTope(): mira el valor de la pila pero...para SACAR el primero debo:
Uso verTope y pop
Uso verTope, pop, y un push
solamente con un verTope!
Uso verTope y pop
Por referencia: cual es la salida del main()?
a: 5 b: 25
x : 6 y: 26
a: 6 b: 26
a: 5 b: 25
x : 6 y: 26
a: 5 b: 25
a: 5 b: 25
x : 25 y: 5
a: 6 b: 26
a: 5 b: 25
x : 26 y: 6
a: 6 b: 26
