Контрольная работа по теме «Начала программирования». Вариант I
В заданиях группы А выбрать правильный ответ.
А1. Что из нижеперечисленного не входит в алфавит языка Паскаль?
латинские строчные и прописные буквы,
арабские цифры,
русские строчные и прописные буквы,
знак подчёркивания.
А2. Какая последовательность символов может служить именем программы в языке Паскаль?
_test, 2) nos_56, 3) 56_ttt, 4)Игорь78.
А3. Обозначение целочисленного типа данных в языке Паскаль.
integer, 2) real, 3) char, 4) string.
А4. В результате выполнения фрагмента программы:
a:=3,14;
writeln (frac(a));
на печать будет выведено:
14, 2) 3.14, 3) 3, 4) 3,14.
А5. В каком из условных операторов допущена ошибка?
if b=0 then writeln ( ‘Деление не возможно‘);
if a
if a>b then max:=a else max:=b;
if (a>b) and (b>0) then c:=a+b.
А6. В результате выполнения фрагмента программы
a:=5;
b:=20;
a:=a-b/2;
if a>b then c:=a+b else c:=b-a;
переменная с примет значение:
25, 2) 14,5, 3) -15, 4) -14,5.
А7. Цикл во фрагменте программы :
a:=0.5;
s:=0;
i:=0;
repeat i:=i+1; b:=1/i; s:=s+a; until b
выполнится
0 раз, 2) 2 раза, 3) 1 раз, 4) 4 раза.
А8. С оператора while в языке Паскаль программируется:
цикл - ПОКА, 2) цикл с параметром, 3) цикл – ДО, 4) все вышеперечисленные.
В заданиях группы Б представить полное решение или записать ответ.
Б1. Определите значение переменной b после выполнения фрагмента программы:
a:=4;
b:=3;
a:=12/a*b;
b:=a+b*2.
В ответе укажите одно целое число – значение переменной b.
практическая работа
написать программу вывода всех чисел [1056..50689], которые делятся нацело на 3 и на 6, но не делится на 8,9 и 5
f: file of integer;
i, n, x, t, k, max: integer;
s: integer;
begin
randomize;
write('n=');
readln(n);
assign(f, 'numbers.dat');
rewrite(f);
max := -1;
for i := 1 to n do
begin
x := random(4800) + 20;
write(f, x);
write(x, ' ');
if x > max then max := x;
end;
writeln;
seek(f, 0);
k := 0;
while not eof(f) do
begin
read(f, x);
t := x;
s := 0;
while t > 0 do
begin
s := s + sqr(t mod 10);
t := t div 10;
end;
if x mod s = 0 then k := k + 1;
if x > max - 50 then write(x, ' ');
end;
writeln;
writeln(k);
end.
N = 10;
var
A: array[1..N] of integer;
function Fun: integer;
var
i, M: integer;
begin
writeln('Введите число M=');
readln(M);
for i := 1 to N do
if A[i] = M then Fun := i;
end;
procedure CreateMassive;
var
i: integer;
begin
for i := 1 to N do
begin
A[i] := Random(199) - 100;
write(A[i],' ');
end;
Writeln;
end;
begin
CreateMassive;
Writeln(Fun);
end.
вот вариант исправления который работает, хотя конечно не факт что он работает как там кто-то задумывал)))
не понятно было назначение функции Fun потому она делает поиск номера элемента равного М
а вообще глобальные переменные это зло. Так что проектирование тут в корне не верно