** паскале Задание: Сформировать одномерный массив из 10-ти элементов. Значение элементов...

0 голосов
56 просмотров

На паскале
Задание: Сформировать одномерный массив из 10-ти элементов. Значение элементов массива должно быть равно его индексу.


Информатика (56 баллов) | 56 просмотров
Дано ответов: 2
0 голосов
Правильный ответ
1. Вот так учат писать в школе...

// PascalABC.NET 3.1, сборка 1179 от 29.02.2016
const
  n=10;
var
  a:array[1..n] of integer;
  i:integer;
begin
  Randomize;
  for i:=1 to n do begin
    a[i]:=i;
    Write(a[i],' ')
    end;
  Writeln;
end.

Результат выполнения программы
1 2 3 4 5 6 7 8 9 10

2. А вот так пишут "в жизни"

// PascalABC.NET 3.1, сборка 1179 от 29.02.2016
begin
  var a:=Range(1,10).ToArray;
  a.Println
end.
(142k баллов)
0

Кстати, зачем вам Randomize?

0 голосов

//PascalABC

begin
    ArrGen(10, i -> i).Print(', ');
end.

(53.1k баллов)
0

1. Нет языка PacalABC. Есть Pascal ABC и там это не пойдет. И есть PascalABC.NET, там это пойдет, если версия не ниже 3.0 2. ArrGen породит массив c индексами 0..9, а Print их и напечатает, но при этом уничтожит созданный массив, превратив его в последователность. "А в остальном, прекрасная маркиза, все хорошо, все хорошо" (с)

0

Учтемс

0

Я тоже многих тонкостей сначала не знал, но вот второй месяц общаюсь на форуме с главным разработчиком этого Паскаля - узнал много нового для себя.

0

Но все равно все написаное укладывается в задание. Сформировать массив - сформирован, никто ж не сказал, что он должен дожить до конца программы. Элементы должны быть равны индексам, но не сказанно какие должны быть индексы. А Print лишь для того чтоб показать, что что-то происходит. По условию задачи он вообщем-то не нужен

0

А тонкости это хорошо, спасибо за комментарий. Правда очень ценю

0

А разве я где-то написал, что Вы задание неверно сделали?)))