Examen de informática Fipi con solución detallada. Versiones de demostración del examen de informática.

Para graduados de la escuela. Deben tomarlo aquellos que planean ingresar a las universidades en las especialidades más prometedoras, como seguridad de la información, automatización y control, nanotecnología, análisis y gestión de sistemas, sistemas de misiles y astronáutica, física y tecnología nuclear y muchos otros.

Verificar información general sobre el examen y empezar a prepararse. Prácticamente no hay cambios respecto al año pasado en la nueva versión del Examen Estatal Unificado KIM 2019. Lo único es que fragmentos de programas escritos en lenguaje C desaparecieron de las tareas: fueron reemplazados por fragmentos escritos en lenguaje C++. Y de la tarea número 25, eliminaron la posibilidad de escribir un algoritmo en lenguaje natural como respuesta.

Evaluación del examen estatal unificado

El año pasado, para aprobar el Examen Estatal Unificado de Informática con al menos una C, bastaba con obtener 42 puntos primarios. Se otorgaron, por ejemplo, por completar correctamente las primeras 9 tareas de la prueba.

Aún no se sabe exactamente qué sucederá en 2019: habrá que esperar la orden oficial de Rosobrnadzor sobre la correspondencia de las puntuaciones de las primarias y de los exámenes. Lo más probable es que aparezca en diciembre. Teniendo en cuenta que la puntuación primaria máxima para toda la prueba se mantuvo igual, lo más probable es que tampoco cambie puntuación mínima. Centrémonos en estas tablas por ahora:

Estructura de la prueba del Examen Estatal Unificado

La informática es el examen más largo (el Examen Estatal Unificado de Matemáticas y Literatura tiene la misma duración) y dura 4 horas.

En 2019, la prueba consta de dos partes, incluidas 27 tareas.

  • Parte 1: 23 tareas (1–23) con una respuesta corta, que es un número, una secuencia de letras o números.
  • Parte 2: 4 tareas (24–27) con respuestas detalladas, solución completa Las tareas están escritas en la hoja de respuestas 2.

Todas las tareas están conectadas de una forma u otra con una computadora, pero durante el examen no se le permite usarla para escribir un programa en los problemas del grupo C. Además, los problemas no requieren cálculos matemáticos complejos y tampoco está permitido el uso de calculadora.

Preparación para el examen estatal unificado

  • Realice las pruebas del Examen Estatal Unificado en línea de forma gratuita sin registro ni SMS. Las pruebas presentadas son idénticas en complejidad y estructura a los exámenes reales realizados en los años correspondientes.
  • Descargue versiones de demostración del Examen Estatal Unificado de Informática, que le permitirán prepararse mejor para el examen y aprobarlo más fácilmente. Todas las pruebas propuestas han sido desarrolladas y aprobadas para la preparación para el Examen Estatal Unificado por el Instituto Federal de Medidas Pedagógicas (FIPI). En el mismo FIPI todos los oficiales. Opciones del examen estatal unificado.
    Las tareas que verás probablemente no aparecerán en el examen, pero habrá tareas similares a las demo, sobre el mismo tema o simplemente con números diferentes.

Cifras del examen general unificado del estado

Año Mínimo Puntuación del examen estatal unificado Puntuación media Número de participantes Fallido, % Cantidad
100 puntos
Duración -
Duración del examen, mín.
2009 36
2010 41 62,74 62 652 7,2 90 240
2011 40 59,74 51 180 9,8 31 240
2012 40 60,3 61 453 11,1 315 240
2013 40 63,1 58 851 8,6 563 240
2014 40 57,1 235
2015 40 53,6 235
2016 40 235
2017 40 235
2018
K.Yu. Poliakov
Examen estatal unificado de informática:
2016 y más allá...
K.Yu. Poliakov, 2015
http://kpolyakov.spb.ru

Cambios estructurales en 2015-2016


2
Cambios estructurales en 2015-2016
1) eliminación de la parte A
2) reducir el número de tareas
3) asociación tareas simples (4, 6, 7, 9)
Objetivo: dejar más tiempo para decidir
tareas complejas.
4) lenguaje Python
!
K.Yu. Poliakov, 2015
¡Variabilidad!
http://kpolyakov.spb.ru

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
3

¿Cuántas unidades hay en notación binaria?
número hexadecimal 12F016.
1
2
12 102
F
11112
0
1+1+4=6
Especifique el número más pequeño cuya notación binaria es
contiene exactamente tres ceros significativos y tres unos.
Escribe la respuesta en sistema decimal navegación a estima
1000112 = 35
K.Yu. Poliakov, 2015
http://kpolyakov.spb.ru

B1: sistema numérico binario

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
4
B1: sistema numérico binario

números 1025?
1) “en la frente” - traducir...
2) 1025 = 1024 + 1
1024 = 100000000002
1025 = 100000000012
Respuesta: 2
511?
511 = 512 - 1
= 10000000002 - 1 = 1111111112
Respuesta: 9
K.Yu. Poliakov, 2015
http://kpolyakov.spb.ru

B1: sistema numérico binario

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
5
B1: sistema numérico binario
¿Cuántas unidades hay en notación decimal binaria?
números 999?
1) “en la frente” - traducir...
2) 999 = 1023 – 16 – 8
1023 = 1024 – 1 = 11111111112
menos dos unidades: 8
519?
519 = 512 + 7
512 = 10000000002
7 = 1112
más tres unos: 4
K.Yu. Poliakov, 2015
http://kpolyakov.spb.ru

B1: sistemas numéricos

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
6
B1: sistemas numéricos
¿Cuál de los siguientes números se puede escribir en
sistema numérico binario en la forma 1xxx10, donde x puede
significa 0 y 1?
1) 74
2) 38
3) 60
4) 47
1) 1000102 = 34 norte 1111102 = 62
2) 1xxx10 es divisible por 2
3) 1xxx10 no es divisible por 4
K.Yu. Poliakov, 2015
http://kpolyakov.spb.ru

B2: funciones lógicas

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
7
B2: funciones lógicas
x1
1
!
x2
0
x3
x4
0
1
x5
x6
x7
x8
1
1
F
0
1
1
¡Todas las opciones son simples Y u O!
1) “en la frente” - sustituir en fórmulas...
2) si todo “O” es uno cero
verifique la línea donde F = 0
x2 sin inversión, x8 con inversión
3) si todos los “yoes” son una unidad
K.Yu. Poliakov, 2015
http://kpolyakov.spb.ru

B2: funciones lógicas

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
8
B2: funciones lógicas
Dada una tabla de funciones z x x

?z
0
0
0
0
1
1
1
1
?y
0
0
1
1
0
0
1
1
K.Yu. Poliakov, 2015
?X
0
1
0
1
0
1
0
1
F
0
1
0
1
0
0
0
1
y.
zxxy
x (z y)
x 0 F 0
x1
z 1
F 0
y 0
Respuesta: zyx
http://kpolyakov.spb.ru

B2: funciones lógicas

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
9
B2: funciones lógicas
Dada una tabla de funciones x y z x
Determina qué columnas son x, y y z.
?z
0
0
0
0
1
1
1
1
?X
0
0
1
1
0
0
1
1
K.Yu. Poliakov, 2015
?y
0
1
0
1
0
1
0
1
F
0
0
1
0
1
1
1
1
y z.
x y z x y z
z 0 F x y
z 1 F x y x y
(x x) (y x) y
y x y 1
z 0
x 1 Respuesta: zxy
F 1
y 0
http://kpolyakov.spb.ru

B3: matrices de peso del gráfico

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
10
B3: matrices de peso del gráfico
A
A
B
C
D
mi
F
z
B
4
C
6
3
D
mi
F
11
4
5
7
4
z
30
27
10
8
2
29
1) matriz asimétrica (dígrafo)
2) dos caminos de un solo sentido
3) “¿cuántos caminos hay que pasan por N?
¿puntos?
4) “... ¿no menos de N puntos?”
K.Yu. Poliakov, 2015
http://kpolyakov.spb.ru

B3: matrices de peso del gráfico

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
11
B3: matrices de peso del gráfico
1
1
2
2
3
45
4
5
6
6
45
55
3
15 60
2
10 40
15
20 35
4
55
2
55 60 20 55
35
45
45
mi
A
5
2
grados
picos
K.Yu. Poliakov, 2015
D
2
40
7
B
7
10
3
4
5
A
EN
grado 4
grado 5
GRAMO
Respuesta: 20
http://kpolyakov.spb.ru

B4-1: Bases de datos tabulares

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
12
B4-1: Bases de datos tabulares
1) ¿cuántos descendientes (hijos, nietos, bisnietos...) tiene X?
2) ¿cuántos antepasados ​​de X hay en la tabla?
3) encuentra a tu abuelo materno
23
24
25
K.Yu. Poliakov, 2015
34
57
35
42
http://kpolyakov.spb.ru

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
13

Los mensajes contienen las letras P, O, S, T; usado
código binario que puede ser inequívoco
descodificación. Palabras clave:
T: 111, O: 0, P: 100.
Especifique la palabra de código más corta para la letra C, cuando
en el que el código permitirá inequívocos
descodificación. Si hay varios códigos de este tipo, indique
código con el valor numérico más pequeño.
1
0
0x10
0xx
ACERCA DE
11
101
PAG
K.Yu. Poliakov, 2015
0
0
110
1
1
1
0
1
t
http://kpolyakov.spb.ru

B5: Codificación y Decodificación

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
14
B5: Codificación y Decodificación
Los mensajes contienen tres letras vocales: A, E, I – y cinco
letras consonantes: B, V, G, D, K. Las letras están codificadas
código de prefijo. Se sabe que todas las palabras clave para
las consonantes tienen la misma longitud y
A –1, E – 01, I – 001.
¿Cuál es la longitud más pequeña posible de palabras en clave para
consonantes?
0
5 consonantes 3 bits 4 bits 5 bits
4: 1xx
0
1
2:01x
0
1
A
1: 001
1
mi
gratis: 000
000x 000xx
1
2
4
Y
K.Yu. Poliakov, 2015
6 bits
000xxx
8
http://kpolyakov.spb.ru

B6-1: automático

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
15
B6-1: automático
¡Paridad restablecida!
Entrada: número natural NORTE.
1. Se agrega un bit de paridad al final del registro binario.
(suma de dígitos mod 2).
2. Se agrega otro bit de paridad a la cadena recibida.
Introduzca el número más pequeño para el que se obtiene el resultado.
La ejecución de este algoritmo dará como resultado un número
más de 125.
!
¡El paso 2 suma 0 2!
Debería igualarse = 126 o 128
¡La paridad debe preservarse después del div 2!
126 / 2 = 63 = 1111112: – 6 unidades, paridad
Respuesta:
K.Yu. Poliakov, 2015
31
http://kpolyakov.spb.ru

B10: combinatoria

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
16
B10: combinatoria
¿Cuántas palabras de 5 letras hay que solo contienen
las letras P, I, R y la letra P aparecen exactamente 1 vez.
PAG****
*PAG***
**PAG**
***PAG*
****PAG
K.Yu. Poliakov, 2015
24 = 16 palabras
Respuesta: 16·5 = 80.
http://kpolyakov.spb.ru

B12: direccionamiento en redes

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
17
B12: direccionamiento en redes
Dirección IP 224.128.112.142
La dirección de red es 224.128.64.0.
¿Cuál es el tercer byte desde la izquierda de la máscara?
no te olvides de
*.*.112.*
unidades mayores!
*.*.64.0
máscara: 110000002 = 192
192
112 = 011100002
64 = 010000002
!
K.Yu. Poliakov, 2015
¡Conjunción bit a bit!
http://kpolyakov.spb.ru

B12: direccionamiento en redes

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
18
B12: direccionamiento en redes
Dirección IP 111.81.208.27
La dirección de red es 111.81.192.0.
¿Cuál es el valor mínimo del tercero desde la izquierda?
byte de máscara?
*.*.208.*
*.*.192.0
208 =
192 =
mascarilla:
mascarilla:
110100002
110000002
111000002
110000002
192
K.Yu. Poliakov, 2015
http://kpolyakov.spb.ru

B14: dibujante

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
19
B14: dibujante
desplazamiento en (–3, –3) 1)
REPETIR N VECES
2)
pasar a (a, b) 3)
pasar a (27, 12) 4)
FINALIZAR REPETIR
desplazarse por (–22, -7)
3 N x 22 0
3 N y 7 0
menor N > 1
norte más grande
todo lo posible norte
suma de todos N
N x 25
Nueva York 10
norte = divisor común(25,10)
K.Yu. Poliakov, 2015
http://kpolyakov.spb.ru

B14: Editor

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
20
B14: Editor
1) reemplazar(v,w)
2) encontrado(v)
Hasta ahora encontrado (222) O encontrado (888)
SI se encuentra (222)
PARA reemplazar (222, 8)
DE LO CONTRARIO reemplazar (888, 2)
¿Cuál es el resultado del procesamiento de la línea 88888...8?
888888888…8
2 2 2
8
K.Yu. Poliakov, 2015
!
En 4 pasos
remoto
¡8 ochos!
68 - 8 8 = 4
68
8888 28
http://kpolyakov.spb.ru

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
21


¿Ciudad A a la ciudad L sin pasar por B?
D
B
Y
EN
A
GRAMO
K.Yu. Poliakov, 2015
Y
mi
l
A
http://kpolyakov.spb.ru

B15: número de caminos en gráficos

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
22
B15: número de caminos en gráficos
cuantos existen diferentes caminos de
ciudad A a la ciudad L, pasando por D?
D
B
Y
EN
A
GRAMO
K.Yu. Poliakov, 2015
Y
mi
l
A
http://kpolyakov.spb.ru

B16: Sistemas numéricos

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
23
B16: Sistemas numéricos
cuantas unidades hay en binario
(ternario, ...) notación para el número X?
10N = 100…0
10N-1 = 99…9
norte
norte
2N = 100…02
norte
3N = 100…03
norte
K.Yu. Poliakov, 2015
2N-1 = 11…1
norte
3N-1 = 22…2
norte
http://kpolyakov.spb.ru

B16: Sistemas numéricos

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
24
B16: Sistemas numéricos
2N – 2M = 2M (2N-M – 1)
= 100…02 11…12
NUEVO MÉJICO
METRO
= 11…100…02
NUEVO MÉJICO
K.Yu. Poliakov, 2015
METRO
http://kpolyakov.spb.ru

B16: Sistemas numéricos

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
25
B16: Sistemas numéricos

números (24400–1)·(42200+2)?
(24400–1)·(42200+2) = (24400–1)·(24400+1+1)
= (24400–1) (24400+1) + 24400–1
= 28800 – 1 + 24400–1
= 28800 + 24400 – 21
1
4399
1 + 4399 = 4400
K.Yu. Poliakov, 2015
http://kpolyakov.spb.ru

B16: Sistemas numéricos

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
27
B16: Sistemas numéricos
¿Cuántas unidades hay en notación binaria?
¿El significado del número 8148 – 4123 + 2654 – 17?
8148 = 2444
4123 = 2246
2654
17 = 16 + 1
= 24 + 2 0
2654 + 2444 – 2246 – 24 – 20
444 – 2246 – 24 – 20
2
1
444 – 2
1 + 444 – 2 = 443
K.Yu. Poliakov, 2015
http://kpolyakov.spb.ru

B16: Sistemas numéricos

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
28
B16: Sistemas numéricos
¿Cuántos dos hay en notación ternaria?
significado del número 9118 + 3123 – 27?
9118 = 3236
27 = 33
K.Yu. Poliakov, 2015
3236 + 3123 – 33
1
120 dos
http://kpolyakov.spb.ru

B16: Sistemas numéricos

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
29
B17: Consultas en motores de búsqueda
Pedido
Estados Unidos | Japón | Porcelana
Japón | Porcelana
(Estados Unidos y Japón) | (Estados Unidos y China)
EE.UU
A = EE.UU.
Pedido
A|B
B
A&B
A
paginas
450
260
50
?
B = Japón | Porcelana
paginas
450
260
50
?
A
A&B
B
NА | B = NA + NB – NA y B
NA = 450 – 260 + 50 = 240
K.Yu. Poliakov, 2015
http://kpolyakov.spb.ru

B17: Consultas en motores de búsqueda

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
30
P = y Q = . Por favor indique el más pequeño
longitud posible de un segmento A tal que la expresión
(x P) (((x Q) (x A)) (x P))
idénticamente cierto, es decir, igual a 1 para cualquier
el valor de la variable x.
P(xP),
Q(xQ),
A (xA)
P (Q A P)
P (Q A P)
P Q A P P Q A
P Q A
PAG
q
K.Yu. Poliakov, 2015
PAG
37
40
60
77
X
20
q
http://kpolyakov.spb.ru

B18: operaciones lógicas, conjuntos

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
31

Conjunto A: números naturales. Expresión
(x (2, 4, 6, 8, 10, 12)) → (((x (4, 8, 12, 116))
¬(x A)) → ¬(x (2, 4, 6, 8, 10, 12)))
cierto para cualquier valor de x. Definir
el menor valor posible de la suma de elementos
establece A.
P x (2, 4, 6, 8, 10, 12),
Q x (4, 8, 12, 116),
A x A
P (Q A P)
P Q A
Amín P Q P Q (4, 8, 12)
K.Yu. Poliakov, 2015
= 24
http://kpolyakov.spb.ru

B18: operaciones lógicas, conjuntos

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
32
B18: operaciones lógicas, conjuntos

(x&49<>0) ((x y 33 = 0) (x y A<> 0))


P x y 49 0,
A x y A 0
P(control de calidad)
Qx y 33 0,
P (Q A) P Q A
P Q A (P Q) A
K.Yu. Poliakov, 2015
http://kpolyakov.spb.ru

B18: operaciones lógicas, conjuntos

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
33
B18: operaciones lógicas, conjuntos
"&" es una conjunción bit a bit (Y). Expresión
(x&49<>0) ((x y 33 = 0) (x y A<> 0))
cierto para cualquier x natural. Definir
el menor valor posible de A.
x&49
número de bit
5 4 3 2 1 0
49 = 110001
X = abcdef
X y 49 = ab000f
x & 49 = 0 todos los bits (5, 4, 0) son cero
x&49<>
K.Yu. Poliakov, 2015
http://kpolyakov.spb.ru

B18: operaciones lógicas, conjuntos

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
34
B18: operaciones lógicas, conjuntos
"&" es una conjunción bit a bit (Y). Expresión
(x&49<>0) ((x y 33 = 0) (x y A<> 0))
cierto para cualquier x natural. Definir
el menor valor posible de A.
(PQ)A
P:x&49<>0 entre los bits (5, 4, 0) hay distintos de cero
P: x & 33 = 0 todos los bits (5, 0) son cero
número de bit
5 4 3 2 1 0
33 = 100001
!
?
¡El bit 4 no es cero!
K.Yu. Poliakov, 2015
¿Qué se sigue de esto?
Amín = 24 = 16
http://kpolyakov.spb.ru

B18: operaciones lógicas, conjuntos

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
35
B18: operaciones lógicas, conjuntos
"&" es una conjunción bit a bit (Y). Expresión
(x&A<>0) ((x y 20 = 0) (x y 5<> 0))
cierto para cualquier x natural. Definir

P x y 20 0,
A x y A 0
A (PQ)
Qx y 5 0,
A (P Q) A P Q
P Q A (P Q) A
K.Yu. Poliakov, 2015
http://kpolyakov.spb.ru

B18: operaciones lógicas, conjuntos

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
36
B18: operaciones lógicas, conjuntos
"&" es una conjunción bit a bit (Y). Expresión
(x&A<>0) ((x y 20 = 0) (x y 5<> 0))
cierto para cualquier x natural. Definir
el valor más alto posible de A.
(PQ)A
P: x & 20 = 0 todos los bits (4, 2) son cero
P: x y 5 = 0 todos los bits (2, 0) son cero
!
¡Los bits (4, 2, 0) en x son cero!
Amáx = 24 + 22 + 20 = 21
K.Yu. Poliakov, 2015
ellos se restablecerán
bits de un numero
en &!
http://kpolyakov.spb.ru

B18: operaciones lógicas, conjuntos

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
37
B19: Procesamiento de matrices

c:= 0;
para i:= 1 a 9 hacer
si un< A[i] then begin
c:= c+1;
t:= A[i];
inversión de par
A[yo]:= A; al clasificar
R:=t
burbuja
fin;

K.Yu. Poliakov, 2015
http://kpolyakov.spb.ru

B19: Procesamiento de matrices

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
38
B19: Procesamiento de matrices
1)
2)
3)
4)
5)
6)
6
9
9
9
9
9
9
9
6
7
7
7
7
7
7
7
6
6
6
6
6
2
2
2
2
2
2
2
1
1
1
5
5
5
5
5
5
5
1
1
1
1
0
0
0
0
3
3
3
3
3
3
3
0
4
4
4
4
4
4
4
0
8
8
8
8
8
8
8
0
c=6
K.Yu. Poliakov, 2015
http://kpolyakov.spb.ru

B19: Procesamiento de matrices

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
39
B19: Procesamiento de matrices
Una matriz con índices del 0 al 9.
c:= 0;
para i:= 1 a 9 hacer
si A[yo]< A then begin
c:= c+1;
t:= A[i];
A[yo]:= A;
inversión de par
R:=t
fin;
¿Qué valor tendrá la variable "c"?
4 7 3 8 5 0 1 2 9 6
4 7 3 8 5 0 1 2 9 6
4 7 3 8 5 0 1 2 9 6
K.Yu. Poliakov, 2015
c=2
http://kpolyakov.spb.ru

B19: Procesamiento de matrices

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
40
B19: Procesamiento de matrices

s:=0;
norte:=10;
para i:=0 a n-1 comenzar
s:=s+A[i]-A
fin;


s:=AA+A-A+A-...
+A-A+A-A+A-A
máx = 999 – 100 = 899
K.Yu. Poliakov, 2015
http://kpolyakov.spb.ru

B19: Procesamiento de matrices

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
41
B19: Procesamiento de matrices
Una matriz con índices del 0 al 10.
s:=0;
norte:=10;
para i:=0 a n-2 comenzar
s:=s+A[i]-A
fin;
La matriz contenía números naturales de tres dígitos.
Cual valor más alto¿Puede tener una "s"?
s:=AA+A-A+A-...
+A-A+A-A+A-A
máx = 999 + 999 – 100 – 100 = 1798
1798
K.Yu. Poliakov, 2015
http://kpolyakov.spb.ru

B19: Procesamiento de matrices

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
42
B20: bucles y condiciones (“aprender el algoritmo”)
Especifique el número x de cinco dígitos más pequeño para el cual
Primero se imprimirá el 6 y luego el 3.
a:= 0;
¡Mínimo y máximo!
b:= 10;
lectura(x);
mientras x > 0 comienza
y:= x mod 10;
x:= x div 10;
33336
si y > a entonces a:= y;
Si y< b then b:= y;
fin;
escrito(a); (cifra máxima)
escrito(b); (cifra mínima)
!
K.Yu. Poliakov, 2015
http://kpolyakov.spb.ru

B20: bucles y condiciones (“aprender el algoritmo”)

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
43
B20: ciclos y condiciones
Dé el número más pequeño x mayor que 100 para el cual
Se imprimirán 26.
var x, L, M: entero;
comenzar
x impar: MCD(x,65) = 26
lectura(x);
x par: MCD(x,52) = 26
L:=x; M:= 65;
si L mod 2 = 0 entonces x se divide por 26,
M:= 52;
¡no es divisible por 52!
mientras l<>M hacer
mcd(104,52) = 52
104
si L > M entonces
L:= L-M
Respuesta: 130
demás
M:= M – L;
escrito(M);
¡El algoritmo de Euclides!
fin.
!
K.Yu. Poliakov, 2015
http://kpolyakov.spb.ru

B20: ciclos y condiciones

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
44
B21: Ciclos y Procedimientos



comenzar
i
f(yo)
f:= n*(n-1)+10
1
10
fin;

2
12
lectura(k);
3
16
yo:= 0;
4
22
mientras f(yo)< k do
5
30
36
yo:= yo + 1;
escrito(i);
6
40
Parada:k<= f(i)
31 … 40
10
K.Yu. Poliakov, 2015
?
¿Para k = 30?
23 … 30
8
http://kpolyakov.spb.ru

B21: Ciclos y Procedimientos

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
45
B21: Ciclos y Procedimientos
Encuentre el número de valores diferentes de k para los cuales
el programa da la misma respuesta que con k = 36.
función f(n: entero largo): entero largo;
comenzar
Detener:
f:= n*(n-1)+10
f(i-1)< k <= f(i)
fin;
(i-1)*(i-2)+10< k <= i*(i-1)+10

i2-3i+12< k <= i2-i+10
lectura(k);
yo:= 0;
yo=6: 30< k <= 40
mientras f(yo)< k do
31 … 40
yo:= yo + 1;
escrito(i);
Respuesta: 10
K.Yu. Poliakov, 2015
http://kpolyakov.spb.ru

B21: Ciclos y Procedimientos

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
46
B21: Ciclos y Procedimientos
Encuentre el valor más pequeño de k en el cual
el programa produce la misma respuesta que con k = 10.
definición f(n):
Detener:
volver n*n*n
f(i-1)< g(k) <= f(i)
definición gramo(n):
(i-1)3< 2k+3 <= i3
devolver 2*n+3
3 < 23 <= i3
k=10:
(yo-1)
k = int(entrada())
yo=3
yo = 1
mientras f(yo)< g(k):
8 < 2k+3 <= 27
yo+=1
3 … 12
imprimir(yo)
Respuesta: 3
K.Yu. Poliakov, 2015
http://kpolyakov.spb.ru

B21: Ciclos y Procedimientos

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
47
B22: programas para artistas intérpretes o ejecutantes
1) suma 1
2) multiplicar por 2
¿Cuántos programas hay para cuál del número 2?
se obtiene el número 29 y la trayectoria de los cálculos es
contiene el número 14 y no contiene el número 25?
n impar
K N 1
Fórmula de recurrencia: K N
K N 1 K N / 2 N par
1
2
3
4
5
6
7
8
9
10
11
12
13
14
1
1
1
2
2
3
3
5
5
7
7
10
10
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
13
13
13
13
13
13
13
13
13
13
13
0
0
0
13
13
nuevo comienzo
K.Yu. Poliakov, 2015
no puedes venir aquí
http://kpolyakov.spb.ru

B22: programas para artistas intérpretes o ejecutantes

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
48
C24: correcciones de errores
Se lee un número natural x, necesitas encontrarlo
el número de dígitos significativos en su notación binaria.
lectura(x);
c:= 0;
mientras x > 0 comienza
c:= c + x mod 2;
x:= x div 10
fin;
escrito(c)
1)
2)
3)
4)
?
?
¿Qué cuenta?
cuando funciona
¿bien?
Sólo para x=1
valor inicial no válido
condición de bucle no válida
cambio incorrecto de variables
conclusión equivocada
K.Yu. Poliakov, 2015
http://kpolyakov.spb.ru

C24: correcciones de errores

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
49
C24: correcciones de errores
Necesitas escribir un programa que muestre
el dígito máximo de un número que es múltiplo de 3. Si el número no contiene
números que son múltiplos de 3, debe mostrar "NO" en la pantalla.
-1
leer(N);
maxDigit:= N mod 10;
cuando funciona
mientras N > 0 comienza
¿bien?
dígito:= N mod 10;
si dígito mod 3 1)=último
0 entonces el dígito es divisible por 3
si dígito > maxDigit
entonces
2) último
la cifra es menor que
maxDigit:= requerido
dígito;resultado
N:= N div 10;
-1
fin;
si maxDigit = 0 entonces writeln("NO")
más writeln(maxDigit);
?
K.Yu. Poliakov, 2015
http://kpolyakov.spb.ru

C24: correcciones de errores

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
50

Para una secuencia dada de no negativos
de números enteros, necesitas encontrar el máximo
el producto de sus dos elementos, cuyos números
difieren en al menos 8. Número de elementos
Las secuencias no superan las 10.000.
Tarea A (2 puntos). O(N2) en el tiempo, O(N) en la memoria.
Tarea B (3 puntos). O(N) en el tiempo, O(N) en la memoria.
Tarea B (4 puntos). O(N) en el tiempo, O(1) en la memoria.
K.Yu. Poliakov, 2015
http://kpolyakov.spb.ru

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
51
S27: tarea difícil para programación
Tarea A (2 puntos). Los datos se almacenan en una matriz.
var N: número entero;
a: matriz de números enteros;
i, j, máx: entero;
comenzar
leer(N);
para i:=1 a N lea(a[i]);
máx:= -1;
para i:= 9 a N hacer
para j:= 1 a i-8 hacer
si (a[j]*a[i] > max) entonces
máx:= a[j]*a[i];
escrito(max)
fin.
K.Yu. Poliakov, 2015
http://kpolyakov.spb.ru

C27: tarea de programación difícil

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
52
C27: tarea de programación difícil
Tarea B (3 puntos). Datos en una matriz, tiempo O(N).
i-8
i
ai]
metro
¡acumular!
máx. a[ j ] a[i] máx. a[ j ] a[i]
j
j
máx:= 0;
metro:= 0;
para i:= 9 a N comenzar
si a > m entonces m:= a;
si m*a[i] > max entonces max:= m*a[i];
fin;
K.Yu. Poliakov, 2015
http://kpolyakov.spb.ru

C27: tarea de programación difícil

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
53
C27: tarea de programación difícil

i-8
i
almacenar en una matriz
var a: matriz de números enteros;
X
Llenado de matriz inicial:
para i:=1 a 8 lea(a[i]);
Promoción:
para i:=1 a 7 hacer
a[yo]:=a;
a:=x;
K.Yu. Poliakov, 2015
!
¡Es una cola!
http://kpolyakov.spb.ru

C27: tarea de programación difícil

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
54
C27: tarea de programación difícil
Tarea B (4 puntos). Memoria O(1), hora O(N).
a
X
constante d = 8; (cambio)
... (ya he leído las primeras d piezas)
máx:= 0;
metro:= 0;
para i:=d+1 a N comenzar
leer(x);
si a > m entonces m:= a;
si m*x > máx entonces máx:= m*x;
para j:=1 a d-1 hacer
a[j]:= a;
a[d]:= x;
fin;
K.Yu. Poliakov, 2015
http://kpolyakov.spb.ru

C27: tarea de programación difícil

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
55
C27: tarea de programación difícil
Tarea B (4 puntos). Sin turno (cola de anillo).
yo 0
1
2
3
9
1
5
6
7
k
0
a
4
10
2 11
3 12
4 5
8
9
N-1
10 11 12 13 14 15 16 17 18
7
6
7
8
a:= datos[i];
para i:=0 a d-1 lea(a[i]);
para i:=d a N-1 comenzar
leer(x);
k:= i mod d;
si a[k] > m entonces m:= a[k];
si m*x > máx entonces máx:= m*x;
a[k]:=x;
fin;
K.Yu. Poliakov, 2015
http://kpolyakov.spb.ru

C27: tarea de programación difícil

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
56
C27: tarea de programación difícil
Calcula el producto par máximo de dos.
indicaciones, entre cuyos momentos de transmisión
Han pasado al menos 8 minutos.
X
apoyo
1) el máximo de todos
2) máximo incluso
X
incluso incluso * cualquiera
incluso cualquier * incluso
K.Yu. Poliakov, 2015
almacenar en una matriz
(cola)
http://kpolyakov.spb.ru

C27: tarea de programación difícil

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
57
C27: tarea de programación difícil
para i:=d a N-1 comenzar
leer(x);
k:= i mod d;
máximo
incluso
si a[k] > m entonces m:= a[k];
si ((a[k] mod 2 = 0) y
(a[k] > mPar)) entonces mPar:= a[k];
si x mod 2 = 1 entonces comienza
recibió
extraño
si mEven*x > max entonces
máx:= mPar*x;
fin
recibió
incluso
demás
si m*x > máx entonces máx:= m*x;
a[k]:=x;
fin;
K.Yu. Poliakov, 2015
http://kpolyakov.spb.ru

C27: tarea de programación difícil

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
58
conclusiones
!
K.Yu. Poliakov, 2015
¡Variabilidad!
http://kpolyakov.spb.ru

conclusiones

Examen Estatal Unificado de Ciencias de la Computación: 2016 y más allá...
59
El final de la película
POLYAKOV Konstantin Yurievich
Doctor en Ciencias Técnicas, docente de informática
Escuela secundaria GBOU nº 163, San Petersburgo

K.Yu. Poliakov, 2015
http://kpolyakov.spb.ru

Solución de examen del estado unificado (informática)

1. Tarea. ¿Cuántas unidades hay en la notación binaria del número hexadecimal 12F0? 16 ?

Explicación.

Convirtamos el número 12F0. 16 al sistema numérico binario: 12F0 16 = 1001011110000 2 .

Contemos el número de unidades: son 6.

Respuesta: 6.

2. Tarea Función lógica F viene dada por la expresión (¬ z ) ∧ x ∨ x ∧ y . Determinar qué columna de la tabla de verdad de la función F cada una de las variables corresponde x, y, z.

C.A. 1

C.A. 2

C.A. 3

Función

Escribe las letras en tu respuesta. x, y, z en el orden en que aparecen sus columnas correspondientes (primero - la letra correspondiente a la 1.ª columna; luego - la letra correspondiente a la 2.ª columna; luego - la letra correspondiente a la 3.ª columna). Escribe las letras de la respuesta en fila, no es necesario poner separadores entre las letras. Ejemplo. Sea dada la expresión x → y , dependiendo de dos variables X y Y , y la tabla de verdad:

C.A. 1

C.A. 2

Función

Entonces la 1ª columna corresponde a la variable. y , y la 2da columna corresponde a la variable X . En tu respuesta debes escribir: yx.

Explicación.

Esta expresión es una disyunción de dos conjunciones. Podemos notar que ambos términos tienen un multiplicador. X. Es decir, en x = 0 la suma será igual a 0. Entonces, para la variable X Sólo la tercera columna es adecuada.

En la octava fila de la mesa X = 1, y el valor de la función es 0. Esto sólo es posible si z = 1, y = 0, es decir variable1 − z y variable2 - y.

Respuesta: zyx.

3. Tarea En la figura de la derecha se muestra en forma de gráfico el mapa de carreteras del distrito N; la tabla contiene información sobre la longitud de estas carreteras (en kilómetros).

Dado que la tabla y el diagrama se dibujaron independientemente uno del otro, la numeración asentamientos en la tabla no tiene ninguna relación con designaciones de letras en el gráfico. Determine la longitud del camino desde el punto B hasta el punto E. Escriba un número entero en su respuesta, como se indica en la tabla.

Explicación.

El punto B es el único punto con cinco caminos, lo que significa que le corresponde P6, y el punto E es el único punto con cuatro caminos, lo que significa que le corresponde P4.

La longitud de la carretera de P6 a P4 es 20.

Respuesta: 20.

4. Tarea Un fragmento de la base de datos proporciona información sobre las relaciones familiares. Con base en los datos proporcionados, determine cuántos descendientes directos (es decir, hijos y nietos) de Pavlenko A.K. se mencionan en la Tabla 1.

tabla 1

Apellido_I.O.

Piso

2146

Krívich L.P.

2155

Pávlenko A.K.

2431

Khitruk P.A.

2480

Krivich A. A.

2302

Pávlenko E. A.

2500

Sokol N. A.

3002

Pávlenko I.A.

2523

Pavlenko T. Kh.

2529

Khitruk A.P.

2570

Pavlenko P.I.

2586

Pavlenko T.I.

2933

Simonyan A. A.

2511

Sokol V.A.

3193

Biba S.A.

Tabla 2

Identificación de los padres

ID_Niño

2146

2302

2146

3002

2155

2302

2155

3002

2302

2431

2302

2511

2302

3193

3002

2586

3002

2570

2523

2586

2523

2570

2529

2431

2529

2511

2529

3193

O

Para operaciones grupales con archivos, se utilizan máscaras de nombres de archivos. La máscara es una secuencia de letras, números y otros caracteres permitidos en los nombres de archivos, que también pueden contener los siguientes caracteres:

Símbolo "?" (signo de interrogación) significa exactamente un carácter arbitrario.

El símbolo “*” (asterisco) significa cualquier secuencia de caracteres de longitud arbitraria, incluido “*” también puede especificar una secuencia vacía.

Hay 6 archivos en el directorio:

maveric.mapa

maveric.mp3

taberna.mp4

revólver.mp4

vera.mp3

zveri.mp3

A continuación se muestran ocho máscaras. ¿Cuántos de ellos corresponden exactamente a cuatro archivos de un directorio determinado?

*ver*.mp*

*?ver?*.mp?

?*ver*.mp?*

*v*r*?.m?p*

???*???.mp*

???*???.metro*

*Automóvil club británico*

*a*.*p*

Explicación.

En la Tabla 2 vemos que Pavlenko A.K. (ID 2155) tiene dos hijos, sus ID: 2302 y 3002.

Pavlenko E. A. (ID 2302) tiene tres hijos y Pavlenko I. A. (ID 3002) tiene dos.

Así, Pavlenko A.K. tiene siete descendientes directos: dos hijos y cinco nietos.

Respuesta: 7.

O

Veamos cada máscara:

1. Se seleccionarán cinco archivos según la máscara *ver*.mp*:

maveric.mp3

taberna.mp4

revólver.mp4

vera.mp3

zveri.mp3

2. Por máscara *?ver?*.mp? Se seleccionarán tres archivos:

maveric.mp3

taberna.mp4

zveri.mp3

3. Por máscara?*ver*.mp?* se seleccionarán cuatro archivos:

maveric.mp3

taberna.mp4

revólver.mp4

zveri.mp3

4. Se seleccionará un archivo según la máscara *v*r*?.m?p*:

maveric.mapa

5. Se seleccionarán tres archivos según la máscara???*???.mp*:

maveric.mp3

taberna.mp4

revólver.mp4

6. Se seleccionarán cuatro archivos según la máscara???*???.m*:

maveric.mapa

maveric.mp3

taberna.mp4

revólver.mp4

7. Se seleccionará un archivo usando la máscara *a*.*a*:

maveric.mapa

8. Se seleccionarán cuatro archivos según la máscara *a*.*p*:

maveric.mapa

maveric.mp3

taberna.mp4

vera.mp3

Es decir, tres máscaras que corresponden exactamente a cuatro archivos de un directorio determinado.

Respuesta: 3.

Respuesta: 7|3

5. Tarea A través del canal de comunicación se transmiten mensajes que contienen sólo cuatro letras: P, O, S, T; Para la transmisión se utiliza un código binario que permite una decodificación inequívoca. Para las letras T, O, P, se utilizan las siguientes palabras de código: T: 111, O: 0, P: 100.

Especifique la palabra de código más corta para la letra C, en la que el código permitirá una decodificación inequívoca. Si hay varios códigos de este tipo, indique el código con el valor numérico más bajo.

Explicación.

La letra C no se puede codificar como 0, ya que el 0 ya está en uso.

La letra C no se puede codificar como 1, ya que la codificación de la letra T comienza con 1.

La letra C no se puede codificar como 10, ya que la codificación de la letra P comienza con 10.

La letra C no se puede codificar como 11, ya que la codificación de la letra T comienza con 11.

La letra C se puede codificar como 101, que es el valor más pequeño posible.

Respuesta: 101.

6. Tarea La entrada del algoritmo es un número natural N. El algoritmo construye un nuevo número R a partir de él de la siguiente manera.

1. Se construye una representación binaria del número N.

2. A esta entrada de la derecha se le añaden dos dígitos más según la siguiente regla:

A) se suman todos los dígitos de la notación binaria, y el resto de dividir la suma por 2 se suma al final del número (a la derecha). Por ejemplo, el registro 11100 se convierte en el registro 111001;

B) Se realizan las mismas acciones en esta entrada: el resto de dividir la suma de los dígitos por 2 se suma a la derecha.

El registro obtenido de esta forma (tiene dos dígitos más que en el registro del número original N) es un registro binario del número deseado R.

Indique el número más pequeño N para el cual el resultado del algoritmo es mayor que 125. En su respuesta, escriba este número en el sistema numérico decimal.

O

El intérprete de la Calculadora tiene dos equipos a los que se les asignan números:

1. suma 2,

2. multiplicar por 5.

Al realizar el primero de ellos, la Calculadora suma 2 al número que aparece en pantalla, y al realizar el segundo, lo multiplica por 5.

Por ejemplo, el programa 2121 es un programa

multiplicar por 5,

agrega 2,

multiplicar por 5,

agrega 2,

que convierte el número 1 al número 37.

Escriba el orden de los comandos en un programa que convierta el número 2 al número 24 y que no contenga más de cuatro comandos. Introduzca sólo números de comando.

Explicación.

Este algoritmo agrega 10 al final del número si su notación binaria inicialmente contenía un número impar de unos, o 00 si era par.

126 10 = 1111110 2 puede resultar de la operación del algoritmo del número 11111 2 .

11111 2 = 31 10 .

Respuesta: 31.

O

Resolvamos el problema a la inversa y luego escribamos los comandos recibidos de derecha a izquierda.

Si el número no es divisible por 5, se obtiene mediante el comando 1, si es divisible, mediante el comando 2.

22 + 2 = 24(equipo 1)

20 + 2 = 22(equipo 1)

4 * 5 = 20(equipo 2)

2 + 2 = 4(comando 1)

Respuesta: 1211.

Respuesta: 31|1211

7. Asignación. Se proporciona un fragmento de una hoja de cálculo. La fórmula se copió de la celda E4 a la celda D3. Al copiar, las direcciones de celda en la fórmula cambiaron automáticamente. ¿En qué se ha convertido? valor numérico fórmulas en la celda D3?

=$B2 * C$3

Nota: El signo $ indica direccionamiento absoluto.

O

Se proporciona un fragmento de una hoja de cálculo.

=(A1-3)/(B1-1)

=(A1-3)/(C1-5)

C1/(A1-3)

¿Qué número entero se debe escribir en la celda A1 para que el diagrama construido a partir de los valores de las celdas en el rango A2:C2 coincida con la imagen? Se sabe que todos los valores de celda del rango considerado no son negativos.

Explicación.

La fórmula, cuando se copió en la celda D3, cambió a =$B1 * B$3.

B1 * B3 = 4 * 2 = 8.

Respuesta: 8.

O

Sustituyamos los valores de B1 y C1 en las fórmulas A2:C2:

A2 = (A1-3)/5

B2 = (A1-3)/5

C2 = 10/(A1-3)

Como A2 = B2, entonces C2 = 2 * A2 = 2 * B2

Sustituyamos:

10/(A1-3) = 2*(A1-3)/5

A1 - 3 = 5

A1 = 8.

Respuesta: 8.

8. Tarea Anota el número que se imprimirá como resultado del siguiente programa. Para su comodidad, el programa se presenta en cinco lenguajes de programación.

BÁSICO

Pitón

DIM S, N COMO ENTERO

S=0

norte=0

MIENTRAS S

S = S + 8

norte=norte+2

ENCAMINARSE A

IMPRIMIR N

s = 0

norte=0

mientras s

s = s + 8

norte = norte + 2

imprimir(n)

lenguaje algorítmico

Pascal

alg

comienzo

número entero n, s

norte:= 0

s:= 0

adiós

s:= s+8

norte:=n+2

nudos

salida sustantivo, femenino—

estafa

var s, n: entero;

comenzar

s:= 0;

norte:= 0;

mientras s

comenzar

s:= s+8;

norte:=n+2

fin;

escrito(n)

fin.

Si

#incluir

int principal()

(int s = 0, n = 0;

mientras (s

printf("%d\n", n);

devolver 0;

Explicación.

El ciclo while se ejecuta hasta que la condición s sea verdadera

Respuesta: 28.

9. Asignación. ¿Cuál es la cantidad mínima de memoria (en KB) que se debe reservar para poder almacenar cualquier imagen de mapa de bits de 64x64 píxeles, suponiendo que la imagen puede contener 256 colores diferentes? En tu respuesta, escribe solo un número entero; no es necesario escribir una unidad de medida.

O

El fragmento musical fue grabado en formato mono, digitalizado y guardado como archivo sin utilizar compresión de datos. El tamaño del archivo resultante es de 24 MB. Luego se volvió a grabar la misma pieza musical en formato estéreo (grabación de dos canales) y se digitalizó con una resolución 4 veces mayor y una frecuencia de muestreo 1,5 veces menor que la primera vez. No se realizó ninguna compresión de datos. Especifique el tamaño del archivo en MB de la reescritura resultante. En tu respuesta, escribe solo un número entero; no es necesario escribir una unidad de medida.

Explicación.

Un píxel está codificado por 8 bits de memoria.

Total 64 * 64 = 2 12 píxeles.

Memoria ocupada por la imagen 2 12 * 8 = 2 15 bits = 2 12 bytes = 4 KB.

Respuesta: 4.

O

Al grabar el mismo archivo en formato estéreo, su volumen aumenta 2 veces. 24 * 2 = 48

Cuando su resolución aumenta 4 veces, su volumen también aumenta 4 veces. 48 * 4 = 192

Cuando la frecuencia de muestreo se reduce 1,5 veces, su volumen disminuye 1,5 veces. 192/1,5 = 128.

Respuesta: 128.

Respuesta: 4|128

10. Tarea Igor compila una tabla de palabras clave para transmitir mensajes; cada mensaje tiene su propia palabra clave. Como palabras clave, Igor usa palabras de 5 letras, que contienen solo las letras P, I, R, y la letra P aparece exactamente 1 vez. Cada una de las otras letras válidas puede aparecer en la palabra clave cualquier número de veces o ninguna. ¿Cuántas palabras clave diferentes puede usar Igor?

Explicación.

Igor puede hacer 2 4 palabras poniendo la letra P primero. De igual forma, puedes ponerlo en segundo, tercer, cuarto y quinto lugar. Obtenemos 5 * 2 4 = 80 palabras.

Respuesta: 80.

11. Tarea A continuación, se escriben dos funciones recursivas (procedimientos) en cinco lenguajes de programación: F y G.

BÁSICO

Pitón

DECLARAR SUB F(n)

DECLARAR SUB G(n)

SUBF(n)

SI n > 0 ENTONCES G(n - 1)

FIN SUB

SUB G(n)

IMPRIMIR "*"

SI n > 1 ENTONCES F(n - 3)

FIN SUB

definición F(n):

Si norte > 0:

GRAMO(norte - 1)

definición GRAMO(norte):

Imprimir("*")

Si norte > 1:

F(n - 3)

lenguaje algorítmico

Pascal

alg F(entero n)

comienzo

Si n > 0 entonces

GRAMO(norte - 1)

Todo

estafa

alg G(entero n)

comienzo

Conclusión "*"

Si n > 1 entonces

F(n - 3)

Todo

estafa

procedimiento F(n: número entero); adelante;

procedimiento G(n: número entero); adelante;

procedimiento F(n: número entero);

comenzar

Si n > 0 entonces

GRAMO(norte - 1);

fin;

procedimiento G(n: número entero);

comenzar

Escribir("*");

Si n > 1 entonces

F(norte - 3);

fin;

Si

vacío F(int n);

vacío G(int n);

vacío F(int n)(

Si(n>0)

GRAMO(norte - 1);

vacío GRAMO(int norte)(

Printf("*");

Si(n>1)

F(norte - 3);

¿Cuántos asteriscos se imprimirán en la pantalla al llamar a F(11)?

Explicación.

Simulemos el funcionamiento del programa:

F(11)

G(10): *

F(7)

GRAMO(6): *

F(3)

GRAMO(2): *

F(-1)

Respuesta: 3.

12. Asignación En la terminología de las redes TCP/IP, una máscara de red es un número binario que determina qué parte de la dirección IP de un host de red se refiere a la dirección de red y qué parte se refiere a la dirección del propio host en esta red. Por lo general, la máscara se escribe de acuerdo con las mismas reglas que la dirección IP: en como cuatro bytes, con cada byte escrito en la forma número decimal. En este caso, la máscara contiene primero unos (en los dígitos más altos) y luego, a partir de un dígito determinado, hay ceros. La dirección de red se obtiene aplicando una conjunción bit a bit a la dirección IP y la máscara del host dadas.

Por ejemplo, si la dirección IP del host es 231.32.255.131 y la máscara es 255.255.240.0, entonces la dirección de red es 231.32.240.0.

Para un nodo con una dirección IP de 111.81.208.27, la dirección de red es 111.81.192.0. ¿Cuál es el valor más pequeño posible del tercer byte desde la izquierda de la máscara? Escribe tu respuesta como un número decimal.

Explicación.

Escribamos el tercer byte de la dirección IP y la dirección de red en el sistema numérico binario:

208 10 = 11010000 2

192 10 = 11000000 2

Vemos que los dos primeros bits de la máscara de la izquierda son unos, lo que significa que para que el valor sea el más pequeño, los bits restantes deben ser ceros. Obtenemos que el tercer byte de máscara desde la izquierda es 11000000 2 = 192 10

Respuesta: 192.

13. Asignación Al registrarse en un sistema informático, a cada usuario se le asigna una contraseña que consta de 15 caracteres y que contiene únicamente caracteres del conjunto de 12 caracteres: A, B, C, D, E, F, G, H, K, L, M, N. En la base de datos A los datos para almacenar información sobre cada usuario se les asigna el mismo número entero mínimo posible de bytes. En este caso, se utiliza la codificación de contraseñas carácter por carácter, todos los caracteres se codifican con el mismo y mínimo número posible de bits. Además de la contraseña en sí, el sistema almacena información adicional para cada usuario, para la cual se asigna un número entero de bytes; este número es el mismo para todos los usuarios. Para almacenar información sobre 20 usuarios, se necesitaban 400 bytes. ¿Cuántos bytes se asignan para almacenar información adicional sobre un usuario? En su respuesta, escriba solo un número entero: el número de bytes.

Explicación.

Según la condición, se pueden utilizar 12 letras en el número. Se sabe que usando N bits se puede codificar 2N varias opciones. Desde 2 3 4 , entonces se necesitan 4 bits para registrar cada uno de los 12 caracteres.

Para almacenar los 15 caracteres de una contraseña, necesita 4 · 15 = 60 bits, y dado que se utiliza un número entero de bytes para escribir, tomamos el múltiplo de ocho más cercano, al menos, este número es 64 = 8 · 8 bits (8 bytes).

Sea la cantidad de memoria asignada para almacenamiento adicional igual a x, entonces:

20 * (8+ x ) = 400

x = 12

Respuesta: 12.

14. Asignación Executor Editor recibe una cadena de números como entrada y la convierte. El editor puede ejecutar dos comandos, en ambos comandos v y w representan cadenas de números.

A) reemplace (v, w).

Este comando reemplaza la primera aparición izquierda de la cadena v con la cadena w. Por ejemplo, ejecutando el comando

reemplazar (111, 27)

convierte la cadena 05111150 en la cadena 0527150. Si no hay apariciones de v en la cadena, ejecutar el comando reemplazar (v, w) no cambia esa cadena.

B) encontrado (v).

Este comando verifica si la cadena v aparece en el Editor de líneas del ejecutor. Si se encuentra, el comando devuelve valor booleano"verdadero", en caso contrario devuelve falso. Línea

el intérprete no cambia.

Ciclo

ADIÓS condición

Secuencia de comandos

FINALIZAR ADIÓS

Se ejecuta mientras la condición sea verdadera.

en diseño

condición SI

AL equipo1

ELSE comando2

TERMINARA SI

Se ejecuta el comando1 (si la condición es verdadera) o el comando2 (si la condición es falsa).

¿Qué cadena resultará de aplicar lo siguiente?

programa a una cadena que consta de 68 dígitos consecutivos 8? En respuesta

anota la cadena resultante.

COMENZAR

Hasta ahora encontrado (222) O encontrado (888)

SI se encuentra (222)

PARA reemplazar (222, 8)

DE LO CONTRARIO reemplazar (888, 2)

TERMINARA SI

FINALIZAR ADIÓS

FIN

Explicación.

En 68 números 8 consecutivos hay 22 grupos de tres ochos, que serán sustituidos por 22 doses y quedarán dos ochos.

68(8) = 22(2) + 2(8)

22(2) + 2(8) = 1(2) + 9(8)

1(2) + 9(8) = 4(2)

4(2) = 1(2) + 1(8) = 28

Respuesta: 28.

15. Asignación La figura muestra un diagrama de carreteras que conectan las ciudades A, B, C, D, D, E, F, Z, I, K, L, M.

En cada camino solo podrás moverte en una dirección, indicada por la flecha.

¿Cuántas rutas diferentes hay de la ciudad A a la ciudad M?

Explicación.

Comencemos a contar el número de caminos desde el final de la ruta, desde la ciudad M. Sea N X - el número de caminos diferentes desde la ciudad A a la ciudad X, N - el número total de caminos. Puedes venir a la ciudad M desde L o K, entonces N = N METRO = NORTE L + NORTE K. (*)

Asimismo:

NK = NORTE;

NL = NI;

norte yo = norte mi + norte f + norte w

norte k = norte mi = 1.

Agreguemos más vértices:

N B = N A = 1;

NB = NB + NB + NG = 1 + 1 + 1 = 3;

norte mi = norte sol = 1;

N Г = N A = 1.

Sustituir en la fórmula (*): N = N METRO = 4 + 4 + 4 + 1 = 13.

Respuesta: 13.

Respuesta: 56

16. Asignación Valor de expresión aritmética: 9 8 + 3 5 – 9 – escrito en el sistema numérico con base 3. ¿Cuántos dígitos “2” contiene esta notación?

Explicación.

Transformemos la expresión:

(3 2 ) 8 + 3 5 - 3 2

3 16 + 3 5 - 3 2

3 16 + 3 5 = 100...00100000

100...00100000 - 3 2 = 100...00022200

El número resultante contiene tres doses.

Respuesta: 3

17. Asignación En el lenguaje de consulta del motor de búsqueda, el símbolo "|" se utiliza para indicar la operación lógica "O", y el símbolo "&" se utiliza para indicar la operación lógica "Y". La tabla muestra las consultas y el número de páginas encontradas para un determinado segmento de Internet.

¿Cuántas páginas (en miles) se encontrarán para la consulta?¿Homero, la Odisea y la Ilíada?Se cree que todas las consultas se ejecutaron casi simultáneamente, por lo que el conjunto de páginas que contienen todas las palabras buscadas no cambió con el tiempo.

cumpliendo solicitudes.

Explicación.

El número de solicitudes en esta área se indicará con Ni. Nuestro objetivo es N5.

Luego de la tabla encontramos que:

N5 + N6 = 355,

N4 + N5 = 200,

N4 + N5 + N6 = 470.

De la primera y segunda ecuación: N4 + 2N5 + N6 = 555.

De la última ecuación: N5 = 85.

Respuesta: 85

18. Tarea Denotemos por m&n conjunción bit a bit de números enteros no negativos metro y norte . Entonces, por ejemplo, 14 y 5 = 1110 2 &0101 2 = 0100 2 = 4.

¿Cuál es el menor entero no negativo? y la formula

x&25 ≠ 0 → (x&17 = 0 → x&A ≠ 0)

es idénticamente cierto (es decir, toma el valor 1 para cualquier valor entero no negativo de la variable X )?

Explicación.

Introduzcamos la siguiente notación:

(x ∈ A) ≡ A; (x∈P)≡P; (x∈Q)≡Q.

Transformando obtenemos:

¬P ∨ ¬(Q ∧ ¬A) ∨ ¬P = ¬P ∨ ¬Q ∨ A.

El OR lógico es verdadero si al menos una afirmación es verdadera. Condición ¬P∨ ¬Q = 1 lo satisfacen los rayos (−∞, 40) y (60, ∞). Dado que la expresión ¬P∨ ¬Q ∨ A debe ser idénticamente verdadera, la expresión A debe ser verdadera en el intervalo. Su longitud es 20.

Respuesta: 20.

Respuesta: 8

19. Tarea El programa utiliza una matriz de enteros unidimensional A con índices de 0 a 9. Los valores de los elementos son 4, 7, 3, 8, 5, 0, 1, 2, 9, 6, respectivamente, es decir A = 4, A = 7, etc.

Determinar el valor de una variable. C después de ejecutar el siguiente fragmento de este programa(escrito a continuación en cinco lenguajes de programación).

BÁSICO

Pitón

c=0

PARA i = 1 A 9

SI A(i)

C = c + 1

T = A(i)

A(yo) = A(0)

A(0) = t

TERMINARA SI

Siguiente yo

c=0

Para i en el rango (1,10):

Si A[yo]

C = c + 1

t = A[i]

A[yo] = A

Un = t

lenguaje algorítmico

Pascal

c:= 0

nc para i del 1 al 9

si A[yo]

c:= c + 1

t:= A[yo]

A[yo] := A

A :=t

Todo

nudos

c:= 0;

para i:= 1 a 9 hacer

si A[yo]

comenzar

c:= c+1;

t:= A[i];

A[yo] := A;

A := t;

fin;

Si

c = 0;

para (yo = 1;yo

si (A[yo]

{

c++;

t = A[i];

A[yo] = A;

A = t;

}

Explicación.

Si el elemento de la matriz A[i] es menor que A, entonces el programa los intercambia y aumenta el valor de la variable.Cpor 1. El programa se ejecutará dos veces, la primera vez intercambiando A y A, desde 3 Conserá igual a 2.

Respuesta: 2.

20. AsignaciónEl algoritmo está escrito a continuación en cinco lenguajes de programación. Habiendo recibido un número como entradaX, este algoritmo imprime el númeroMETRO. Se sabe queX> 100. Especifique el número más pequeño (es decir, mayor que 100)X, cuando se ingresa, el algoritmo imprime 26.

BÁSICO

Pitón

DIM X, L, M COMO ENTERO

ENTRADA X

L=X

M=65

SI L MOD 2 = 0 ENTONCES

M=52

TERMINARA SI

MIENTRAS LM

SI L>M ENTONCES

L = L-M

DEMÁS

M = M-L

TERMINARA SI

ENCAMINARSE A

IMPRIMIR M

x = int(entrada())

L =x

M=65

si L % 2 == 0:

M=52

mientras L != M:

si L > M:

L = L-M

demás:

M = M-L

imprimir(M)

lenguaje algorítmico

Pascal

alg

comienzo

entero x, L, M

entrada x

L:=x

M:= 65

si mod(L,2)=0

Eso

M:= 52

Todo

nts adiós L M

si L > M

Eso

L:= L – M

de lo contrario

M:= M – L

Todo

nudos

pin M

estafa

var x, L, M: entero;

comenzar

lectura(x);

L:=x;

M:= 65;

si L mod 2 = 0 entonces

M:= 52;

mientras que LM lo hace

si L > M entonces

L:= L-M

demás

M:= M – L;

escrito(M);

fin.

Si

#incluir

vacío principal()

{

intx, L, M;

scanf("%d", &x);

L = x;

M = 65;

si (L % 2 == 0)

M = 52;

mientras (L != M)(

si(L > M)

L = L - M;

demás

M = M - L;

}

printf("%d", M);

}

Explicación.

En el cuerpo del bucle, los números M y L disminuyen hasta volverse iguales. Para que al final se imprima 26, en algún momento ambos números deben ser iguales a 26. Vayamos del final al principio: en el paso anterior, un número era 26 y el otro era 26 + 26 = 52. Uno paso anterior, 52 + 26 = 78 y 52. ​​Antes de eso, 78 + 52 = 130 y 52. ​​Es decir, el número más pequeño posible es 130. Y como el número encontrado es par, entonces a M se le asignará el valor 52, que conducirá al resultado deseado.

Respuesta: 130.

21. TareaEscribe en tu respuesta el valor más pequeño de la variable de entrada.k, en el que el programa produce la misma respuesta que con el valor de entradak= 10. Para su comodidad, el programa se proporciona en cinco lenguajes de programación.

BÁSICO

Pitón

DIM K, YO TAN LARGO

ENTRADA K

yo = 1

MIENTRAS F(I)

Yo = Yo + 1

ENCAMINARSE A

IMPRIMIR I

FUNCIÓN F(N)

F=N*N*N

FUNCIÓN FINAL

FUNCIÓN G(N)

GRAMO = 2*norte + 3

FUNCIÓN FINAL

definición f(n):

volver n*n*n

definición gramo(n):

devolver 2*n+3

k = int(entrada())

yo = 1

mientras f(yo)

yo+=1

imprimir(yo)

lenguaje algorítmico

Pascal

alg

comienzo

int yo, k

entrada k

yo:= 1

nts por ahora f(i)

yo:= yo + 1

nudos

salida yo

estafa

alg entero f(entero n)

comienzo

valor:= n * n * n

estafa

alg entero g(entero n)

comienzo

valor:= 2*n + 3

estafa

var

k, i: entero largo;

función f(n: entero largo): entero largo;

comenzar

f:= n*n*n;

fin;

función g(n: entero largo): entero largo;

comenzar

g:= 2*n + 3;

fin;

comenzar

lectura(k);

yo:= 1;

mientras f(yo)

yo:= yo+1;

escrito(yo)

fin.

Si

#incluir

larga f(larga n) (

devolver n * n * n;

}

largo g(largo n) (

devolver 2*norte + 3;

}

int principal()

{

largo k, i;

scanf("%ld", &k);

yo = 1;

mientras(f(yo)

yo ++;

printf("%ld", i);

devolver 0;

}

Explicación.

Este programa compara Y y añade aiunidad hasta . Y genera el primer valor de la variable.ien el cual

Si k = 10, el programa imprimirá el número 3.

Anotemos la desigualdad: de aquí obtenemos el valor más pequeñok = 3.

Respuesta: 3.

22. AsignaciónEl artista May15 convierte el número en la pantalla. El artista tiene dos equipos, a los que se les asignan números:

1. Añadir 1

2. Multiplicar por 2

El primer comando aumenta el número en la pantalla en 1, el segundo lo multiplica por 2. El programa para el artista del 15 de mayo es una secuencia de comandos. ¿Cuántos programas hay para los cuales, dado el número inicial 2, el resultado es el número 29 y al mismo tiempo la trayectoria de cálculo contiene el número 14 y no contiene el número 25?

La ruta de cálculo de un programa es una secuencia de resultados.

ejecución de todos los comandos del programa. Por ejemplo, para el programa 121 con el número inicial 7, la trayectoria estará formada por los números 8, 16, 17.

Explicación.

Para la suma, la ley conmutativa es válida, lo que significa que el orden de los comandos en el programa no importa para el resultado.

Todos los equipos aumentan el número inicial, por lo que el número de equipos no puede exceder (30 − 21) = 9. En este caso, el número mínimo de equipos es 3.

Por lo tanto, el número de comandos puede ser 3, 4, 5, 6, 7, 8 o 9. Por lo tanto, el orden de los comandos no importa, para cada número de comandos hay un conjunto de comandos, que se pueden ordenar en cualquier orden.

Consideremos todos los conjuntos posibles y calculemos la cantidad de opciones para colocar comandos en ellos. El conjunto 133 tiene 3 opciones posibles ubicación. Conjunto 1223 - 12 arreglos posibles: este es el número de permutaciones con repeticiones (1+2+1)!/(1! · 2! · 1!)). Conjunto 12222 - 5 opciones. Establecer 111222 - 20 opciones posibles. Establecer 11123 - 20 opciones. Configure 111113 - 6 opciones, configure 1111122 - 21 opciones, configure 11111112 - 8 opciones, configure 111111111 - una opción.

En total tenemos 3 + 12 + 5 + 20 + 20 + 6 + 21 + 8 + 1 = 96 programas.

Respuesta: 96.

Respuesta: 96.

Respuesta: 13

23. Asignación¿Cuántos conjuntos diferentes de valores de variables booleanas hay?X1 , X2 , ... X9 , y1 , y2 , ... y9 , que cumplen todas las condiciones enumeradas a continuación?

(¬ (X1 y1 )) ≡ (X2 y2 )

(¬ (X2 y2 )) ≡ (X3 y3 )

(¬ (X8 y8 )) ≡ (X9 y9 )

No es necesario que la respuesta enumere todos los diferentes conjuntos de valores de variables.X1 , X2 , ... X9 , y1 , y2 , ... y9 , en el que se cumple este sistema es igual Como respuesta, debe indicar el número de dichos conjuntos.

Explicación.

De la última ecuación encontramos que hay tres opciones posibles para los valores de x8 e y8: 01, 00, 11. Construyamos un árbol de opciones para el primer y segundo par de valores.

Por tanto, tenemos 16 conjuntos de variables.

Árbol de opciones para el par de valores 11:

Obtenemos 45 opciones. Por tanto, el sistema tendrá 45 + 16 = 61 conjuntos de soluciones diferentes.

Respuesta: 61.

Respuesta: 1024

24. AsignaciónSe recibe para su procesamiento un número entero positivo no superior a 109 . Debe escribir un programa que muestre la suma de los dígitos de este número menor que 7. Si el número no contiene dígitos menores que 7, debe mostrar 0. El programador escribió el programa incorrectamente. A continuación, este programa se presenta en cinco lenguajes de programación para su comodidad.

BÁSICO

Pitón

DIM N, DIGITO, SUMA MIENTRAS LARGO

ENTRADA N

SUMA = 0

MIENTRAS N > 0

DÍGITO = N MOD 10

SI DIGITO

SUMA = SUMA + 1

TERMINARA SI

norte=norte\10

ENCAMINARSE A

IMPRIMIR DIGITO

N = int(entrada())

suma = 0

mientras norte > 0:

dígito = N% 10

si dígito

suma = suma + 1

norte = norte // 10

imprimir (dígito)

lenguaje algorítmico

Pascal

alg

comienzo

entero N, dígito, suma

entrada norte

suma:= 0

nts mientras N > 0

dígito:= mod(N,10)

si dígito

suma:= suma + 1

Todo

norte:= div(norte,10)

nudos

dígito de salida

estafa

var N, dígito, suma: entero largo;

comenzar

leer(N);

suma:= 0;

mientras N > 0 hacer

comenzar

dígito:= N mod 10;

si dígito

suma:= suma + 1;

N:= N div 10;

fin;

escrito(dígito)

fin.

Si

#incluir

int principal()

{

int N, dígito, suma;

scanf("%d", &N);

suma = 0;

mientras (norte > 0)

{

dígito = N% 10;

si (dígito

suma = suma + 1;

norte = norte / 10;

}

printf("%d",dígito);

retorno0;

}

Haga lo siguiente en secuencia.

1. Escriba lo que generará este programa cuando ingrese el número 456.

2. Dé un ejemplo de un número de tres dígitos; cuando se ingresa, el programa produce la respuesta correcta.

3. Encuentre todos los errores en este programa (puede haber uno o más). Se sabe que cada error afecta sólo a una línea y puede corregirse sin cambiar otras líneas. Para cada error:

1) anote la línea en la que se cometió el error;

2) indicar cómo solucionar el error, es decir proporcione la versión correcta de la línea.

Basta indicar los errores y cómo corregirlos para un lenguaje de programación. Tenga en cuenta que necesita encontrar errores en un programa existente y no escribir el suyo propio, posiblemente utilizando un algoritmo de solución diferente. La corrección del error sólo debe afectar a la línea donde se encuentra el error.

Explicación.

La solución utiliza una notación de programa Pascal. Puede utilizar el programa en cualquiera de los otros cuatro idiomas.

1. El programa imprimirá el número 4.

2. Un ejemplo de número, al ingresarlo, el programa da la respuesta correcta: 835.

Nota para el revisor. El programa no funciona correctamente porque la variable que se muestra es incorrecta y la cantidad se incrementa incorrectamente. En consecuencia, el programa funcionará correctamente si el dígito más alto del número (el más a la izquierda) es igual a la suma de los dígitos menores que 7.

3. Hay dos errores en el programa.

Primer error. Aumento incorrecto del importe.

Línea de error:

suma:= suma + 1;

Solución correcta:

suma:= suma + dígito;

Segundo error. Se muestra una respuesta incorrecta en la pantalla.

Línea de error:

escrito(dígito)

Solución correcta:

escrito(suma)

25. AsignaciónDada una matriz entera de 20 elementos. Los elementos de la matriz pueden tomar valores enteros desde –10 000 hasta 10 000 inclusive. Describe en lenguaje natural o en uno de los lenguajes de programación un algoritmo que permita encontrar y mostrar el número de pares de elementos de una matriz en los que al menos un número sea divisible por 3. En este problema, un par significa dos matrices consecutivas elementos. Por ejemplo, para una matriz de cinco elementos: 6; 2; 9; –3; 6 – respuesta: 4.

Los datos de entrada se declaran como se muestra a continuación en ejemplos para algunos lenguajes de programación y lenguajes naturales. Está prohibido utilizar variables no descritas a continuación, pero está permitido no utilizar algunas de las variables descritas.

BÁSICO

Pitón

CONST N COMO ENTERO = 20

DIM A (1 A N) COMO ENTERO

DIM I COMO ENTERO,

J COMO ENTERO,

K COMO ENTERO

PARA I = 1 A N

ENTRADA A(I)

SIGUIENTE YO

...

FIN

# también permitido

# usa dos

# variables enteras j y k

un =

norte = 20

para i en el rango (0, n):

a.append(int(entrada()))

...

lenguaje algorítmico

Pascal

alg

comienzo

entero norte = 20

celta a

int i, j, k

nc para i de 1 a N

entrada un[i]

nudos

...

estafa

constante

norte = 20;

var

a: matriz de números enteros;

i, j, k: número entero;

comenzar

para i:= 1 a N hacer

readln(a[i]);

...

fin.

Si

Lenguaje natural

#incluir

#definir N 20

int principal() (

int un[N];

int i, j, k;

para (yo = 0; yo

scanf("%d", &a[i]);

...

devolver 0;

}

Declaramos una matriz A de 20 elementos.

Declaramos variables enteras I, J, K.

En un bucle del 1 al 20, ingresamos elementos de la matriz A del 1 al 20.

Como respuesta, debe proporcionar un fragmento del programa (o una descripción del algoritmo en lenguaje natural), que debe ubicarse en el lugar de los puntos suspensivos. También puedes escribir la solución en otro lenguaje de programación (indicar el nombre y la versión del lenguaje de programación utilizado, por ejemplo Free Pascal 2.6) o en forma de diagrama de flujo. En este caso, deberá utilizar los mismos datos de entrada y variables que se propusieron en la condición (por ejemplo, en una muestra escrita en lenguaje natural).

k:= k+1

Todo

nudos

salida k

Pascal

k:= 0;

para i:= 1 a N-1 hacer

si (a[i] mod 3=0) o (a mod 3=0) entonces

inc(k);

escrito(k);

Si

k = 0;

para (yo = 0; yo

si (a[i]%3 == 0 || a%3 == 0)

k++;

printf("%d", k);

Lenguaje natural

Escribimos el valor inicial igual a 0 en la variable K. En un bucle desde el primer elemento hasta el penúltimo, encontramos el resto de dividir el elemento actual y siguiente de la matriz por 3. Si el primero o el segundo del resultado el resto es igual a 0, aumentamos la variable K en uno. Una vez completado el ciclo, imprima el valor de la variable K

26. AsignaciónDos jugadores, Petya y Vanya, juegan el siguiente juego. Delante de los jugadores hay dos montones de piedras. Los jugadores se turnan, Petya hace el primer movimiento. Durante un turno, el jugador puede agregar una piedra a una de las pilas (de su elección) o duplicar el número de piedras en la pila. Por ejemplo, supongamos que haya 10 piedras en un montón y 7 piedras en otro; Denotaremos dicha posición en el juego por (10, 7). Luego, en un movimiento puedes obtener cualquiera de las cuatro posiciones: (11, 7), (20, 7), (10, 8), (10, 14). Para realizar movimientos, cada jugador dispone de un número ilimitado de piedras.

El juego termina cuando el número total de piedras en las pilas llega a ser al menos 73. El ganador es el jugador que hizo el último movimiento, es decir. el primero en recibir una posición tal que las pilas contendrán 73 piedras o más.

Diremos que un jugador tiene una estrategia ganadora si puede ganar con cualquier movimiento del oponente. Describir la estrategia de un jugador significa describir qué movimiento debe hacer en cualquier situación que pueda encontrar con jugadas diferentes del oponente. Por ejemplo, con las posiciones iniciales (6, 34), (7, 33), (9, 32), Petya tiene una estrategia ganadora. Para ganar, sólo necesita duplicar el número de piedras del segundo montón.

Ejercicio 1.Para cada una de las posiciones iniciales (6, 33), (8, 32), indica qué jugador tiene la estrategia ganadora. En cada caso, describa la estrategia ganadora; Explique por qué esta estrategia conduce a ganancias e indique qué mayor numero Es posible que se requieran movimientos para que el ganador gane con esta estrategia.

Tarea 2.Para cada una de las posiciones iniciales (6, 32), (7, 32), (8, 31), indica qué jugador tiene la estrategia ganadora. En cada caso, describa la estrategia ganadora; Explique por qué esta estrategia conduce a una victoria e indique la mayor cantidad de movimientos que un ganador podría necesitar para ganar con esta estrategia.

Tarea 3.Para la posición inicial (7, 31), indica qué jugador tiene la estrategia ganadora. Describir una estrategia ganadora; Explique por qué esta estrategia conduce a una victoria e indique la mayor cantidad de movimientos que un ganador podría necesitar para ganar con esta estrategia. Construya un árbol de todos los juegos posibles con la estrategia ganadora que especificó. Imagine el árbol como una imagen o una mesa.

(7,31)

Total 38

(7,31+1)=(7,32)

Total 39

(7+1,32)=(8,32)

Total 40

(8+1,32)=(9,32)

Total 41

(9,32*2)=(9,64)

Total 73

(8,32+1)=(8,33)

Total 41

(8,33*2)=(8,66)

Total 74

(8*2,32)=(16,32)

Total 48

(16,32*2)=(16,64)

Total80

(8,32*2)=(8,64)

Total 72

(8,64*2)=(8,128)

Total 136

(7+1,31)=(8,31)

Total 39

(8,31+1)=(8,32)

Total 40

(8+1,32)=(9,32)

Total 41

(9,32*2)=(9,64)

Total 73

(8,32+1)=(8,33)

Total41

(8,33*2)=(8,66)

Total 74

(8*2,32)=(16,32)

Total 48

(16,32*2)=(16,64)

Total 80

(8,32*2)=(8,64)

Total 72

(8,64*2)=(8,128)

Total 136

(7*2,31)=(14,31)

Total 45

(14,31*2)=(14,62)

Total 76

(7,31*2)=(7,62)

Total 69

(7,62*2)=(7,124)

Total 131

Ejercicio 1.En las posiciones iniciales (6, 33), (8, 32), Vanya tiene una estrategia ganadora. Con la posición inicial (6, 33), tras el primer movimiento de Petya, puede resultar una de las cuatro posiciones siguientes: (7, 33), (12, 33), (6, 34), (6, 66). Cada una de estas posiciones contiene menos de 73 piedras. Además, desde cualquiera de estas posiciones, Vanya puede obtener una posición que contenga al menos 73 piedras, duplicando la cantidad de piedras en la segunda pila. Para la posición (8, 32), después del primer movimiento de Petya, puede resultar una de las siguientes cuatro posiciones: (9, 32), (16, 32), (8, 33), (8, 64). Cada una de estas posiciones contiene menos de 73 piedras. Además, desde cualquiera de estas posiciones, Vanya puede obtener una posición que contenga al menos 73 piedras, duplicando la cantidad de piedras en la segunda pila. Así, Vanya, ante cualquier movimiento de Petya

gana con su primer movimiento.

Tarea 2.En las posiciones iniciales (6, 32), (7, 32) y (8, 31), Petya tiene una estrategia ganadora. Con la posición inicial (6, 32), primero debe moverse para obtener la posición (6, 33), desde las posiciones iniciales (7, 32) y (8, 31). Después del primer movimiento, Petya debe conseguir posición (8, 32). Al analizar la tarea 1, se consideraron las posiciones (6, 33) y (8, 32). En estas posiciones, la estrategia ganadora es para el jugador que irá en segundo lugar (ahora es Petya). Esta estrategia se describió en el análisis de la tarea 1. Así, Petya gana con su segundo movimiento en cualquier partida de Vanya.

Tarea 3.En la posición inicial (7, 31), Vanya tiene una estrategia ganadora. Después del primer movimiento de Petit, puede surgir una de cuatro posiciones: (8, 31), (7, 32), (14, 31) y (7, 62). En las posiciones (14, 31) y (7, 62), Vanya puede ganar en un solo movimiento duplicando el número de piedras en la segunda pila. Al analizar la tarea 2, se consideraron las posiciones (8, 31) y (7, 32). En estas posiciones, el jugador que debe realizar un movimiento (ahora Vanya) tiene una estrategia ganadora. Esta estrategia se describe en el análisis de la tarea 2. Así, dependiendo del juego, Petya Vanya gana en el primer o segundo movimiento.

27. AsignaciónEn un laboratorio de física se lleva a cabo un experimento a largo plazo para estudiar el campo gravitacional de la Tierra. Cada minuto se transmite al laboratorio a través del canal de comunicación un número entero positivo: la lectura actual del dispositivo Sigma 2015. El número de números transmitidos en la serie se conoce y no supera los 10 000. Todos los números no superan los 1000. Se puede despreciar el tiempo durante el cual se produce la transmisión.

Es necesario calcular el "valor beta" de una serie de lecturas del instrumento, el producto par mínimo de dos lecturas, entre cuyos momentos de transmisión han pasado al menos 6 minutos. Si no es posible obtener dicho producto, la respuesta se considera igual a –1.

Se le ofrecen dos tareas relacionadas con esta tarea: tarea A y tarea B. Puede resolver ambas tareas o una de ellas según su elección. La calificación final se da como la máxima de las calificaciones de las tareas A y B. Si no se presenta la solución a una de las tareas, la calificación de esta tarea se considera 0 puntos. La tarea B es una versión más complicada de la tarea A; contiene requisitos adicionales para el programa.

A. Escriba un programa en cualquier lenguaje de programación para resolver el problema, en el que los datos de entrada se almacenarán en una matriz, después de lo cual se verificarán todos los pares posibles de elementos. Antes del programa, indicar la versión del lenguaje de programación.

ASEGÚRESE de indicar que el programa es una solución a la TAREA A.

La puntuación máxima por completar la tarea A es de 2 puntos.

B. Escribir un programa para resolver el problema dado que sea eficiente tanto en tiempo como en memoria (o al menos una de estas características).

Un programa se considera eficiente en tiempo si el tiempo de funcionamiento es

El programa es proporcional al número de lecturas recibidas del dispositivo N, es decir. Cuando N aumenta en un factor de k, el tiempo de ejecución del programa no debería aumentar más de k veces.

Un programa se considera eficiente en memoria si el tamaño de la memoria utilizada en el programa para almacenar datos no depende del número N y no excede 1 kilobyte.

Antes del programa, indique la versión del lenguaje de programación y describa brevemente el algoritmo utilizado.

ASEGÚRESE de indicar que el programa es una solución a la TAREA B.

La puntuación máxima para un programa correcto y efectivo en tiempo y memoria es de 4 puntos.

La puntuación máxima para un programa correcto que ahorra tiempo pero no memoria es de 3 puntos. ¡RECORDATORIO! No olvides indicar a qué tarea se refiere cada uno de los programas que envíes.

Los datos de entrada se presentan de la siguiente manera. La primera línea especifica el número N: el número total de lecturas del instrumento. Se garantiza que N > 6. Cada una de las siguientes N líneas contiene un número entero positivo: la siguiente lectura del dispositivo.

Datos de entrada de ejemplo:

11

12

45

5

3

17

23

21

20

19

18

17

El programa debe generar un número: el producto descrito en la condición, o -1 si no es posible obtener dicho producto.

Salida de ejemplo para la entrada de ejemplo anterior:

54

Explicación.

Tarea B (la solución para la tarea A se proporciona a continuación, consulte el programa 4). Para que el producto sea par, al menos un factor debe ser par, por lo tanto, al buscar productos adecuados, las lecturas pares del dispositivo se pueden considerar en pares con cualquier otro, y las impares, solo con las pares.

Para cada lectura con el número k, comenzando con k = 7, consideramos todos los pares que son admisibles bajo las condiciones del problema en el que esta lectura se obtuvo en segundo lugar. El producto mínimo de todos estos pares se obtendrá si al primero del par se le toma la lectura mínima adecuada entre todas las recibidas desde el inicio de la recepción hasta la lectura con el número k - 6. Si la siguiente lectura es par, el mínimo entre los los anteriores pueden ser cualquiera, si son impares, solo pares.

Para obtener una solución eficaz en el tiempo, al ingresar datos, debe recordar las lecturas mínima absoluta y mínima par en cada momento, multiplicar cada lectura recién obtenida por el mínimo correspondiente que existía 6 elementos antes y seleccionar el mínimo de todos estos productos.

Dado que cada lectura mínima actual se utiliza después de que se hayan ingresado 6 elementos más y ya no es necesaria después de eso, es suficiente almacenar solo los últimos 6 mínimos. Para hacer esto, puede usar una matriz de 6 elementos y completarla cíclicamente a medida que se ingresan datos. El tamaño de esta matriz no depende de numero total lecturas ingresadas, por lo que dicha solución será efectiva no solo en el tiempo, sino también en la memoria. Para almacenar los mínimos absolutos e incluso, es necesario utilizar dos de estas matrices. A continuación se muestra un ejemplo de un programa de este tipo escrito en un lenguaje algorítmico.

Ejemplo 1. Un ejemplo de un programa correcto en un lenguaje algorítmico. El programa es eficiente tanto en tiempo como en memoria.

alg

comienzo

entero s = 6 | distancia requerida entre lecturas

entero amax = 1001 | mayor que la lectura máxima posible

entero sustantivo

entrada norte

en un | próxima lectura del instrumento

celtab mini | mínimos actuales de los últimos s elementos

minichet celtab | incluso mínimos de los últimos s elementos

todo yo

| introduzca las primeras lecturas, fije los mínimos

toda mamá; ma:= amax | lectura minima

juncos intactos; se apresura:= amax | lectura mínima uniforme

nc para i de 1 a s

ingrese un

ma:= imín(ma, a)

mini := mamá

minichet := prisa

nudos

int mp = amax*amax | valor mínimo del producto

entero sustantivo, masculino—

nc para i de s+1 a N

ingrese un

si mod(a,2)=0

entonces n:= a * mini

de lo contrario si se apresura

entonces n:= a * minipar

en caso contrario p:= amax*amax;

Todo

Todo

p.p.:= imín(p.p., n)

ma:= imín(ma, a)

si mod(a,2) = 0 entonces se apresura:= imin(se apresura,a) todo

mini := mamá

minichet := prisa

nudos

si mp = amax*amax entonces mp:=-1 todos

salida MP

estafa

Otras implementaciones son posibles. Por ejemplo, en lugar de llenar una matriz cíclicamente, puedes cambiar sus elementos cada vez. En el siguiente ejemplo, no son los mínimos los que se almacenan y desplazan, sino los valores originales. Esto requiere un poco menos de memoria (una matriz es suficiente en lugar de dos), pero la solución con turnos es menos eficiente en términos de tiempo que con el llenado cíclico. Sin embargo, el tiempo de funcionamiento sigue siendo proporcional a N, por lo que la puntuación máxima para esta solución también es de 4 puntos.

Programa 2. Un ejemplo de un programa correcto en Pascal.

El programa utiliza turnos, pero ahorra tiempo y memoria.

var

N: número entero;

a: matriz de números enteros; (almacenamiento de lecturas del instrumento)

a_:entero; (entrando en la siguiente lectura)

p: entero;

i, j: número entero;

comenzar

leer(N);

(Ingreso de los primeros números)

para i:=1 a s haga readln(a[i]);

(Ingrese los valores restantes, busque el producto mínimo)

ma:= amáx; yo:= amax;

MP:=amax*amax;

para i:= s + 1 a N comenzar

leerln(a_);

si un

si (a mod 2 = 0) y (a

si a_ mod 2 = 0 entonces p:= a_ * ma

más si yo

de lo contrario p:= amax* amax;

si p

(desplace los elementos de la matriz auxiliar hacia la izquierda)

para j:= 1 a s - 1 hacer

a[j] := a;

a[s] := a_

fin;

si mp = amax*amax entonces mp:=-1;

escrito(mp)

fin.

Si, en lugar de una pequeña matriz de tamaño fijo (ya sea circular o con desplazamientos), se almacenan todos los datos originales (o todos los mínimos actuales), el programa sigue siendo eficiente en el tiempo, pero se vuelve ineficiente en memoria, ya que la memoria requerida crece proporcionalmente a N. A continuación se muestra un ejemplo de un programa de este tipo en el lenguaje Pascal. Los programas similares (y esencialmente similares) no reciben más de 3 puntos.

Programa 3. Un ejemplo de un programa correcto en Pascal. El programa es eficiente en tiempo, pero ineficiente en memoria.

constante s = 6; (distancia requerida entre lecturas)

amáx = 1001; (más que la lectura máxima posible)

var

N, p, i: número entero;

ma:entero; (número mínimo sin la última s)

yo: entero; (mínimo número par sin la última s)

MP: entero; (valor mínimo del producto)

comenzar

leer(N);

(Ingresando todas las lecturas del instrumento)

para i:=1 a N haga readln(a[i]);

ma:= amáx;

yo:= amax;

p.f.:= amax*amax;

para i:= s + 1 a N hacer

comenzar

si un

si (a mod 2 = 0) y (a

yo:= a;

si a[i] mod 2 = 0 entonces p:= a[i] * ma

más si yo

de lo contrario p:= amax * amax;

si p

fin;

si mp = amax*amax entonces mp:= -1;

escrito(mp)

fin.

También es posible una solución de búsqueda exhaustiva, en la que se encuentran los productos de todos los pares posibles y de ellos se selecciona el mínimo. A continuación (ver programa 4) se muestra un ejemplo de dicha solución. Esta (y otras similares) soluciones no ahorran tiempo ni memoria. Es una solución para la tarea A, pero no una solución para la tarea B. La puntuación para dicha solución es 2 puntos.

Programa 4. Un ejemplo de un programa correcto en Pascal. El programa es ineficiente ni en tiempo ni en memoria.

constante s = 6; (distancia requerida entre lecturas)

var

N: número entero;

a: matriz de números enteros; (todas las lecturas del instrumento)

MP: entero; (valor mínimo del producto)

i, j: número entero;

comenzar

leer(N);

(Introducción de valores del dispositivo)

para i:=1 a N hacer

readln(a[i]);

p.f.:= 1000 * 1000 + 1;

para i:= 1 a N-s comienza

para j:= i+s a N comenzar

si (a[i]*a[j] mod 2 = 0) y (a[i]*a[j]

entonces mp:= a[i]*a[j]

fin;

fin;

si mp = 1000 * 1000 + 1 entonces mp:= -1;

escrito(mp)



Si encuentra un error, seleccione un fragmento de texto y presione Ctrl+Entrar.