вторник, 27 ноября 2012 г.

Зачет по информатике


       Амирзаде Нуру 10"А"
  1)В программе описан одномерный целочисленный массив A с индексами от 0 до 10. Ниже представлен фрагмент этой программы, в котором значения элементов массива сначала задаются, а затем меняются.
  for i:=0 to 10 do
    A[i]:=i;
  for i:=0 to 5 do begin
    A[10-i]:=A[9-i];
    A[i]:=A[i+1];
  end;
Чему будут равны элементы этого массива?
1)0 1 2 3 4 5 6 7 8 9 10
2) 0 1 2 3 4 5 6 7 8 9 9
3) 1 2 3 4 5 5 5 6 7 8 9
4) 1 2 3 4 5 6 5 4 3 2 1

Ответ: 3)1 2 3 4 5 5 5 6 7 8 9


2) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать произвольные целые значения. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит номера двух элементов массива, сумма которых минимальна.
const N=30;
var a: array [1..N] of integer;
j,i, min, min2,s: integer;
begin
for i:=1 to N do a[i]:=random(30);//readln(a[i]);
min:=a[1]+a[2];
min2:=1;s:=2;
for i:=1 to n-1 do
for  j:= 1 to n do
if i<>j then
if a[i]+a[j] < min then begin
min:=a[i]+a[i+1];
min2:=i;
s:=j
end;
writeln(min2,'  ',s);
end.

1 комментарий:

  1. Ответ в задании №1 верный, но динамика изменения массива:
    1)0 1 2 3 4 5 6 7 8 9 10
    2) 0 1 2 3 4 5 6 7 8 9 9
    3) 1 2 3 4 5 5 5 6 7 8 9
    4) 1 2 3 4 5 6 5 4 3 2 1 -
    описана неверно, попробуй исправить.

    В задании № 2 допущена ошибка.




    ОтветитьУдалить