Estoy buscando respuestas a las preguntas del examen preliminar de la Competencia de la Olimpiada Juvenil de Informática del Distrito de Nanhai de 2006.
Preguntas de prueba preliminares de la Liga Olimpiada Nacional de Informática Juvenil de la Duodécima
(El lenguaje Pascal del grupo popular se puede completar en dos horas)
● ● Se requieren respuestas a todas las preguntas de la prueba escribir en No es válido escribir en la hoja de respuestas o en el examen ●●
1. Preguntas de opción múltiple (***20 preguntas, cada pregunta tiene 1,5 puntos, ***30 puntos en total. Cada pregunta tiene y sólo una respuesta correcta).
1. Entre los siguientes premios de clase mundial, los premios establecidos para científicos que han realizado contribuciones destacadas al campo de la informática y la tecnología son ( ).
A. Premio Wolf B. Premio Nobel C. Medalla Fields D. Premio Turing
2 Entre los siguientes software, no pertenece a la competencia NOIP (revancha) El recomendado. la configuración regional es ( ).
A. gcc/g++ B. Turbo Pascal
C. RHIDE D. free pascal
3. .
A. Registro B. ROM C. RAM D. Caché
4. Linux es un ().
A. Software de dibujo B. Lenguaje de programación C. Sistema operativo D. Navegador web
5.
A. Disco duro B. Unidad central de procesamiento C. Lenguaje de programación de alto nivel D. Registro central
6.
A. Prevenir la propagación del fuego B. Prevenir ataques a la red
C Prevenir fallas de la computadora D. Prevenir que los usuarios eliminen datos accidentalmente
7. siguiente sobre computadoras En la declaración de lenguaje, la incorrecta es ( ).
A. Pascal y C son lenguajes de alto nivel que se compilan y ejecutan.
B. Los programas en lenguajes de alto nivel son más fáciles de trasplantar de una computadora a otra que el ensamblador. programas en lenguaje
p>
C ++ es el primer lenguaje informático de la historia que admite programación orientada a objetos
D. En comparación con el lenguaje ensamblador, los programas en lenguaje de alto nivel son. más fácil de leer
8 Entre las siguientes afirmaciones sobre algoritmos informáticos, la incorrecta es ( ).
A. Un algoritmo correcto debe tener al menos una entrada
B La mejora de los algoritmos ha promovido enormemente el progreso de la informática y la tecnología
C. El criterio principal para juzgar la calidad de un algoritmo es la complejidad temporal y espacial del algoritmo.
D Todavía hay muchas cuestiones importantes relacionadas con la economía nacional y los medios de vida de las personas, y no existe ningún método que las resuelva. se puede implementar en una computadora Algoritmo efectivo
9. Entre los siguientes algoritmos de clasificación, el algoritmo que no utiliza "comparación" como operación principal es ().
A. Ordenación por selección B. Ordenación por burbuja C. Ordenación por inserción D. Ordenación por base
10. Al programar (usando cualquier lenguaje de alto nivel, no necesariamente Pascal), si necesita ingresar una matriz bidimensional grande (por ejemplo, una matriz doble de 1000 * 1000) desde un archivo de disco, léala línea por línea (es decir, el bucle externo trata sobre filas) en comparación con la lectura por columnas (es decir, el bucle externo trata sobre columnas), en términos de eficiencia de entrada ( ).
A. No hay diferencia B. La lectura por fila es mayor.
C. La lectura por columna es mayor D. Depende del método de almacenamiento de la matriz.
11. En lenguaje Pascal, el valor de la expresión (21 xor 2) es ( )
A. 42 C.23 D.24
12. En lenguaje Pascal, la expresión condicional correcta para juzgar que a no es igual a 0 y b no es igual a 0 es ( )
A not a=0 or not b=0 B. not(( a=0 )y(b=0))
C no(a=0 y b=0) D. (a<>0)y (b<>0)
13. Cierta estación es larga y estrecha, sólo lo suficientemente ancha para dar cabida a un coche y tiene sólo una entrada y una salida. Se sabe que el estado de la estación está vacío en un momento determinado, y los registros de entrada y salida a partir de este momento son: "Entrada, salida, entrada, entrada, entrada, salida, salida, entrada, entrada, entrada, salida , afuera". Supongamos que el orden de los vehículos que entran a la estación es 1, 2, 3,..., entonces el orden de los vehículos que salen de la estación es ( ).
A. 1, 2, 3, 4, 5 B. 1, 2, 4, 5, 7
C. , 4, 3, 7, 2
14. Un árbol binario equilibrado de altura n significa que si se eliminan los nodos de las hojas y las ramas correspondientes, debería ser un árbol binario completo de altura n-1. Aquí, la altura del árbol es igual a la profundidad máxima de los nodos de hoja y la profundidad del nodo raíz es 0. Si un árbol binario equilibrado tiene 2381 nodos, la altura del árbol es ().
A. 10 B. 11 C. 12 D. 13
15.
A. 3350 B. 3351 C. 3352 D. 3540
16. Al ordenar una secuencia de 5 números, independientemente del orden original, se pueden hacer al menos ( ) comparaciones para completar la clasificación de pequeño a grande.
A. 6 B. 7 C. 8 D. 9
17. Supongamos que A=B=D=verdadero, C=falso, el valor de la siguiente expresión de operación lógica es verdadero tiene ().
A. (A∧B)∨(C∧D) B. ((A∨B∨D)∧C)
A∧(B∨C∨D). ) D. (A∧B∧C)∨ D
18 El resultado de (2010)16 + (32)8 es ( ).
A. (8234)10 B. (202B)16
C. (20056)8 D. (100000000110)2
19. El estado inicial de está vacío, los elementos a, b, c, d, e se colocan en la pila en secuencia. Es imposible que aparezcan las siguientes secuencias emergentes ().
A. a, b, c, e, d B. b, c, a, e, d
C. , c, e, b, a
20. Se sabe que el primer recorrido de raíz de un árbol binario con 6 nodos es 1 2 3 4 5 6 (el número es el número del nodo, el Lo mismo a continuación), el último recorrido de raíz El recorrido es 3 2 5 6 4 1, entonces el posible recorrido de raíz media del árbol binario es ( )
A. 1 5 4 6
C. 2 1 3 5 4 6 D. 2 3 1 4 6 5
II. Resolución de problemas (***2 preguntas, 5 puntos cada una, ***10 puntos)
1. (Buscando monedas falsas) Hay 80 monedas, una de las cuales es una moneda falsa. Su peso es un poco más ligero. Todas las monedas genuinas tienen el mismo peso. Si usas una báscula sin pesas, debes pesarlas. al menos varias veces para descubrir dinero falso? También deberá indicar el método de pesaje la primera vez. Por favor escriba sus resultados:_____________________________________________.
2. (Juego de tomar piedras) Actualmente hay 5 montones de piedras, y el número de piedras es 3, 5, 7, 19, 50. A y B se turnan para tomar de cualquier montón (solo pueden tomar de un montón a la vez). tiempo, deben tomarla), gana el grupo que tome la última piedra. A toma primero y pregunta si A tiene una estrategia ganadora (es decir, no importa cómo la tome B, A puede ganar siempre que no cometa errores). Si es así, ¿cuánto debería tomar A de qué pila en el primer paso? Por favor escribe tus resultados:
_____________________________________________.
3. Leer el programa y escribir los resultados (***4 preguntas, 8 puntos cada una, total 32 puntos)
1 Programa ex301
var
u. :matriz[0..3] de entero;
i,a,b,x,y:integer;
comenzar
y:=10 ;
para i:=0 a 3 haz
read(u[i]
a:=(u[0]+u[1 ]); +u[2]+u[3]) div 7;
b:=u[0] div ((u[1]-u[2]) div u[3]); p>
x:=(u[0]+a+2)-u[(u[3]+3) mod 4]
si (x>10) entonces
p>
y:=y+(b*100-u[3]) div (u[u[0] mod 3]*5)
else
y: =y+2(b*100-u[3]) div (u[u[0] mod 3]*5
writeln (x,',',y); );
writeln (x,',',y);
p>end {*Nota: En este ejemplo, los datos de entrada dados pueden evitar que el denominador sea 0 o el subíndice se sale de los límites.
}
Entrada: 9 3 9 4
Salida: _______________
2.Programa ex302
const
m:matriz[0..4] de entero=(2,3,5,7,13
var
i,j:integer
;t: longint;
comenzar
para i:=0 a 4
comenzar
t:=1;
para j:=1 a m[i]-1 haga
t:=t*2
t:=(t*2-1; )*t;
escribir (t,' ');
fin
escribir
fin.
Salida:____________________
3.Programa ex303
Const
NN=7
Tipo
<; p>Arr1=matriz[0..30] de char;var
s:arr1
k,p:integer
;Función divertida(s:arr1; a:char;n:integer):integer
var
j:integer
begin
p>comenzar
p>j:=n;
mientras (a0) hacen dec(j); p>
diversión:=j;
fin;
comenzar
para k:=1 a NN hacer
s [k]:=chr(ord(' A')+2*k+1);
k:=fun(s,'M',NN
writeln); (k);
fin.
Salida: _____________
4.program ex304
var
x,x2:longint;
procedimiento dígito(n,m:longint);
var n2:integer
comenzar
if(m>0) entonces
comenzar
n2:=n mod 10
escribir(n2:2); si(m>1) entonces dígito(n div 10,m div 10);
n2:=n mod 10
escribir(n2:2);
fin;
fin;
comenzar
writeln('Ingrese un número:');
x2: =1;
mientras(x2 digit(x,x2 ); writeln; 5 end Entrada: 9734526 Salida: ____________________________ Cuatro. Mejorar el procedimiento (los primeros 4 espacios en blanco, 2,5 puntos por cada espacio en blanco, los últimos 6 espacios en blanco, 3 puntos por cada espacio en blanco, 28 puntos) 1. (Completo Permutación) La función del siguiente programa es utilizar el método recursivo para generar todas las permutaciones posibles de n números del 1 al n (n<10) (no necesariamente generados en orden ascendente). Por ejemplo, si ingresa 3, debería generar (5 permutaciones por línea): 123 132 213 231 321 312 Programa: Programa ex401; Var i,n,k:integer; a:array[1..10] de entero <; /p> p> count:longint; {La variable count registra el número de permutaciones diferentes, que se utiliza para controlar los saltos de línea} Procedimiento perm(k:integer); /p> var j, p,t:integer comenzar si ① entonces comenzar inc( contar); para p:=1 a k hacer write(a[p]:1 write(' '); p> if ( ② ) entonces escribe; salir fin for j:=k to n do comenzar t:=a[k]; a[k]:=a[j]; a[j]:=t ③ ; t:=a[k ]; ④ ; fin fin comenzar writeln('Entrada n :'); read(n); count:=0 para i:=1 para n hacer a[i]:=i ; ⑤ ; end 2. Ingrese un número impar P (P<100,000,000) desde el teclado, y su dígito de unidades no es 5. Encuentre un número entero S tal que P×S = 1111...1 (Bajo las condiciones dadas, la solución S debe existir). Se requiere que los siguientes resultados aparezcan en la pantalla en secuencia: (1) Todos los números de S. Cada línea, excepto la última, genera 50 dígitos. (2) El número de dígitos del producto. Ejemplo 1: Ingrese p=13, ya que 13*8547=111111, entonces se debe generar (1)8547, (2)6 Ejemplo 2: Ingrese p=147. , entonces el resultado de salida debe ser (1) 755857898715041572184429327286470143613 (2) 42, es decir, hay 42 unos en el lado derecho de la ecuación. Programa: programa ex402 var p,a,b,c,t,n:longint var p> begin mientras (verdadero) do begin writeln ('Ingrese p, el último dígito es 1 o 3 o 7 o 9 :'); readln(p); if (p mod 2<>0)y(p mod 5<>0) entonces p> ⑥ ; {Si el número ingresado cumple con los requisitos, finaliza el ciclo} end; a:=0; mientras (a comienza a:=a*11; inc(n fin; p> t:= 0; repetir b:=a div p; escribir(b:1); inc(t); si ( ⑦ ) entonces escribe c:= ⑧ ; a:= ⑨ inc(n); hasta c<=0; p> dec(n); writeln('n=', ⑩ ); Respuestas de la 12.ª Liga Nacional de Informática Juvenil (Grupo de Popularización)/noi/showNews.jsp?newsId=200190000064 Respuestas de referencia y estándares de puntuación para el Grupo de Popularización (Lenguaje Pascal)<. /p> 1. Preguntas de opción única: (1,5 puntos por cada pregunta) 1. D 2. B 3. B 4. C 5. B 6.B 7. C 8. A 9. D 10. D 11. C 12. D 13. C 14. B 15. C 16. B 17. B 18. A 19. C 20. B 2. Resolución de problemas: (5 puntos por cada pregunta) 1. 4 veces (1 punto), Paso uno: Dividir en 3 grupos: 27, 27, 26, poner los 2 primeros grupos en la escala (4 puntos). 2. Hay una estrategia ganadora (1 punto), y la primera vez obtienes 32 piedras del montón 5 (4 puntos). 3. Programa de lectura y resultados de escritura 1. 10, 10 (4 puntos por 1 número, 1 punto deducido por no tener coma) 2. 28 496 8128 33550336 (1 punto por los 2 primeros pares de 1 número, 2 puntos por los últimos 3 pares de 1 número) 3. >4. 6 2 5 4 3 7 9 9 7 3 4 5 2 6 (2 puntos deducidos por no haber espacios entre números) 4. , cada 2,5 puntos por espacio vacío, 6 puntos vacíos por los últimos 6 (⑤--⑩), 3 puntos por cada espacio vacío) 1. ① k=n (o n=k) ② recuento mod 5=0 ③ permanente(k+1) ④ a[k]: =a[j];a[j]:=t ⑤ permanente(1) 2. ⑥ break ⑦ t mod 50=0 ⑧ a-p*b (o a-b*p) ⑨ c*11 (o 10*c +1) ⑩ n