Персональная страничка
Диканева Тараса
Викторовича

Главная \ Преподавательское \ Программирование для начинающих

10. Массивы

Предыдущий раздел:

Следующий раздел:

Контрольная работа №8

1. Пусть описан тип-массив:

  type
    TMas = array [-n..n] of real;

Какой индекс будет иметь второй по счету, третий, предпоследний и третий с конца элементы этого массива? Каким по счету идет элемент с индексом 0?

2. Пусть имеется массив с шестью целочисленными элементами, равными x[0] = 2, x[1] = 8, x[2] = 10, x[3] = 3, x[4] = 2, x[5] = -6.

(а) Какие значения примут элементы массива после выполнения операторов:

  i:=2;
  c:=x[1+i];
  x[1+i]:=x[2*i-2];
  x[2*i-2]:=x[2*i-1];
  x[2*i-1]:=c;

(б) Какое число выведет программа:

  s1:=0;
  s2:=0;
  for i:=0 to 2 do
  begin
    s1:=s1+x[2*i+1];
    s2:=s2+x[2*i];
  end;
  writeln(s2-s1);

(в) Какое число выведет программа:

  s:=0;
  for i:=0 to 2 do
    s:=s+x[i]-x[6-i];
  writeln(s);

(г) Какие значения примут элементы массива после выполнения операторов:

  n:=6;
  for i:=0 to 2 do
  begin
    c:=x[n-1];
    for k:=n-2 downto 0 do
      x[k+1]:=x[k];
    x[0]:=c;
  end;

3. Пусть имеется массив с элементами: x[0] = 6, x[1] = 3, x[2] = 9, x[3] = 1. Какие значения примут элементы массива после выполнения операторов:

(а)
  repeat
    n:=0;
    for i:=0 to 2 do
      if x[i]>x[i+1] then
      begin
        c:=x[i];
        x[i]:=x[i+1];
        x[i+1]:=c;
        n:=n+1;
      end;
  until n=0;
(б)
  N:=4;
  for i:=0 to N-2 do
  begin
    m:=i;
    for k:=i+1 to N-1 do
      if x[k]>x[m] then
        m:=k;
    c:=x[i];
    x[i]:=x[m];
    x[m]:=c;
  end;
(в)
  N:=4;
  m1:=0;
  m2:=0;
  for i:=1 to N-1 do
  begin
    if x[i]>x[m1] then
      m1:=i;
    if x[i]<x[m2] then
      m2:=i;
  end;
  c:=x[m2];
  x[m2]:=x[m1];
  x[m1]:=с;
(г)
  N:=4;
  repeat
    p:=1;
    for i:=0 to N-1 do
    begin
      p:=p*x[i];
      x[i]:=x[i]-1;
    end;
  until p<0;

Следующий раздел:

Предыдущий раздел:

Добавить комментарий