1 / 16

Массивы

Массивы. Ввести с клавиатуры 10 чисел и вычислить их сумму. Вариант 1 Program upr1; Var s,a:real ; I: integer; Begin S:=0; For I:=1 to 10 do Begin Writeln (‘введите очередное число'); Readln (a); S: = s+a ; End; Writeln (‘s=’,s); end. Вариант 2 Program upr2;

arden-hess
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. Ввести с клавиатуры 10 чисел и вычислить их сумму. Вариант 1 Program upr1; Vars,a:real; I: integer; Begin S:=0; For I:=1 to 10 do Begin Writeln (‘введите очередное число'); Readln(a); S: =s+a; End; Writeln(‘s=’,s); end. Вариант 2 Program upr2; Var s,a1,a2,a3,a4,a5,a6,a7,a8,a9,a20:real; Begin S:=0; Writeln(‘Введите десять чисел’); Readln(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10); S:=a1+a2+a3+a4+a5+a6+a7+a8+a9+a10; Writeln(‘s=’,s); end.

  3. Если переменная величина может принимать различные значения в какие-то моменты времени то эти данные можно занести в таблицу. Например, температура воздуха в сентябре принимала различные значения: Данный пример является одномерным массивом состоящим из 9 элементов. Элементы в массиве пронумерованы от 1 до 9.

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

  5. Массив– совокупность однородных элементов, объединенных одним именем причем, каждый элемент имеет свой порядковый номер. Элемент массива– отдельная переменная, входящая в массив. Индекс – числовой или буквенный указатель, которым снабжаются выражения для того, чтобы их отличить друг от друга. Индекс элемента массива– номер элемента в массиве(любой порядковый тип, кроме longint) Размерность массива– количество элементов, которое содержит массив. Чтобы обратиться к элементу массива необходимо указать имя массива и в квадратных скобках номер элемента(его индекс) Сегодня на уроке мы рассмотрим одномерные массивы. Одномерным массивомназывается массив в котором каждый элемент имеет свой порядковый номер (один).

  6. Этапы работы с массивами • Описание массива • Заполнение массива значениями • Обработка массива по заданному алгоритму • Вывод результата

  7. 1.Описание массивов Для описания массивов используются служебные слова Array , of (массив,из) • Явное описание Varmas:array[1..10] of integer; • 2. Неявное описание Const=10; Varmas:array[1..10] of integer; • 3. Через массив констант Const Mas:array[1..10] of byte=(12,4,34,5,13,8,10,26,0,15); • 4. Через пользовательские типы Type mas=array[1..10] of byte; Var x:mas;

  8. Количество элементов в массиве можно подсчитать :Например: M [1..5] 5 элементов в массиве M M [0..5] 6 элементов в массиве M M [-1..5] 7 элементов в массиве M Количество элементов(размерность) в массиве вычисляется по формуле: B-A+1 Конечное Начальное значение значение индекса индекса

  9. 2. Заполнение массива: • 1. Ввод с клавиатуры For i:=1 to 10 do Begin Writeln{‘Введите значение’,i,’элемента’); Readln(mas[i]); End; • 3. Случайным образом Randomize; For i:=1 to 10 do Begin mas[i]:=random(20); {будут выбираться числа на интервале от 0 до 19 включительно, если брать на произвольном интервале [a,b], то формула примет вид: mas[i]:=random(b-a+1)+a;} Writeln{‘mas[‘,i,’]=’,mas[i]); End; • 2. Поформуле For i:=1 to 10 do Begin mas[i]:=2*i; Writeln{‘mas[‘,i,’]=’,mas[i]); End;

  10. 3. Базовые алгоритмы: • 1. Вычисление суммы( произведения) элементов массива: • S:=0; • For i:=1 to 10 do • S:=s+mas[i]; • {S:=1; • For i:=1 to 10 do • S:=s*mas[i];} • 2. Подсчет количества( суммы, произведения) элементов массива, обладающих заданным свойством: a . K:=0; For i:=1 to 10 do If mas[i]>0 then k:=k+1; {подсчет количества положительных элементов} b. K:=0; For i:=1 to 10 do If mas[i]>0 then k:=k+mas[i]; {подсчет суммы положительных элементов} c. K:=1; For i:=1 to 10 do If mas[i]>0 then k:=k*mas[i]; {подсчет произведения положительных элементов}

  11. 3. Поиск максимального (минимального) элемента массива и его номера: a. K:=1;max:=mas[1]; For i:=2 to 10 do If mas[i]>mas[k] then begin k:=i; max:=mas[i]; end;{поискмаксимальногоэлементаиегономера} b. K:=1;max:=min[1]; For i:=2 to 10 do If mas[i]<mas[k] then begin k:=i; min:=mas[i]; end;{поискминимальногоэлементаиегономера}

  12. 4. Вставка некоторого значения x в массив с заданного номера k: Readln(k); readln(x); For i:=10 downto k do mas[i+1]:=mas[i]; mas[k]:=x; • 5. Удаление элемента из массива с заданного номера k: Readln(k); For i:=k to 9 do mas[i]:=mas[i+1];

  13. Вывод результата • a.Если результатом работы является массив, то выполняют следующую группу операторов: For i:=1 to 10 do Writeln{‘mas[‘,i,’]=’,mas[i]); • b.Если результатом обработки массивов является какая-то переменная, то выводят на экран данную переменную. Writeln(‘количество положительных элементов =’,k);

  14. Составить и отладить программы для следующих задач: • Вычислить среднее арифметическое элементов одномерного массива, размерностью 5. Элементы вводить с клавиатуры. • 2.Вычислить произведение элементов массива. Элементы массива заполняются по формуле: a[i]:=i*I; • 3. Вычислить значение функции y=x2, x изменяется от -4 до 4 с шагом 1. Результаты занести в массив. • 4.Изменить порядок значений элементов массива на обратный с использованием дополнительной переменной( для сильных учеников без дополнительной переменной): 5 4 7 8 9 задано 9 8 7 4 5 должно быть в результате

  15. Примеры задач: 1.Найти среднее арифметическое всех элементов одномерного массива с целыми значениями, размерностью 5. Ввод элементов осуществлять с клавиатуры. Пусть массив имеет вид: А(5,8,3,1,4). Среднее арифметическое данного массива находится следующим образом: Среднее=(5+8+3+1+4)/5.

  16. На языке Паскаль это будет выглядеть так: Program u1; Uses crt; Constn=5; Var I:integer; a: array[1..n] of integer; S:real; Begin Clrscr; S:=0; Fori:=1 to n do Begin Writeln{‘Введите значение’,i,’элемента’); Readln(a[i]); S:= s+a[i]; End; S:=s/n; Writeln(‘среднее арифметическое =’,s:6:1); End.

More Related