Preguntas de prueba de grupo popular de la 13.ª Olimpiada Nacional de Informática
1. En una microcomputadora, las funciones básicas del controlador son:
A. Controlar el trabajo coordinado de varias partes de la máquina
B. Implementar operaciones aritméticas y lógicas
C. Obtener información externa
D. Almacenar programas y datos
2. Almacenar programas y datos
2. Sea A=TRUE B=fALSE C =VERDADERO D= fALSO Entre las siguientes operaciones lógicas, el valor de la expresión es verdadero:
A. (A∧B)∨(C∧D∨┐A)
B. ((┐A∧B)∨C)∧┐D)
C. (B∨C ∨D)∧D∧A
D.A∧(D∨(D∨┐C)∧Bliyilong.net
3. ¿Cuál de las siguientes afirmaciones sobre el Premio Turing es incorrecta? Uno es:
A. El Premio Turing fue establecido por la Association for Computing Machinery en 1966 para reconocer a las personas que han hecho contribuciones significativas a la industria informática.
B. El Premio Turing es Conocidos como los "Oscar de la industria informática", el Premio Turing es conocido como el Premio Nobel de la industria informática.
C. Ningún científico informático chino ha ganado nunca el Premio Turing, ningún ordenador chino. científico ganó el Premio Turing Pasó este premio
D. El Premio Turing lleva el nombre del científico británico y pionero de la informática Alan Turing
4.Liyilong.net
A.ROM y RAM B.CPU
C.ROM D.RAM
5. Un árbol binario completo tiene 2n-1 nodos, entonces el número de sus nodos hoja El número es:
A.N-1 B.N
C.2*N D.2^N-1
6. Entre los siguientes, ( ) no es software del sistema operativo
A. Solaris B. Linux C. Windows Vista D. SybaseWindows Vista D. Sybase
7. Supongamos que el estado inicial de la pila S está vacío, elementos A, B,. C,D,E,f ingresan a la pila S en secuencia y el orden de salida de la pila es B,D,f,E,C,A. Entonces la capacidad de la pila S debe ser al menos:
<. p> A. 6 B.5 C.4 D.38. El número cuadrático igual al número decimal 28.5625 es:
A.123.21 B.131.22 C.130.22 D.130.21
9. Supongamos que la cadena S="Olympics", entonces el número de cadenas no vacías en S es:
A.28 B.29 C.16 D .17
p>
10. Web2.0 es uno de los conceptos populares en Internet en los últimos años. Su idea central es la interacción y el intercambio. Entre los siguientes sitios web, ( ) es un ejemplo típico. Aplicación web2.0
A. .Sina B.flickr C. Yahoo D. Google
11. Los procedimientos recursivos o llamadas a funciones que manejan parámetros y direcciones de retorno suelen utilizar una estructura de datos llamada ()
A. Cola B. Matriz multidimensional C. Tabla lineal D. Pila
12.
El resultado de (2008) 10 + (5B) 16 es: liyilong.net
A. (833)16 B. (2089)10 C. (4163)8 D. (100001100011)2 p >
13. Se sabe que el primer recorrido de la raíz del árbol binario T es 1 2 4 3 5 7 6, el recorrido de la raíz media es 2 4 1 5 7 3 6 y el recorrido de la raíz de la cola es:
A. 4 2 5 7 6 3 1
B. 4 2 7 5 6 3 1
C. 7 4 2 5 6 3 1
D. 4 2 7 6 5 3 1
14. Los elementos de la matriz {8, 23, 4, 16, 77, -5, 53, 100} están ordenados de mayor a pequeño, y dos elementos cualesquiera se pueden intercambiar cada vez, se pueden intercambiar al menos () veces.
A.4 B.5 C.6 D.7 E.8
15. En la matriz ordenada {5,13,19,21,37,56,64, En la búsqueda binaria de 75,88,92,100}, el número de comparaciones para encontrar exitosamente el elemento 19 es:
A.1 B.2 C.3 D.4
16 Orientada a objetos La programación orientada a objetos (POO) es un método de programación que utiliza objetos como unidad básica de programación y encapsula datos y programas en objetos para mejorar la reutilización, flexibilidad y escalabilidad del software. ¿Cuál de las siguientes afirmaciones sobre la programación orientada a objetos es correcta ()?
R. El método de programación orientado a objetos generalmente adopta un método de diseño de arriba hacia abajo.
B. Las características del método de programación orientada a objetos son la herencia, la encapsulación y el polimorfismo.
Los lenguajes C. que admiten funciones orientadas a objetos se denominan lenguajes de programación orientados a objetos. Actualmente, los más populares incluyen C++, JAVA, C#, etc.
D. El prototipo de programación orientada a objetos proviene del lenguaje Simula. Posteriormente, durante el proceso de mejora y estandarización del lenguaje Smalltalk, recibió más expansión y reinterpretación de ideas anteriores. Hasta el día de hoy, el lenguaje Smalltalk todavía se considera la base de la programación orientada a objetos.
17. Supongamos que T es un árbol con n puntos fijos. La siguiente afirmación es correcta ( ).
A. T tiene n aristas
B.T es conexo
C.T es acíclico
D.T Hay n -1 bordes.
19. La localidad que no se recomienda para participar en la competencia NOIP es ().
A.Dev-C++ B.Visual C++ C.free pascal D.lazarus
20. En un programa pascal, el valor de la expresión (200 o 10) es:
A.20 B.1 C.220 D.202
2 Resolver el problema (***2 preguntas, 5 puntos cada una, ***10 puntos): p>
1. Hay cuatro libros diferentes A, B, C y D en la estantería. A y B son rojos, y C y D son negros. Los cuatro libros en la estantería deben estar alineados. Hay ( ) formas de cumplir con el requisito: todos los libros negros están ordenados en una fila.
1. Si A debe estar a la izquierda de C, todos los libros rojos deben colocarse juntos y los libros negros deben colocarse juntos. Hay ( ) formas de organizarlos.
2. Hay 6 ciudades y hay una carretera que conecta dos ciudades cualesquiera. Las distancias entre estas 6 ciudades se muestran en la siguiente tabla. La distancia más corta desde la ciudad 1 a la ciudad 6 es ( ). .
Ciudad 1 Ciudad 2 Ciudad 3 Ciudad 4 Ciudad 5 Ciudad 6
Ciudad 1 0 2 3 1 12 15
Ciudad 2 2 0 2 5 3 12
Ciudad 3 3 2 0 3 6 5
Ciudad 4 1 5 3 0 7 9
Ciudad 5 12 3 6 7 0 2
Ciudad 6 15 12 5 9 2 0
Tres, lee el programa y escribe los resultados (***4 preguntas, 8 puntos cada una, ***32 puntos en total):
1.var
i,a,b,c,d:integer;
f:array[0...3] de entero;
comenzar
para i:=0 a 3 hacer
leer(f);
a:=f[0]+f[1]+f[ 2 ]+f[3];
a:=a div f[0];
b:=f[0]+f[2]+f[3];
c:=(b*f[1]+a) div f[2];
d:=f [(b div c) mod 4];
si (f(a+b+c+d) mod 4]>f[2]) entonces
comenzar
a:=a+b; p >
writeln(a)
fin más
beginliyilong.net
c:=c+d;
writeln ( c);
fin;
end.
Entrada: 9 19 29 39
Salida:
2. Procedimiento foo(a,b,c:integer);
comenzar
si a>b entonces foo(c,a,b)
else
writeln(a,',',b,',',c)
end;
var a,b,c: entero;
p>
Inicio
readln(a,b,c);
foo(a,b,c);
Fin.
Entrada: 2 1 3
Salida:
3. Tipo
TT=array[0.20]of integer;
prodecure func(var ary:TT;n:integer);
var i,j,x:integer;
comenzar
i: =0;j:=n-1;
mientras que i mientras (i mientras que (i si i ary:=ary[j]; ary[j]:=x. inc(i); dec(j); p> p> fin; fin; fin; var a:TT; i,m:integer; comenzar m:=10; para i:=0 a m-1 hacer leer(a); func(a,m); para i:=1 a m-1 escribir(a, ' ' );liyilong.p> Entrada: 5 4 -6 -11 6 -59 22 -6 1 10 Salida: prodecure solve( primero: cadena;spos_f,epos_f:integer;mid:string;spos_m,epos_m:integer); var i,root_m:integer; comenzar if spos_f > epos_f el siguiente; para i:=spos_m a epos_m haz si primero[spos_f] = mid entonces comienza root[m]: =i ; romper; fin; resolver(primero,spos_s+1,spos_f+(root_m-spos_m),mid,spos_m,root_m-1 solve(primero,spos_f+(root_m-spos_m)+1,epos_f,mid,root_m+1,epos_m); escribir(primero[spos_f]); p> fin; var primero,medio: cadena; len:integer; comenzar readln(len readln(primero); readln(medio); resolver(primero,1,len,medio,1,len); p> writeln; end. Entrada: 7 ABDCEGF BDAGECF Salida : 4. Refinando el programa 1. Reemplazo de cadena Dada una cadena S (que contiene sólo letras mayúsculas y minúsculas), el siguiente programa utiliza el especificado Reemplace cada letra en S con una letra y genere el resultado del reemplazo S . La entrada del programa son dos cadenas, la primera es la cadena dada S, la segunda cadena S' consta de 26 letras, estas letras están ordenadas en orden a-z, el caso no está determinado, S' especifica cada Letras de reemplazo correspondientes a las letras : la primera letra en S' es la letra de reemplazo de las letras A y a, la A en S se reemplaza con la letra mayúscula y la a en S se reemplaza con la primera letra en S'; Las dos letras son las letras de reemplazo de B y b..., y así sucesivamente. var cambio,str:string; procedimiento CheckChangeRule; var i:integer; comenzar para i:=1 a 26 comenzar __________1___________ cambiar:=chr(ord(cambiar)-ord('A')+ord ('a')); end; end; procedimiento ChangeString; var len,i:integer; comenzar len:=length(str); for i:=1 to len do start si ____________2___________ entonces p> p> comenzar str[ui]:=upcase(change[ord(str)-ord('A')+1); fin ; más comenzar ______________3______________ fin fin; fin; comenzar readln(str); readln(cambiar); CheckChangeRule __________4__________; writeln(str); end. 2. Encuentra el k-ésimo número más grande Dada una secuencia desordenada de enteros positivos de longitud 1.000.000 y otro número n (1<=n<=1.000.000), y luego usa un método. similar a la ordenación rápida para encontrar el enésimo número más grande en la secuencia (por ejemplo: secuencia {1, 2.1000000]de entero; n,m,ans:integer; intercambio de procedimiento (var a,b:integer); var t: integer; comenzar if (a<>b) entonces comenzar t:=a; a:=b; b:=t; fin; fin; función FindKth(left,right,n: var tmp,value,i,j:integer; begin p> si izquierda=derecha entonces salir(izquierda); tmp:=random(derecha-izquierda) + izquierda; swap(a[ tmp],a[ izquierda]); valor:= ______1______ i:=izquierda; j:=derecha; mientras i& lt; j hago comenzar mientras que (i si i a[i]:=a[j]; inc(i); fin si no descanso; mientras (i si i a[j]:=a[i]; dec(j); finaliza break; end; _______4________; si i si i>n entonces comienza dec(i);salida (________6_________);fin; salida(i); fin; var i:entero; comenzar aleatorizar; m:=1000000; para i.=1 a m hacer lectura( a[i]); read(n); ans:=FindKth(1,m,n); writeln (a[ans] ); fin.