1 / 26

ОДНОМЕРНЫЕ

ОДНОМЕРНЫЕ. МАССИВЫ. В математике, экономике, информатике часто используются упорядоченные наборы данных, например, последовательности чисел, таблицы, списки фамилий. Для обработки наборов данных одного типа вводится понятие массива . . МАССИВ.

maegan
Download Presentation

ОДНОМЕРНЫЕ

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ОДНОМЕРНЫЕ МАССИВЫ

  2. В математике, экономике, информатике часто используются упорядоченные наборы данных, например, последовательности чисел, таблицы, списки фамилий. Для обработки наборов данных одного типа вводится понятие массива.

  3. МАССИВ • - это совокупность конечного числа данных одного типа.

  4. Массив обозначается одним именем. Так, всю совокупность действительных чисел 1.6, 14.9, -5.0, 8.5, 0.46 можно считать массивом и обозначать одним именем, например, А. • Каждый элемент массива обозначается именем массива с индексом. Элементы массива упорядочены по значениям индекса.

  5. В математике, как правило, индекс либо заключается в круглые скобки, либо указывается несколько ниже имени массива, например: А(1), А(2), А(3), А(4), А(5) или А1, А2, А3, А4, А5, или в общем виде {Ai}, где i=1,2,3,…,n. • В Паскале индекс заключается в квадратные скобки. Для рассмотренного примера элементами массива А являются: А[1]:=1.6, A[2]:=14.9, A[3]:=-5.0, A[4]:=8.5, A[5]:=0.46. • Таким образом – индекс определяет положение элемента массива данных относительно его начала.

  6. Описание массива в программе

  7. Если в программе используется массив, то он должен быть описан. • Этот процесс состоит из двух этапов. • Сначала в разделе заявления типов массив задается следующим образом: type massiv = array [b .. e] of <тип данных>; Здесь massiv– это имя, данное нами новому типу, array– зарезервированное слово, определяющее массив;b и e – начальный и конечный индексы ячеек массива (номера ячеек), это натуральные числа; тип данных – любой, тот же самый integer, т.е. тип данных содержимого массива (например, массив целых чисел).

  8. Теперь, на втором этапе, в разделе var мы заявим какую-нибудь переменную новым типом, например: var a: massiv; Вот и все. Теперь переменная а – это переменная массива. Можно задавать массив и непосредственно в разделе переменных. Просто нужно написать вместо названия типа его параметры: a: array [1 .. 10] of byte;

  9. Присвоение значений элементам массива • 1. С помощью оператора Read (readln). var i, n: integer; a: array [1 .. 10000] of integer; begin /определяем число элементов в массиве/ write (‘Введите размер массива’); readln (n); /ввод элементов массива/ for i:=1 to n do write (‘a[‘, i, ’]’); readln (a [i]); end; /выводим на экран полученный массив/ for i:=1 to n do write (a [i], ‘ ‘); readkey; end.

  10. 2. С помощью описания элементов массива в разделе описания констант • Uses Crt; const n=5; a: array [1..5] of integer = (4,5,7,7,0); var i: integer; begin clrscr; /вывод массива/ for i: = 1 to n do write (a [i], ‘ ‘); readkey; end.

  11. 3. С помощью Функции Random [(x)] Эта функция формирует случайное число от 0 до Х целого или вещественного типа (перед обращением к функции ее целесообразно инициализировать, использовав процедуру Randomize). Х – параметр, указывающий диапазон значений случайного числа. Оно изменяется в пределах от 0 до Х. Результат в этом случае имеет тип Word (от 0 до 65535). Если параметр Х не задан, результат будет типа Real в пределах от 0.0 до 1.0.

  12. ЗАДАЧА 1 • Сформировать одномерный массив из N элементов, где элементы массива – целые случайные числа в пределах от 1 до 45. Напечатать элементы массива в прямом и обратном порядке.

  13. Program prim1; Uses crt; Var i, n: integer; a: array [1..1000] of integer; Begin clrscr; randomize; write (‘wwesti n’); readln (n); for i: =1 to n do begin a [i]:= random (45) +1; write (a [i], ‘ ‘); end; for i: = n downto 1 do write (a [i], ‘ ‘); readkey; End.

  14. ЗАДАЧА 2 • В предыдущей задаче переставить элементы, стоящие на нечетных местах, с соответствующими элементами на четных местах.

  15. Program prim2; Uses crt; Var i, n,r: integer; a: array [1..1000] of integer; Begin clrscr; randomize; write (‘wwesti n’); readln (n); for i: =1 to n do begin a [i]:= random (45) +1; write (a [i], ‘ ‘); end; i:=1; {В полученном массиве меняем соседние элементы} while i<=n-1 do {Покаi<=n-1} begin r:=a[i]; a[i]:=a[i+1]; a[i+1]:=r; {Меняем знач-ия соседних эл-тов с пом. «кармана»} inc (i,2) {Увеличиваем индекс на два} end; for i:=1 to n do {Распечатываем измененный массив} write (a [i], ‘ ‘); readkey End.

  16. Примечание: • Процедура inc (i, n) преобразует переменную порядкового типа i к последующему значению (при n=1) или на n шагов вперед.

  17. ЗАДАЧА 3 • Найти максимальный (минимальный) элемент массива, а также его порядковый номер.

  18. За начальный максимум берем первый элемент массива. max:=a[1]; for i:=1 to n do begin Если найдется элемент, больший max, то max будет равен этому элементу. Одновременно запоминаем индекс промежуточного максимума. if a[i]>=max then begin max:=a[i]; imax:=i; end; Печатаем максимальный элемент и его индекс. writeln (max, ‘номер’, imax); readkey; end.

  19. ЗАДАЧА 4 • Найти максимальный элемент среди отрицательных чисел и минимальный элемент среди неотрицательных.

  20. ЗАДАЧА 5 • Подсчитать количество четных элементов массива, заданного датчиком случайных чисел.

  21. Program prim5; uses crt; var i, k, n, r: integer; a: array [1..10000] of integer; begin clrscr; randomize; write (‘chislo elementow =‘); readln (n); for i:=1 to n do begin a[i]:=random(45)-22; write (a[i],’ ‘); {Проверяем на четность и считаем кол-во четных элементов} if a[i]mod2=0 then inc(k,1); end; write (‘k=‘, k); readkey end.

  22. ЗАДАЧА 6 (самостоятельно) • Подсчитать количество отрицательных и неотрицательных элементов массива, заданного датчиком случайных чисел.

  23. ЗАДАЧА 7 • Произвести удаление элемента из одномерного массива, заданного датчиком случайных чисел.

  24. {Смещаем элементы массива к началу, начиная с k-го} if i>=k then a[i]:=a[i+1]; end; {Обнуляем последний элемент} a[n]:=0; {Выводим на экран измененный массив} for i:=1 to n-1 do begin write (a[i], ‘ ‘); end; readln; end. Program prim7; uses crt; var a: array [1..1000] of integer; i, k, n: integer; begin randomize; clrscr; write (‘chislo elementow =‘); readln (n); for i:=1 to n do begin a[i]:=random(45)-22; write (a[i], ‘ ‘); end; {Вводим номер удаляемого элемента} write (‘nomer udal.elem. k=<n’); readln (k); for i:=1 to n-1 do begin

  25. ЗАДАЧА 8 • Произвести вставку элемента в одномерный массив, заданный датчиком случайных чисел.

  26. {Смещаем элементы к концу массива, начиная с К+1} for i:=n+1 downto 1 do begin if i>k then a[i]:=a[i-1]; end; {На К-ое место ставим введенный элемент} a[k]:=r; {Выводим на экран измененный массив} for i:=1 to n+1 do begin write (a[i], ‘ ‘); end; readln; end. Program prim8; uses crt; var a: array [1..1000] of integer; r, i, k, n: integer; begin randomize; clrscr; {Создаем массив и выводим на экран} write (‘chislo eleventov n=’); readln (n); for i:=1 to n do begin a[i]:=random(45)-22; write(a[i], ‘ ‘); end; {Вводим индекс и значение вставляемого элемента} write (index <=N’); readln (k); write (‘znachenije R=‘); readln (r);

More Related