SlideShare a Scribd company logo
1 of 13
Одномерные массивы.
       Pascal
Массив
• Массивы состоят из ограниченного числа
  компонент, причем все компоненты массива имеют
  один и тот же тип, называемый базовым. Структура
  массива всегда однородна. Массив может состоять из
  элементов типа integer , real или char , либо других
  однотипных элементов.
• Программа может сразу получить нужный ей элемент
  по его порядковому номеру (индексу). Индекс – это
  значение порядкового типа, определенного, как тип
  индекса данного массива. Очень часто это
  целочисленный тип ( integer , word или byte ), но
  может быть и логический и символьный.
Описание массива в Паскале
В языке Паскаль тип массива задается с использованием
специального слова array (англ. – массив), и его объявление в
программе выглядит следующим образом:
Type < имя _ типа >= array [ I ] of T;
где I – тип индекса массива, T – тип его элементов.
Можно описывать сразу переменные типа массив, т.е. в разделе
описания переменных:
Var a,b: array [ I ] of T;
Обычно тип индекса характеризуется некоторым диапазоном
значений любого порядкового типа : I 1 .. I n . Например, индексы
могут изменяться в диапазоне 1..20 или ‘ a ’..’ n ’.
При этом длину массива Паскаля характеризует выражение:
ord ( I n )- ord ( I 1 )+1.
Ввод массива Паскаля
Для того чтобы ввести значения элементов массива,
необходимо последовательно изменять значение индекса,
начиная с первого до последнего, и вводить
соответствующий элемент.
Пример фрагмента программы ввода массива
Var
 A : array [1..10] of integer ;
  I : byte ; {переменная I вводится как индекс массива}
Begin
  For i:=1 to 10 do
     Readln (a[i]); { ввод i- го элемента производится с
клавиатуры }
Ввод массива Паскаля

Пример фрагмента программы заполнения массива
случайными числами
Var
  A: array [1..10] of integer;
  I : byte ; {переменная I вводится как индекс массива}
Begin
  For i :=1 to 10 do
    A [ i ]:= random (10); { i -му элементу массива
присваивается «случайное» целое число в диапазоне от
0 до 10}
Вывод массива Паскаля
Вывод массива в Паскале осуществляется также
поэлементно, в цикле, где параметром выступает
индекс массива, принимая последовательно все
значения от первого до последнего.
Пример фрагмента программы вывода массива
Var
  A: array [1..10] of integer;
  I : byte ; {переменная I вводится как индекс массива}
Begin
  For i :=1 to 10 do
     Write ( a [ i ],’ ‘); {вывод массива осуществляется в
строку, после каждого элемента печатается пробел}
Вывод массива Паскаля

Пример фрагмента программы вывода массива в
столбик
Var
  A: array [1..10] of integer;
  I : byte ; {переменная I вводится как индекс массива}
Begin
  For i:=1 to 10 do
     Writeln (‘a[‘, i,’]=’, a[i]); { вывод элементов массива
в столбик }
Задача 1.
Даны два n -мерных вектора. Найти сумму этих векторов.
Program summa;
Var
  a, b, c: array [1..100] of integer;
  I, n: byte;
Begin
  Write (‘введите размерность массивов:’);
  Readln(n);
  For i:=1 to n do
     Readln (a[i]); { ввод массива a}
  For i:=1 to n do
     Readln (b[i]); { ввод массива b}
  For i:=1 to n do
     C[i]:=a[i]+b[i]; { вычисление суммы массивов }
  For i:=1 to n do
     write (c[i],’ ‘); { вывод массива с }
end.
Задача 2.
Найти максимальный элемент массива и его индекс.
Program maximum;
Const
  N=10;
Type
  Mas=array[1..N] of integer;
Var
 A: Mas;
  i, Max, Imax: integer;
Begin
 {заполним элементы массива значениями датчика случайных чисел}
   Randomize;
  For i:=1 to N do
     begin
          A[i]:= -50 + Random(101);
          write(A[i]:5)
     end;
     writeln;
Imax:=1; {сначала считаем, что первый элемент массива и есть
максимальный}
Max:=A[1];
For i:=2 to N do {сравниваем со всеми остальными элементами массива}
If Max<A[i] then
Begin
         Max:=A[i]; {если нашелся больший элемент, то его считаем
максимальным}
         Imax:=I
End;
Writeln(‘Максимальный элемент в массиве=‘, Max:5);
Writeln (‘Его индекс=’, Imax:5);
Readln;
end.
А17-2011
В программе описан одномерный целочисленный массив A с индексами от
0 до 10. Ниже приведен фрагмент этой программы, записанный на
Паскале, в котором значения элементов массива сначала задаются, а затем
меняются.
For i:= 0 to 10 do
A[i]:= i-1;
For i:= 10 downto 1 do
A[i-1]:=A[i];
Чему окажутся равны элементы этого массива?
1) 9 9 9 9 9 9 9 9 9 9 9;
2) 0 1 2 3 4 5 6 7 8 9 9;
3) 0 1 2 3 4 5 6 7 8 9 10;
4) -1 -1 0 1 2 3 4 5 6 7 8.
Решение
В первом цикле происходит заполнение массива А – на места с нулевого
по десятое записываются значения с -1 до 9.
Прокрутим второй цикл:
    Номер шага       Значение i   Значения A(i-1), A(i)
    1                10           A(9)=A(10)=9
    2                9            A(8)=A(9)=9
    3                8            A(7)=A(8)=9
    4                7            A(6)=A(7)=9
    5                6            A(5)=A(6)=9
    6                5            A(4)=A(5)=9
    7                4            A(3)=A(4)=9
    8                3            A(2)=A(3)=9
    9                2            A(1)=A(2)=9
    10               1            A(0)=A(1)=9
A(10) так и осталось равно 9.
Правильный ответ: 1.
Использованные материалы
1. Программирование. Одномерные массивы
   Pascal-Паскаль
   http://www.pascal.helpov.net/index/one-
   dimensionl_arrays_pascal_programming
2. Ушаков Д.М., Юркова Т.А. Паскаль для
   школьников. – СПб.: Питер, 2007.
3. Сафронов И.К. ЕГЭ-тетрадь. Информатика. –
   СПб.: БХВ-Петербург, 2011.

More Related Content

Similar to одномерные массивы

массивы в паскале
массивы в паскалемассивы в паскале
массивы в паскалеAnn Eres
 
Массивы в Java
Массивы в JavaМассивы в Java
Массивы в Javametaform
 
массивы
массивымассивы
массивыisva69
 
массивы.строки
массивы.строкимассивы.строки
массивы.строкиdasha2012
 
лабораторная работа №5
лабораторная работа №5лабораторная работа №5
лабораторная работа №5Zhanna Kazakova
 
Действия с одномерными массивами
Действия с одномерными массивамиДействия с одномерными массивами
Действия с одномерными массивамиurasova
 
Практикум по выполнению блока с информатика
Практикум по выполнению блока с информатикаПрактикум по выполнению блока с информатика
Практикум по выполнению блока с информатикаЕкатерина Луговова
 
02 сортировка и поиск
02 сортировка и поиск02 сортировка и поиск
02 сортировка и поискFedor Tsarev
 
Лекция 1. Анализ эффективности алгоритмов
Лекция 1. Анализ эффективности алгоритмовЛекция 1. Анализ эффективности алгоритмов
Лекция 1. Анализ эффективности алгоритмовMikhail Kurnosov
 
лабораторная работа №5
лабораторная работа №5лабораторная работа №5
лабораторная работа №5Gulnaz Shakirova
 
массивы
массивымассивы
массивыisva69
 

Similar to одномерные массивы (20)

массивы в паскале
массивы в паскалемассивы в паскале
массивы в паскале
 
87
8787
87
 
Массивы в Java
Массивы в JavaМассивы в Java
Массивы в Java
 
массивы
массивымассивы
массивы
 
массивы.строки
массивы.строкимассивы.строки
массивы.строки
 
08 set
08 set08 set
08 set
 
лабораторная работа №5
лабораторная работа №5лабораторная работа №5
лабораторная работа №5
 
Действия с одномерными массивами
Действия с одномерными массивамиДействия с одномерными массивами
Действия с одномерными массивами
 
Практикум по выполнению блока с информатика
Практикум по выполнению блока с информатикаПрактикум по выполнению блока с информатика
Практикум по выполнению блока с информатика
 
04 array
04 array04 array
04 array
 
02 сортировка и поиск
02 сортировка и поиск02 сортировка и поиск
02 сортировка и поиск
 
массив
массивмассив
массив
 
3. Массивы в C#
3. Массивы в C#3. Массивы в C#
3. Массивы в C#
 
Лекция 1. Анализ эффективности алгоритмов
Лекция 1. Анализ эффективности алгоритмовЛекция 1. Анализ эффективности алгоритмов
Лекция 1. Анализ эффективности алгоритмов
 
лабораторная работа №5
лабораторная работа №5лабораторная работа №5
лабораторная работа №5
 
лабораторная работа №5
лабораторная работа №5лабораторная работа №5
лабораторная работа №5
 
Основы SciPy
Основы SciPyОсновы SciPy
Основы SciPy
 
6.0a
6.0a6.0a
6.0a
 
Основы NumPy
Основы NumPyОсновы NumPy
Основы NumPy
 
массивы
массивымассивы
массивы
 

More from Елена Ключева

378 васильев куницын_тезисы
378 васильев куницын_тезисы378 васильев куницын_тезисы
378 васильев куницын_тезисыЕлена Ключева
 
378 васильев куницын_тезисы
378 васильев куницын_тезисы378 васильев куницын_тезисы
378 васильев куницын_тезисыЕлена Ключева
 
представление графической информации
представление графической информациипредставление графической информации
представление графической информацииЕлена Ключева
 
представление текстовой информации
представление текстовой информациипредставление текстовой информации
представление текстовой информацииЕлена Ключева
 
как оформить реферат по госту
как оформить реферат по гостукак оформить реферат по госту
как оформить реферат по гостуЕлена Ключева
 
программа открытых мероприятий для родителей обучающихся лицея
программа открытых мероприятий для родителей обучающихся лицеяпрограмма открытых мероприятий для родителей обучающихся лицея
программа открытых мероприятий для родителей обучающихся лицеяЕлена Ключева
 
проектирование исследования
проектирование исследованияпроектирование исследования
проектирование исследованияЕлена Ключева
 
виды исследовательских работ
виды исследовательских работвиды исследовательских работ
виды исследовательских работЕлена Ключева
 
шифрование и дешифрование
шифрование и дешифрованиешифрование и дешифрование
шифрование и дешифрованиеЕлена Ключева
 

More from Елена Ключева (20)

378 васильев куницын
378 васильев куницын378 васильев куницын
378 васильев куницын
 
378 васильев куницын_тезисы
378 васильев куницын_тезисы378 васильев куницын_тезисы
378 васильев куницын_тезисы
 
378 васильев куницын_тезисы
378 васильев куницын_тезисы378 васильев куницын_тезисы
378 васильев куницын_тезисы
 
плакат орксэ
плакат орксэплакат орксэ
плакат орксэ
 
символы
символысимволы
символы
 
378 vasilyev
378 vasilyev378 vasilyev
378 vasilyev
 
378 васильев тезисы
378 васильев тезисы378 васильев тезисы
378 васильев тезисы
 
представление графической информации
представление графической информациипредставление графической информации
представление графической информации
 
представление текстовой информации
представление текстовой информациипредставление текстовой информации
представление текстовой информации
 
как оформить реферат по госту
как оформить реферат по гостукак оформить реферат по госту
как оформить реферат по госту
 
программа открытых мероприятий для родителей обучающихся лицея
программа открытых мероприятий для родителей обучающихся лицеяпрограмма открытых мероприятий для родителей обучающихся лицея
программа открытых мероприятий для родителей обучающихся лицея
 
представление чисел
представление чиселпредставление чисел
представление чисел
 
проектирование исследования
проектирование исследованияпроектирование исследования
проектирование исследования
 
виды исследовательских работ
виды исследовательских работвиды исследовательских работ
виды исследовательских работ
 
содержательный подход
содержательный подходсодержательный подход
содержательный подход
 
научная деятельность
научная деятельностьнаучная деятельность
научная деятельность
 
измерение информации
измерение информацииизмерение информации
измерение информации
 
шифрование и дешифрование
шифрование и дешифрованиешифрование и дешифрование
шифрование и дешифрование
 
стартовая презентация
стартовая презентациястартовая презентация
стартовая презентация
 
стартовая презентация
стартовая презентациястартовая презентация
стартовая презентация
 

одномерные массивы

  • 2. Массив • Массивы состоят из ограниченного числа компонент, причем все компоненты массива имеют один и тот же тип, называемый базовым. Структура массива всегда однородна. Массив может состоять из элементов типа integer , real или char , либо других однотипных элементов. • Программа может сразу получить нужный ей элемент по его порядковому номеру (индексу). Индекс – это значение порядкового типа, определенного, как тип индекса данного массива. Очень часто это целочисленный тип ( integer , word или byte ), но может быть и логический и символьный.
  • 3. Описание массива в Паскале В языке Паскаль тип массива задается с использованием специального слова array (англ. – массив), и его объявление в программе выглядит следующим образом: Type < имя _ типа >= array [ I ] of T; где I – тип индекса массива, T – тип его элементов. Можно описывать сразу переменные типа массив, т.е. в разделе описания переменных: Var a,b: array [ I ] of T; Обычно тип индекса характеризуется некоторым диапазоном значений любого порядкового типа : I 1 .. I n . Например, индексы могут изменяться в диапазоне 1..20 или ‘ a ’..’ n ’. При этом длину массива Паскаля характеризует выражение: ord ( I n )- ord ( I 1 )+1.
  • 4. Ввод массива Паскаля Для того чтобы ввести значения элементов массива, необходимо последовательно изменять значение индекса, начиная с первого до последнего, и вводить соответствующий элемент. Пример фрагмента программы ввода массива Var A : array [1..10] of integer ; I : byte ; {переменная I вводится как индекс массива} Begin For i:=1 to 10 do Readln (a[i]); { ввод i- го элемента производится с клавиатуры }
  • 5. Ввод массива Паскаля Пример фрагмента программы заполнения массива случайными числами Var A: array [1..10] of integer; I : byte ; {переменная I вводится как индекс массива} Begin For i :=1 to 10 do A [ i ]:= random (10); { i -му элементу массива присваивается «случайное» целое число в диапазоне от 0 до 10}
  • 6. Вывод массива Паскаля Вывод массива в Паскале осуществляется также поэлементно, в цикле, где параметром выступает индекс массива, принимая последовательно все значения от первого до последнего. Пример фрагмента программы вывода массива Var A: array [1..10] of integer; I : byte ; {переменная I вводится как индекс массива} Begin For i :=1 to 10 do Write ( a [ i ],’ ‘); {вывод массива осуществляется в строку, после каждого элемента печатается пробел}
  • 7. Вывод массива Паскаля Пример фрагмента программы вывода массива в столбик Var A: array [1..10] of integer; I : byte ; {переменная I вводится как индекс массива} Begin For i:=1 to 10 do Writeln (‘a[‘, i,’]=’, a[i]); { вывод элементов массива в столбик }
  • 8. Задача 1. Даны два n -мерных вектора. Найти сумму этих векторов. Program summa; Var a, b, c: array [1..100] of integer; I, n: byte; Begin Write (‘введите размерность массивов:’); Readln(n); For i:=1 to n do Readln (a[i]); { ввод массива a} For i:=1 to n do Readln (b[i]); { ввод массива b} For i:=1 to n do C[i]:=a[i]+b[i]; { вычисление суммы массивов } For i:=1 to n do write (c[i],’ ‘); { вывод массива с } end.
  • 9. Задача 2. Найти максимальный элемент массива и его индекс. Program maximum; Const N=10; Type Mas=array[1..N] of integer; Var A: Mas; i, Max, Imax: integer; Begin {заполним элементы массива значениями датчика случайных чисел} Randomize; For i:=1 to N do begin A[i]:= -50 + Random(101); write(A[i]:5) end; writeln;
  • 10. Imax:=1; {сначала считаем, что первый элемент массива и есть максимальный} Max:=A[1]; For i:=2 to N do {сравниваем со всеми остальными элементами массива} If Max<A[i] then Begin Max:=A[i]; {если нашелся больший элемент, то его считаем максимальным} Imax:=I End; Writeln(‘Максимальный элемент в массиве=‘, Max:5); Writeln (‘Его индекс=’, Imax:5); Readln; end.
  • 11. А17-2011 В программе описан одномерный целочисленный массив A с индексами от 0 до 10. Ниже приведен фрагмент этой программы, записанный на Паскале, в котором значения элементов массива сначала задаются, а затем меняются. For i:= 0 to 10 do A[i]:= i-1; For i:= 10 downto 1 do A[i-1]:=A[i]; Чему окажутся равны элементы этого массива? 1) 9 9 9 9 9 9 9 9 9 9 9; 2) 0 1 2 3 4 5 6 7 8 9 9; 3) 0 1 2 3 4 5 6 7 8 9 10; 4) -1 -1 0 1 2 3 4 5 6 7 8.
  • 12. Решение В первом цикле происходит заполнение массива А – на места с нулевого по десятое записываются значения с -1 до 9. Прокрутим второй цикл: Номер шага Значение i Значения A(i-1), A(i) 1 10 A(9)=A(10)=9 2 9 A(8)=A(9)=9 3 8 A(7)=A(8)=9 4 7 A(6)=A(7)=9 5 6 A(5)=A(6)=9 6 5 A(4)=A(5)=9 7 4 A(3)=A(4)=9 8 3 A(2)=A(3)=9 9 2 A(1)=A(2)=9 10 1 A(0)=A(1)=9 A(10) так и осталось равно 9. Правильный ответ: 1.
  • 13. Использованные материалы 1. Программирование. Одномерные массивы Pascal-Паскаль http://www.pascal.helpov.net/index/one- dimensionl_arrays_pascal_programming 2. Ушаков Д.М., Юркова Т.А. Паскаль для школьников. – СПб.: Питер, 2007. 3. Сафронов И.К. ЕГЭ-тетрадь. Информатика. – СПб.: БХВ-Петербург, 2011.