ЗАДАНИЯ ДЛЯ ШКОЛЬНОГО ТУРА ПРЕДМЕТНОЙ ОЛИМПИАДЫ. ИНФОРМАТИКА. 9 КЛАСС.
Оценка 4.6
Руководства для учителя
docx
информатика
9 кл
24.03.2018
Предлагаемый материал представляет собор подборку наиболее типичных тренировочных заданий для подготовки к участию в предметной олимпиаде. Задания могут быть также использованы и на уроках по предмету для закрепления знаний по соответствующей теме. Для всех заданий даны подробные решения. Также указана система оценки выполненной работы.
информатика 9.docx
ТРЕНИРОВОЧНЫЕ ЗАДАНИЯ ДЛЯ ШКОЛЬНОГО ТУРА
ПРЕДМЕТНОЙ ОЛИМПИАДЫ.
ИНФОРМАТИКА. 9 КЛАСС.
Время выполнения работы – 4 часа.
1. Перевертыши (макс. 5 баллов).
В текстовом файле «Input.txt» записан в обратном порядке текст,
содержащий русские и латинские буквы с учетом регистра и любые другие
печатные символы. Словом в тексте считается последовательность букв,
ограниченная с двух сторон знаками препинания или началом (концом)
строки. Требуется написать программу, восстанавливающую правильный
текст. Результат восстановления записать в файл «Output.txt».
Содержимое входного файла
Содержимое выходного файла
ОтЭ йыньливарп тскет. огЕ
отсорп илунревереп.
2. Двоичные числа (макс. 10 баллов).
В текстовом файле «Input.txt» записаны два двоичных числа (не более 250
Это правильный текст. Его просто
перевернули.
разрядов). Вывести в текстовый файл «Output.txt» сумму этих чисел.
Содержимое входного файла
Содержимое выходного файла
10000
1001
111
3. Фотокамера (макс. 10 баллов).
Цифровая фотокамера позволяет делать снимки размером V точек.
Отношение ширины снимка к его длине постоянно и равно 3:4, при этом
ширина и длина снимка, измеренные в количестве точек, выражаются в целых
числах, кратных 10. Цветовая палитра снимка насчитывает С оттенков цвета.
При записи снимка во flashпамять его объем уменьшается в 12 раз.
Копирование фотографий из flashпамяти на жесткий диск настольного
компьютера выполняется со скоростью 2 Mbit/с. Следует учесть, что все
значения (размер снимка, количество оттенков в палитре) в рекламных целях
округляются. Определить время копирования одного снимка с точностью до
0,1 с.
Исходные данные записаны в текстовом файле «input.txt» в следующем
формате:
Размер V
Количество оттенков С
Результат расчета (одно значение) сохраняется в текстовом файле
«output.txt»:
Тест: размер снимка (округленно) равен 1 300 000 (точный размер
1 283 800) точек. Количество оттенков цвета в палитре примерно 65 000 (точное количество 65 536) оттенков. Такой снимок «перекачивается» на
жесткий диск за 0,8 с.
Содержимое входного файла
Содержимое выходного файла
0,8
1300000
65000
4. Удачные числа (макс. 30 баллов).
Удачным называется целое неотрицательное число, в котором можно
выделить две группы цифр так, что суммы цифр в этих группах одинаковы.
Найти количество удачных чисел в заданном интервале [A, B]. Во входном
файле в первой строке записано число А, во второй строке – число В. В
выходном файле содержится только одно значение – количество удачных
чисел в указанном интервале.
Примеры удачных чисел: 231, 363, 1234…
Содержимое входного файла
Содержимое выходного файла
9 (число 101, 110, 112, 121, 123,
132, 134, 143, 145)
1920
100
150
1000
10000
5. Телефонная сеть (макс. 50 баллов).
Поселок состоит из N домов, расположенных вдоль прямой дороги с одной
стороны на равных расстояниях. Расстояние между домами равно 1. Общее
количество домов не превышает 1000. В поселке проводят телефонную связь.
В текстовом файле «input.txt» указано, сколько телефонных аппаратов нужно
установить в каждом доме. Требуется определить номер дома, в котором
должна быть установлена АТС, чтобы суммарная длина всех телефонных
кабелей была минимальной. АТС может быть установлена в доме без
телефонов. Считаем, что к каждому телефонному аппарату подходит один
кабель от АТС. Результат (номер дома, в котором установлена АТС) вывести
в текстовый файл «output.txt».
Содержимое входного файла
Содержимое выходного файла
30214
4
Ответы и указания
Распределение баллов
Мах оценка задачи
Этапы решения
Наличие идеи решения
Наличие алгоритма
Каждый из пройденных тестов
5
2
––
10
2
2
30
две задачи
6
6
50
10
10
1 ∙ 3 = 3
2∙ 3 = 6
6 ∙ 3 = 18
10 ∙ 3 = 30
К з а д а ч е 1.
№
Содержимое входного файла
Содержимое выходного файла п/п
1 ОтЭ йыньливарп тскет. ОгЕ
отсорп илунревереп
2
Текст программы «Перевертыши»
3 Содержимое выходного файла из
предыдущего теста
Это правильный текст. Его просто
перевернули
Текст программы «Перевертыши»
К з а д а ч е 2.
№
п/п
1
Содержимое входного файла
1001
11
1111011
101000010
10101010101010101010101010101
1010101010101010101010101010
К з а д а ч е 3.
№
п/п
1
2
3
1300000; 65000
4300000; 260000
480000; 2
Содержимое входного
файла
2
3
2
3
Содержимое входного файла
К з а д а ч е 4.
№
п/п
1
100
150
1000
10000
32000
64000
Содержимое выходного файла
10000
110111101
11111111111111111111111111
1111
Содержимое выходного файла
0.8
3.1
0.0
Содержимое выходного файла
9
1920
10152
Содержимое выходного файла
4
5
6
Содержимое входного файла
К з а д а ч е 5.
№
п/п
1
2
3
30214
13624735
9813576981
Program OverText (Перевертыши).
const letter : set of char = [A . . Z, a .. z,
Var
A .. Я, а .. я];
inp, out
: text; stroka
akorts
i, j
tmp
ch
len_of_str
: string;
: string;
: byte;
: string;
: char;
: byte;
BEGIN
Assign (inp, input.txt);
Reset (inp);
Assign (out,output.txt);
(Rewrit (out);
While not EOF (inp) do
begin
Readln (inp, akorts);
len_of_str: = length (akorts); stroka: = ;
tmp: = ;
for i: = 1 to len_of_str do begin
ch: = akorts [i];
if ch in letter then tmp: = tmp: = tmp+ch else
begin
for j: = length(tmp) downto l do
stroka: = stroka+tmp [j];
stroka: = stroka+ch;
tmp: = ;
end;
end;
Writeln (out, stroka);
end;
Close (out);
Close (inp);
END.
Program binary; {Двоичные числа}.
Var ss, sf : string; inp, out : text;
Procedure LenEg (var sl, s2 : string);
Begin
if length (s1) > length (s2)
then while length (s2) < length (s1) do s2:= 0 +s2;
else while length (s1) < length (s2) do s1:= 0 +s1;
End;
Function BinAdd (s1, s2 : string) : string; Var l, i, d,
carry : byte;
s : string;
Begin
i:=length(s1);
s:= :
carry:=0;
for i:= 1 downto 1 do
begin
d:= (ord(s1[i]) – ord(0)) + (ord(s2[i] – ord(0)) + carry;
carry:=d div 2;
d:= d mod 2;
s:= char(d + ord(0)) + s; end;
if carry <> 0 then s:= 1 + s;
BinAdd:= s;
End;
BEGIN
Assign (inp, input.txt);
Reset (inp);
Assign (out, output.txt);
Rewrite (out);
Readln (inp, ss);
Readln (inp, sf);
LenEg (ss, sf); {Выравнивание чисел по длине}
Writeln (out, BinAdd (ss, sf));
Close (out);
Close (inp);
END.
Program photo; {Фотокамера}.
const megabit = 1024*1024;
width
height
propo
jpeg
copy
= 12;
= 2;
= 4;
= 3;
= width * height;
var
N
i
b, h
inp, out : text;
: longint;
: byte;
: longint;
V: longint;
time, Vi : real; tmp : longint; BEGIN
Assign (inp, input.txt);
Reset (inp);
Assign (out, output. txt);
Rewrite (out);
Readln (inp, V);
Readln (inp, N);
i:= trunc(ln(N)/in(2))+1;
(*
{Вариант вычисления i без логарифмов}
tmp:=N;
i:=0;
while tmp > 1 do
begin
i:= i+1;
if tmp mod 2 = 0 then tmp:= tmp div 2
else tmp:= (tmp+1) div 2;
end;
*)
b:=10*trunc(sgrt(V div propo)*width/10);
h:=10*trunc(sgrt(V div propo)*width/10);
V:= b * h;
Vi:= V * i / jpeg;
time:= Vi / (copy * megabit);
Writeln (out, time:8:1);
Close (inp);
Close (out);
END.
Program mistery (Удачные числа).
type cifir = array [1..10] of byte;
Var chislo
summa
a, b, i : longint;
count : longint;
inp, out
flag : boolean;
cifirka
dlina: byte;
: longint;
: byte;
: text;
: cifir;
procedure cifra (chislo : longint; var cifirki : cifir; var dlina : byte);
var tmp, j : byte;
begin
dlina:= 0; While chislo > 0 do
begin
dlina:=dlina+1;
cifirki[dlina]:=chislo mod 10;
chislo:= chislo div 10;
end;
for i:= 1 to dlina–1 do
for j:= 1 to dlina1 do
if cifirki [j] > cifirki [j+1] then
begin
tmp:=cifirki[j];
cifirki [j] : = cifirki[j+1];
cifirki [j+1] : = tmp
end;
end;
BEGIN
Assingn (inp, input.txt); Reset (inp);
Assingn (out, output.txt); Rewrite (out);
Readln (inp, a); Readln (inp, b);
count:=0;
for chislo:= a to b do
begin
cifra (chislo, cifirka, dlina);
summa:= 0;
for i:= 1 to dlina do summa:= summa+cifirka[i];
flag:= false;
if summa mod 2 = 0 then
begin
begin
summa:= summa div 2;
if cifirka[dlina] <= summa then
summa:= summa–cifirka[dlina];
dlina:=dlina–1;
repeat
if cifirka[dlina] <= summa then
summa:= summa–cifirka[dlina];
dlina:= dlina–1;
until dlina=0;
if summa = 0 then flag:= true;
end;
if flag then count:= count+1;
end; end;
Writeln (out, count);
Close (out); Close (inp);
END.
Program telephones (Телефонная сеть).
Var i, N : integer;
phones
lls, pps,
lln, ppn
inp, out
BEGIN
: array [1..1000] of integer;
: integer;
: text;
Assign (inp, input.txt);
Reset (inp);
Assign (out, output.txt);
Rewrite (out);
N:=0;
While not EOF (inp) do
begin
end;
N:=N+1;
Read (inp, phones [N]);
lls:= 0; pps:= 0; lln:= 1; ppn:=N;
While ppn > 11n do
if lls < pps then
begin
lls:= lls+phones [lln];
lln:= lln+1;
end else
begin
pps:= pps+phones[ppn];
ppn:= ppn–1;
end;
Writeln(out, lln);
Close (out);
Close (inp);
END.
ЗАДАНИЯ ДЛЯ ШКОЛЬНОГО ТУРА ПРЕДМЕТНОЙ ОЛИМПИАДЫ. ИНФОРМАТИКА. 9 КЛАСС.
ЗАДАНИЯ ДЛЯ ШКОЛЬНОГО ТУРА ПРЕДМЕТНОЙ ОЛИМПИАДЫ. ИНФОРМАТИКА. 9 КЛАСС.
ЗАДАНИЯ ДЛЯ ШКОЛЬНОГО ТУРА ПРЕДМЕТНОЙ ОЛИМПИАДЫ. ИНФОРМАТИКА. 9 КЛАСС.
ЗАДАНИЯ ДЛЯ ШКОЛЬНОГО ТУРА ПРЕДМЕТНОЙ ОЛИМПИАДЫ. ИНФОРМАТИКА. 9 КЛАСС.
ЗАДАНИЯ ДЛЯ ШКОЛЬНОГО ТУРА ПРЕДМЕТНОЙ ОЛИМПИАДЫ. ИНФОРМАТИКА. 9 КЛАСС.
ЗАДАНИЯ ДЛЯ ШКОЛЬНОГО ТУРА ПРЕДМЕТНОЙ ОЛИМПИАДЫ. ИНФОРМАТИКА. 9 КЛАСС.
ЗАДАНИЯ ДЛЯ ШКОЛЬНОГО ТУРА ПРЕДМЕТНОЙ ОЛИМПИАДЫ. ИНФОРМАТИКА. 9 КЛАСС.
ЗАДАНИЯ ДЛЯ ШКОЛЬНОГО ТУРА ПРЕДМЕТНОЙ ОЛИМПИАДЫ. ИНФОРМАТИКА. 9 КЛАСС.
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.