![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву ![]() Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Ввод и вывод числовых значений массиваСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Паскаль не имеет средств ввода-вывода элементов массива сразу, поэтому ввод и вывод значений производятся поэлементно. Инициализацию массива (присваивание начальных значений) можно организовать с помощью оператора присваивания. Однако чаще всего они вводятся с клавиатуры с помощью оператора Read с использованием счетного оператора цикла For. Рассмотрим несколько фрагментов программ инициализации массива.
Первый вариант For i:=1 to 10 do ReadLn(A[i]); Пример 7.2. Сформировать последовательность чисел 12, 22, 32,…… n 2 и оформить ее в виде одномерного массива. For k:=1 to 10 do A[i]:=k*k;
Пример 7.3. Cформировать (сгенерировать) одномерный массив случайных чисел. Используем стандартную функцию Random(x), котораявозвращает случайное число из диапазона от 0 до Х. Эта же функция без аргумента, Random, генерирует случайное число из диапазона от 0 до 1. Функция Randomize – обеспечивает несовпадение случайных чисел, генерируемых функцией Random. Randomize; For i:=1 to 10 do Begin A[i]:=Random(2)+5; B[i]:= Random; End; В результате выполнения этого фрагмента программы будет создан массив А, который содержит десять случайных чисел из диапазона от 5 до 7, а массив В – десять случайных чисел из диапазона от 0 до 1. Функция Randomize позволяет получать различные значения элементов массивов при каждом обращении к этому фрагменту программы. Вывод значений элементов массива выполняется аналогичным образом, но используются операторы Write или WriteLn. Пример 7.4. Вывести значения элементов массива на экран. For k:=1 to 10 do Writeln (С[k]); Десять значений элементов массива С будут выведены на экран в столбец. Заменив оператор Writeln на Write, вывод элементов массива будет произведен в строку.
Действия над элементами массива Рассмотрим несколько типичных примеров обработки элементов массива. Пример 7.5. Вычислить сумму (Sum) четных элементов массива X[N], введенных с клавиатуры. Введем обозначения: N – количество элементов массива; i – переменная, выполняющая функции параметра цикла и одновременно индекса элементов массива. Для определения четности числа используем операцию целочисленного деления (остаток):
Приведем блок-схему и программу для этого примера. Блок-схема Program D-Array; Const N=50; Var X:Array[1..N] of real; i: integer; Sum: real; Begin Readln(N); {значение N не должно превосходить 50} Sum:=0;
begin readln(X[i]); {тело цикла} If X[i] div 2=0 then sum:=sum+X[i]; end; Writeln(sum); End. В разделе описания констант укажем значение константы N =50, количество элементов массива. Это очень удобно, т.к. в случае изменения размера массива не нужно будет вносить изменения в весь текст программы, а достаточно только изменить значение этой константы в разделе описания констант.
Пример 7.6. Вычислить максимальный элемент массива X [ n ], n =10. Перед началом поиска максимального элемента допустим, что его первый элемент и является максимальным. Это запишется так Max:=X[1]. Далее циклически, начиная со второго элемента, сравниваем элементы массива с максимальным элементом. Если очередной элемент массива больше, чем максимальный, то следует считать его значение максимальным. Программа запишется следующим образом: Program Demo-Array; Var X:Array[1:10] of real; i: integer; Begin For i:=1 to 10 do readln(X[i]); {ввод массива} Max:=X[1] {считать 1-й элемент максимальным} For i:=2 to 10 do If X[i] > Max then Max:=X[i]; Writeln(Max); End.
В следующих примерах будем записывать лишь фрагменты программ. Пример 7.7. Выяснить, сколько элементов массива имеют нулевые значения. Введем переменную k, назовем ее счетчиком и обнулим его. Далее циклически проверяем условие A[i]= 0 и если оно выполняется, добавляем единицу в счетчик. k:=0; {счетчик} For i:=1 to n do If A[i]=0 then k:=k+1;
Пример 7.8. Обменять значения 1-го и 10-го элементов массива A[N]. Перестановка значений элементов массива осуществляется с помощью дополнительной переменной V. V:=A[10]; A[10]:=A[1]; A[1]:=V;
Во всех этих примерах мы рассматривали явное описание массивов в разделе Var. В следующем примере рассмотрим неявное описание массива. Пример 7.9. Используя процедуру, вычислить максимальный элемент массива из N элементов.
Инициализацию элементов массива произведем введением с пульта. Программа имеет вид
Program D_Array; {Поиск максимального элемента массива} Type Masiv=Array[1..20] of integer; Var MM,n,i:integer; A: Masiv; Procedure Max_Arr(m: integer;X: Masiv; Var Max: integer); Var k:integer; Begin Max:=X[1];
For k:=2 to m do If X[k]>=Max then Max:=X[k]; End; {Основная программа} Begin Write(' Введите размер массива n=');Readln(n); For i:=1 to n do Readln(A[i]); {ввод элементов массива} Max_Arr(n, A, MM); {вызов процедуры} Writeln('Максимальный элемент =',MM:3); End. Проследим соотношение формальных и фактических параметров процедуры Max_Arr. процедура Max_Arr основная программа Формальные параметры Фактические параметры
Двухмерный массив Характерным примером двумерного массива является матрица, например, Каждый элемент этого массива однозначно определяется двумя индексами, номером строки и номером столбца, на пересечении которых этот элемент стоит. Каждый элемент этого массива имеет имя A[i, j], где i=1, 2,..,5 - номер строки, а j=1, 2,..,7 – номер столбца, на пересечении которых этот элемент стоит. Такой массив должен быть описан в разделе описаний. В случае явного описания массива это можно сделать одним из двух способов: Var A: Array[1..5,1..7] of real; или Const m=5, n=7; Var A: Array[1..m, 1..n] of real;
|
|||||||||||||||||||||||
Последнее изменение этой страницы: 2016-09-20; просмотров: 538; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.218.251.99 (0.008 с.) |