Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь 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; For i:=1 to N do 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 элементов. Назовем процедуру Max_Arr и оформим ее по аналогии c примером 7.6. Инициализацию элементов массива произведем введением с пульта. Программа имеет вид
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; просмотров: 530; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.218.223.84 (0.009 с.) |