Задания для самостоятельного решения.
- В программе описан одномерный целочисленный массив A с индексами от 0 до 10. Ниже представлен фрагмент этой программы, в котором значения элементов массива сначала задаются, а затем меняются.
for i:=0 to 10 do
A[i]:=i-1;
for i:=1 to 10 do
A[i-1]:=A[i];
A[10]:=10;
Как изменятся элементы этого массива после выполнения фрагмента программы?
1) все элементы, кроме последнего, окажутся равны между собой
2) все элементы окажутся равны своим индексам
3) все элементы, кроме последнего, будут сдвинуты на один элемент вправо
4) все элементы, кроме последнего, уменьшатся на единицу
- Определите значение переменной c после выполнения следующего фрагмента программы.
a := 30;
b := 14;
a := a – 2 * b;
if a > b then
c := b + 2 * a
c := b - 2 * a;
3. Определите, что будет напечатано в результате выполнения программы
var n, s: integer;
begin
n := 0;
s := 0;
while s <= 35 do
begin
n := n + 1;
s := s + 4
end;
write(n)
end.
4. Ниже записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: a и b. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 2, а потом 21.
var x, a, b: integer;
begin
readln(x);
a:=0; b:=1;
while x>0 do
begin
a:=a+1;
b:=b*(x mod 10);
x:= x div 10
end;
writeln(a); write(b);
end.
5. Определите, какое число будет напечатано в результате выполнения следующего алгоритма
var a,b,t,M,R :integer;
Function F(x:integer):integer;
begin
F := 3*(x-8)*(x-8)
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.
6.
Требовалось написать программу, при выполнении которой с клавиатуры считывается координата точки на прямой (x – действительное число) и определяется принадлежность этой точки одному из выделенных отрезков В и D (включая границы). Программист торопился и написал программу неправильно.
var x: real;
begin
readln(x);
if x>=-3 then
if x<=9 then
if x>1 then
write('не принадлежит')
else
write('принадлежит')
end.
7. Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 100. Опишите алгоритм, позволяющий найти и вывести произведение элементов массива, которые имеют нечётное значение и делятся на 3. Гарантируется, что в исходном массиве есть хотя бы один элемент, значение которого нечётно и кратно 3.
Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них. Исходные данные всегда подобраны так, что результат произведения не выходит за пределы объявленных типов данных.
const
N=30;
var
a: array [1..N] of longint;
i, j, p: longint;
begin
for i := 1 to N do
readln(a[i]);
…
end.
В качестве ответа Вам необходимо привести фрагмент программы , который должен находиться на месте многоточия.