1
|
2
|
3
|
4
|
5
|
6
|
7
|
сумма
|
оценка
|
Контрольная работа по
информатике
Учени_______ 10 класса
лицея №1580
При МГТУ имени Н. Э.
Баумана
ФИО_____________________________________________________
ВАРИАНТ 10-0
Вариант 0
1. Написать заголовки следующих подпрограмм:
а) В функцию F1 передаются две целые переменные a и b; функция возвращает в программу целое
значение.
б) В процедуру P2 передаются две целые переменные a и b и одна логическая переменная f; процедура возвращает в
программу действительное значение.
Ответ:______________________________________________________________
_______________________________________________________________
2. Написать программу для
вычисления значения y,
для чего определить и использовать необходимую функцию:
Ответ:________________________________________________________________
_________________________________________________________________
_________________________________________________________________
__________________________________________________________________
__________________________________________________________________
3.Определите, какое число будет
напечатано в результате работы следующей программы:
var a,b,t,M,R :integer; Ответ:_______________
Function F(x: integer):integer;
begin
F := 16*(9+x)*(9+x)+127;
end;
BEGIN
a := -20; b := 20;
M := a; R := F(a);
for t := a to b do begin
if (F(t) > R) then begin
M := t;
R := F(t);
end;
end;
write(M);
end.
4. Что напечатается на экране в результате выполнения
фрагмента программы:
A:=’кодирование’;
C:=copy(a,1,2) + сору(а,9,1) + copy(a, length(a),1) + ’ц’;
Writeln(c);
Ответ:______________________________________________________
5. Написать программу для решения следующей задачи:
Вводится строка,
состоящая из отдельных слов и натуральных чисел. Строка заканчивается точкой.
Слова и числа отделяются друг от друга одним или несколькими пробелами. Пример: fdc 123 76 tyui 3507 5678 gh.
Подсчитать сколько четырёхзначных чисел данной строки кратно
3.
Ответ:__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
6.Требовалось
написать программу, на вход которой подаётся целое число, а на выходе число нулей
в этом числе ( если в числе нет нулей, программа должна вывести нуль) . Ученик
торопился и написал программу неправильно.
Последовательно выполните следующее:1) заполните таблицу,
которая отражает работу программы, написанной учеником 2) напишите свою
программу
Значение n на входе
|
20105
|
-1005
|
0
|
10500
|
Значение k на выходе
|
var k, n:integer;
begin
readln(n); n:=abs(n);
k:=0;
while
n>0 do begin
n:=n div
10;
if
n mod 10 =0 then k:=k+1
end;
writeln(k);
end.
|
__________________________________________
__________________________________________
__________________________________________
___________________________________________
___________________________________________
___________________________________________
___________________________________________
___________________________________________
___________________________________________
|
7.Написать программу для решения следующей задачи:
В компьютер вводится
температура за каждый день марта(в марте 31 день). Найти максимальную
температуру среди тех значений, когда термометр опускался ниже нуля.
__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Решение
5)
function chs(s:string):integer;
var
l,i,q,j,k1,t,code:integer;
k:string;
begin
l:=length(s);
i:=1;
q:=0;
j:=0;
repeat
k:=copy(s,i,1); //находим числа
val(k,k1,code);
if code=0 then
while code=0 do
begin
t:=k1;
if not((q=0) and (t=0)) then q:=q+1;
i:=i+1;
k:=copy(s,i,1);
val(k,k1,code);
end;
if ((t=3) or (t=0)) and (q=4) then // кратность двухзначность
j:=j+1;
t:=3;
i:=i+1;
q:=0;
k:=copy(s,i,1);
val(k,k1,code);
until i>l-1;
chs:=j;
end;
var
string1:string;
begin
write('Исходная строка: ');
readln(string1);
write('Ответ: ');
write(chs(string1));
write(' четрехзначных число кратно 3');
end.
7)
const N=31;
var day:array [1..N] of integer;
i,max,min:integer;
begin
i:=1;
{заполняем массив}
while i<=N do begin
readln(day[i]);
inc(i);
end;
i:=1;
max:=day[1];
min:=day[1];
{находим минимум и максимум}
while i<=N do begin
{maximum}
if max>day[i] then begin
max:=day[i];
end;
{minimum}
if min<day[i] then begin
min:=day[i];
end;
inc(i);
end;
writeln(max,' ',min);
end.