1 / 12

Организация данных в виде массива

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

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. Формат описания одномерного массива • Имя массива: ARRAY[границы]OF тип данных • Массив описывается в разделе VAR • Пример1 Var М: array[1..10] of integer; Описан массив М целых чисел. Размер массива 10 элементов. Т. е. в ОП зарезервировано место под 10 значений. Каждое значение будет хранится в отдельной переменной (ячейке), обращение к которой происходит по имени массива и порядковому номеру (индексу) • Например, М[7] – это 7-й элемент массива М • Пример2 Можноколичество элементов массива задать в разделе CONST, тогда описание будет выглядеть так: • CONST n=12; • VAR М: array[1..n] of integer; • Пример3 CONST n=12; • VAR st: array[1..n] of string; описание массива st символьных (не числовых) данных. Массив может содержать не более 12 элементов

  4. Ввод/вывод значений элементов одномерного массива ввод с клавиатуры Помните Почти все действия с массивом выполняются в цикле! User Crt; Const n=10;Var M: array[1..n] of real; Begin {ввод с клавиатуры}For i:=1 to n DoBeginWriteln('ввести ',i,'-й элемент');Readln(M[i]);End; {вывод в столбик}For i:=1 to n DoBeginWriteln(‘M[‘,i,‘]=‘, M[i]);End; End.

  5. Заполнение по формуле и вывод User Crt; Const n=10; Var M: array[1..n] of real; Begin {Заполнение по формуле и вывод}For i:=1 to n DoBegin M[i]:=(i*i+1)/sin(i);Writeln('A(',i,')=',M[i]); End; End.

  6. Заполнение массива случайными числами Const n=10; Var a: array[1..n] of Real; i:integer;Begin{Заполнение случайными числами и вывод в строку}Randomize;// For i:=1 to n DoBegin A[i]:=random(4)+2;Write('A(',i,')=',a[i]:4);End;End;

  7. Типовые задачи на одномерные массивы • Задача1 Нахождение количества и суммы. Дан массив А из 10 элементов, которые вводятся с клавиатуры. Подсчитать, сколько элементов массива имеютзначение, меньшие заданного значения Z и сумму этих элементов.

  8. Задача №1 • Program zadacha1;Const n=10;Var a: array[1..n] of Real; • col,z:integer; sum: real; • Begin{Заполнение c клавиатуры}For i:=1 to n DoBeginWriteln('A(',i,')='); Read(A[i]); End;{подсчет количества и суммы элементов, удовлетворяющих условию} col:=0;Sum:=0;Writeln('ввести значени z=');Readln(z); For i:=1 to n Do If a[i]<z Then Begin col:=col+1;summa:=sum+a[i];End;End.

  9. Задача №2 • Задача2 Поменять местами значения элементов. Написать только процедуру обработки. Дан массив A[1..40]. Поменять местами 1-й элемент с последним, 2-й с предпоследним и т. д. …….. Var p,i:integer; a: array[1..40] of Real;Begin /ввод и вывод исходного массива …................... /ОБРАБОТКА For i:=1 to n Do Begin P:=a[i]; A[i]:=a[40-i+1]; A[40-i+1]:=p;End; /вывод полученных результатов

  10. Задача №3 • Задача3 Формирование нового массива из элементов старого Дан массив X[1..20].Сформировать новый массив Y, состоящий из 10 первых положительных элементов массива Х……………….Const n=40;Var k,i:integer; x,y: array[1..n] of integer;Begin/ввод и вывод исходного массива…................... • /обработка • K:=0;For i:=1 to n Do Begin If x[i]>0 Then Begin k:=k+1;y[k]:=x[i]; End;End;/вывод полученных результатов

  11. Задача №4 • Задача4 Cортировка массива по возрастанию Написать только процедуру обработки.Дан массив А[1..N]. • Const n=40;Var j, i, w: integer; a: array[1..n] of integer;Begin  w:=0;  For i:=1 to n-1 Do   Begin    For j:=i+1 to n Do    If a[i]>a[j] Then Begin w:=a[i]; a[i]:=a[j]; a[j]:=w; End;  End;End.

  12. Задача №5 • Задача5 Вставка элементов в заданный массив. Написать только процедуру обработки. Дан массив А[1..N]. Вставить число 10 в позицию M данного массив,причем 1<=m<=n • Const n=40;Var j,m:integer; a: array[1..n] of integer;Begin Writeln('номер индекса для вставки = ');Readln(m); For i:=n+1 Downto m+1 Do Begin A[i]:=a[i-1]; A[m]:=10; End;End.

More Related