Воскресенье, 02.02.2025, 06:56
Информатика в школе
Приветствую Вас Гость | RSS
Главная Ввод/вывод массива Регистрация Вход
Форма входа

Меню сайта

Мини-чат
300

Категории
Школа и сайт [4]
Software [18]
Hardware [14]

Календарь
Календари для ucoz

Статистика

Онлайн всего: 2
Гостей: 2
Пользователей: 0


Ввод массивов

  • Метод присваивания элементам массива определенных значений  с помощью оператора присваивания " : = ".
...
begin
a[1]:=25;
a[2]:=-346;
a[3]:=0;
...
a[10]:=-938;
...
  • Прямое заполнение массива через ввод с клавиатуры используя функцию Read/Readln;
...
begin
repeat
write('Введите количество элементов массива ');
read(n);
until (n>1) and (n<=max);
for i:=1 to n do begin
write('a[',i,'] ');
readln(a[ i ]);
end;
...
  • Заполнение массива посредством генератора случайных чисел;
begin
a[1]:=2; a[2]:=3;{процедура инициализации ( раскачки) генератора случайных чисел}
for i:=1 to 10 do begin
a[ i ]:=random(19) {функция генерирующая случайное число то 0 до 18}
...
end;
...
Краткая информация об используемых функциях
Randomize - инициализирует генератор случайных чисел случайными значениями  Random - возвращает случайное число в интервале  (0..Num-1). Чтобы получить значение отличное от предыдущего то необходимо задать смещение.
Пример: необходим интервал [-50..50].
В этом случае длина интервала составляет 101, смещение для целых чисел будет записано как random(101)-50, для вещественных -
random*101-50.
Еще пример: необходим интервал [20..30].
В этом случае длина интервала составляет 11, смещение для целых чисел будет записано как random(11)+20, для вещественных -random*11+20.

  • Заполнение массива по определенному закону, т.е. с помощью формул;
Пусть очередной элемент массива буде равен разности квадратов двух предыдущих элементов - a[ i ]=sqr(a[ i-1]-sqr(a[ i-2]):
...
begin
a[1]:=2; a[2]:=3; {т.к. формула заполнения a[ i ]=sqr(a[ i-1]-sqr(a[ i-2]), то соответственно 1-й и 2-й элементы не будут иметь двух предыдущих элементов, поэтому они заполняются с помощью оператора присваивания}
write(a[1],'  ',a[2],'  ');
for i:=3 to 10 do begin
a[ i ]:=sqr(a[ i-1]-sqr(a[ i-2]) {функция генерирующая случайное число то 0 до 18}
...
end;
...
  • Заполнение  файлов (двоичный типизированный/ нетипизированный, текстовый).На примере заполнения типизированного файла
var a : file of integer; i: integer;
       mas:array[1..15] of integer;

n:=byte;
begin
assign
(a,' file.bin '); {установка связи файловой переменной типа integer  с двоичным типизированным файлом ( типизированный потому, что  уже содержит элементы integer, т.е. тип данных  определен)}
rewrite(a); {открытие файла посредством файловой переменной для записи}

write('Введите количество элементов массива ');
read(n);
for i:=1  to n do begin
read(mas[ i ]); {вводим значения элементов в ячейки массива}
write(a, mas[ i ]); {записываем значения элементов массива в файл}
end;
close(a); {обязательно закрываем файл после работы с ним}
end.

  • Заполнение  матрицы ( двумерный массив).

Заполнение двумерного массива  производится  с помощью вложенного цикла. Например: внешний цикл перебирает строки, а вложенный  заполняет столбцы.
...
begin
read(m,n);
for i:=1 to m do
for i:=1 to m do
read(a[ i ]);
...


<< Назад   1| 2 |
                                                                                                                                                                                                                                                                               
Часы

Праздники России

Праздники России



Uploader

Поиск

Полезные ссылки
  • Официальный блог
  • Сообщество uCoz
  • Программисту
  • Олимпиаднику
  • Как создать сайт с нуля
  • Сайт МОУ СОШ №81
  • 3DNews

  • Александр Михайлович Марченко © 2025 Конструктор сайтов - uCoz