Шкільна олімпіада з інформатики 8-11 класи
Інструкція для учасника олімпіади.
1)
На Робочому Столі створити папку з назвою «...клас.ПІБ».
2)
Вихідні коди виконаних програм зберегти у папці «..класПІБ» під назвами: ZADACHA1.pas, ZADACHA2.pas, ZADACHA3.pas...
ZADACH1. Микола зі шкільного
парламенту отримав завдання обчислити площі класних кімнат. Для цього він пройшовся по кабінетах і виміряв їх довжину та ширину.
Напишіть програму, яка допоможе Миколі обчислювати площі кімнат.
Технічні умови: З клавіатури
вводиться два числа a та b – довжина та ширина кабінету, на екран виводиться одне число – площа класної кімнати
в кв. од.
Приклади
Введення
|
Виведення
|
1
1
|
1кв.од.
|
1
0
|
0кв.од.
|
6
8
|
48кв.од.
|
program Zadacha1;
var a,b,s:integer;
begin
writeln('Ввести ширину кімнати а =');
readln(a);
writeln('Ввести довжину кімнати b =');
readln(b);
S:=a*b;
writeln('Площа S =',s,'кв.од.');
end.
ZADACH2. Написати програму,
яка знаходить суму А+В, модуль різниці |А-В|, та добуток двох виразів А і В, де А = (g-2,5)2 ; В = q2-4,9.
Технічні умови: З клавіатури
вводиться два числа g та q – дійсні числа для обчислення виразів А та В.
На екран виводяться три значення виразів А+В, |А-В|,
А*В.
приклади
Введення
|
Виведення
|
1
1
|
|
1
0
|
|
6
8
|
|
program Z2;
var g,q,a,b:real;
begin
writeln('Введіть дійсне число g= ');
readln(g);
writeln('Введіть дійсне число q= ');
readln(q);
A:=(g-2.5)*(g-2.5);
B:=q*q-4.9;
writeln('Результати: A+B= ',A+B:10:4,'; |A-B|=
', abs(A-B):10:4,'; A*B= ', A*B:10:4);
end.
ZADACH3. Написати програму,
яка розташовує суму А+В і модуль різниці двох виразів А та В у порядку зростання.
Технічні умови: З клавіатури
вводиться два цілі числа А та B.
На екран виводяться два значення виразів А+В, |А-В| в порядку зростання.
приклади
Введення
|
Виведення
|
1
1
|
0
2
|
1
0
|
1
1
|
-6
8
|
2
14
|
program zadacha3;
var a,b,c,v:integer;
begin
writeln('Введіть
ціле число a =');
readln(a);
writeln(''Введіть
ціле число b=');
readln(b);
v:=abs(a-b);
c:=a+b;
if c>v then
writeln(v,' ',c);
if v>c then
writeln(c,'
',v);
if v=c then
writeln(c,'
',v);
end.
ZADACH4. Петрик купив декілька конвертів для того, щоб зробити грошовий подарунок своїм друзям. У перший конверт він поклав k гривен. У другий конверт він поклав 2к гривен. У третій конверт він поклав Зк гривен і так далі. Допоможіть Петрику обчислити суму усіх грошей у конвертах.
Написати програму,
яка знаходить суму усіх натуральних чисел, що менші даного натурального числа і які кратні деякому натуральному числу.
Вхідні дані: 1) n - натуральне число в діапазоні від 1 до 10000; 2) k - натуральне число, кількість грошей, які лежать у першому конверті.
Вихідні дані: С - натуральне число, є сумою грошей, які знаходяться в усіх конвертах Петрика.
program zadacha3;
var n,c,g,k:integer;
begin
writeln(‘Задайте довільне натуральне число n<10000;
n=');
readln(n);
writeln('Задайте число грошей в першому конверті k<10000;
k=');
readln(k);
c:=0;
g:=0-k;
while g<n do
begin
g:=g+k;
c:=c+g;
end;
writeln(‘c=',c);
end.
ZADACH5. Дано ряд послідовних натуральних чисел від n
до m, з якого видаляють спочатку всі числа, що стоять на непарних місцях, тоді
з ряду, що залишився, видаляють всі числа, що стоять на непарних місцях, і так
чинять, поки не залишиться одне єдине число. Напишіть програму, що знайде це
число.
Технічні умови. Програма читає з клавіатури числа n і m через
пропуск (n<m<1000000). Програма
виводить на екран єдине шукане число.
приклад
Введення Виведення
1 6 4