Solicitar preguntas de preliminares anteriores de NOIP (grupo de mejora)

Estoy en el grupo de popularización.

Primero les contaré el sitio web

/jsbase/

Las preguntas de la prueba preliminar de la tercera Liga Olímpica Nacional de Informática Juvenil (Computadora) (grupo de secundaria)

p>

(Tiempo del concurso de lenguaje Pascal: 2 horas)

Primero, la parte básica

(1) WPS pertenece a _ _ _ _ _ _ software; FOXBASE pertenece al software de tipo _ _ _ _ _ _. Utilice el comando FOXBASE:. Cuando se crea un GZB, se genera un archivo _ _ _ _ _ _ en el disco.

(2) En el directorio raíz de MS DOS, se encuentran los siguientes archivos: TIME.EXE·TIME.COM time.bat

Pregunta: c:\gt; y presione Enter >¿Qué orden?

(3) Se sabe que hay otros 6 caracteres después de las letras mayúsculas en la tabla de códigos ASCII, seguidos de letras minúsculas. Se sabe que el código ASCII de la letra A es (41)16 {que representa el número 16 hexadecimal 41}. Intente escribir código ASCII usando las siguientes letras decimales:

g →()10 b →()10t →()10

(4) Supongamos que la matriz A: = 1; := 0;

Para i:=2 a n-1, haga

Inicio

s:= 0;

mientras(m lt; gt0) y (m mod i=0)

comienzan m:= m div I;

Si ③, entonces comienza;

j: = j 1; ④; Respuesta: = ⑤;

Fin

Fin

Para i: = 0 a j do b do k:= k-1;

b[k]:= b[k] 1;

For L:=⑦do b[L]:= 0;

s:=1;

para i:=1 a j hacer

si b[I] gt0 entonces para L:=1 a b; [i] haz ⑧

Si s=n, entonces comienza

para I:= 1 a j haz c[I]:= b[I];

Escribe ('('); m:= 1;

Para i:=1 a j do

Mientras (c[i]>0) y (M lt gt Hacer

Iniciar

M:=M*A[I, 1];

Si M=N, entonces escribir (a[i, 1])

En caso contrario, inicie

Escribir (A[I, 1], ' * '

c[I]:= c[I]-1;

Fin;

Fin

WRITELN(')'

Fin

Fin

p>

Fin

p>

Fin.

2. [Descripción del problema]: Dado un polígono convexo, se pueden encontrar varios triángulos inscritos al mismo tiempo. , se especifica que el triángulo inscrito debe tener un lado (solo un lado coincidente con los lados del polígono convexo). Por ejemplo, hay cinco triángulos inscritos posibles en el siguiente pentágono:

Problema: Cuando las dos coordenadas de cada vértice del polígono convexo se dan en secuencia, encuentre el que tiene el área más grande del triángulo inscrito y genere el área del triángulo y las coordenadas de los tres vértices

[. Descripción del algoritmo]: Cada vértice del polígono convexo está representado por un par de coordenadas (x, y).

Utilice la matriz p: matriz [1...punto de 2 * n]; ingrese las coordenadas del vértice;

Al mismo tiempo, se escribió una función SEA para calcular el área del triángulo a partir de los tres vértices del triángulo.

[Lista de programas]: Programa exp 5 (entrada, salida);

Constante n = 6

Tipo punto = registro x, y: final real; ;

var p: matriz[1..2 * n de puntos];

I, j: entero;

q1, q2, q3: puntos ;

smax: real;

Función mar (p1, p2, p3: puntos): números reales;

var s1, s2, s3, p4: real ;

Inicio

s 1:= sqrt((p 1 . x-p2 . x)*(p 1 . x-p2 . x) (p 1 . y- p2 . y)*(p 1 . y-p2 . y));

S2:= sqrt((p 1 . x-P3 . x)*(p 1 . x-P3 . x) ( p 1 . y-P3 . y)*(p 1 . y-P3 . y));

S3:= sqrt((p2 . x-P3 . x)*(p2 . x- P3 . (P4-S2)*(P4-S3));

Fin;

Inicio

para i:=1 a n hacer readln(p [i ]). x,p[yo]. y); smax: = 0;

Para i: =1 a n-1 haga ②

Para i: =1 a n haga

para j := ③ hacer

Si ④ entonces

Iniciar

smax:=Mar(p[i], p[i 1], p[j]) ;

q 1:= p[I]; Q2:=⑤; q3:=p[j]

Fin;

writeln(smax, q1 .x, q1.y, q2.x, q2.y, q3.x, q3.y)

Fin.

3. [Descripción del problema]: Mosaico: un cuadrado con longitud de lado 1 y área 1. A partir de un cuadrado con longitud de lado 1, se pueden usar dos cuadrados con longitud de lado 1 para unir un cuadrado con área 2:

Acuerde también:

Las longitudes de los lados son iguales. los rectángulos se consideran iguales (por lo que los siguientes dos rectángulos con un área de 2 solo se consideran un rectángulo);

2. debe superponerse. A partir de un rectángulo con área 2, puedes usar dos rectángulos con área 2 para crear un rectángulo con área 4 (incluido el cuadrado). La ortografía es la siguiente:

De manera similar, a partir de un rectángulo (incluidos los cuadrados) con un área de 4, puede deletrear un rectángulo con un área de 8. La ortografía es la siguiente:

Puedes continuar como se explica arriba.

Pregunta: Ingrese un número N y genere todas las grafías posibles con un área que no exceda N. Por ejemplo, cuando N = 20, genere: (1, 1), (2, 1), (4, 2), (8,2), (16,3) son grafías con un área de 1.

[Descripción del algoritmo]: El rectángulo se puede representar con tres números x, y, S, donde xey representan las longitudes de los lados, S representa el área y los gráficos están representados por la matriz G [ 1..100, 1.. 3].

Cuando se da n, el número de empalmes posibles es r, y satisface: 2r

Utilice la matriz B [1... 100] para registrar las posibles grafías de cada área.

[Lista de programas]: Programa ex P8 (entrada, salida);

tipo g = registro x, y, z: final del número entero

var; g1 :matriz[1..g de 100];

I, j, n, s1, jj, j1, j2, i1: entero;

Matriz[1..100 ] entero;

GW: g;

Función eq(gk: g): tipo booleano;

var jeq: entero; /p>

Inicio

p:=true; jeq:= 1;

Y (p y (jeq lt=j)) hacer

if ((gk.x=g1[jeq].x) y (gk.y=g1[jeq].y))

o ((gk.x=g1[jeq]).y) y (gk.y=g1[jeq].x))

Entonces p:= false else jeq:= jeq 1;

Ecuación: =p

Fin;

Inicio

readln(n); n: = n 1; s 1: = 1; jj: = 1;

Inicio ②;jj:=jj 1 fin;

③;j 1:= 1;j:= 1;

g1[j]. x:= 1;g1[j]. y:= 1;g1[j]. z:= 1;

Para i:=2 a jj haga

Iniciar

J2:= j;

Para i1: =j1 a j2 hacer

Inicio

gw.x: =g1[i1]. x * 2; gw.y:=g1[i1]. y;gw.z:=g1[i1]. z * 2;

Si ④, entonces comienza

j:= j 1; g1[j]:=gw

Fin;

gw.x:=g1[i1]. x; ⑤

Si eq(gw) entonces comienza

j:= j 1; /p>

j1:=j2 1

Fin;

Para i:=1 a n hacer b[I]:= 0;

for i:=1 to j do ⑦

for i:=1 to n do if ⑧Entonces escribe ('(',I ',',b[i],')');

p>

Fin.

Puede que no haya fotografías, entra en la web (hay muchas, tómate tu tiempo para encontrarlas).

¡Te deseamos mucha suerte a ti y a mí! ! !