Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Ввод и вывод одномерных массивов в Паскале ⇐ ПредыдущаяСтр 2 из 2 Ввод и вывод массивов осуществляется поэлементно. Введем одномерный массив Х, состоящий из 30 элементов, то есть необходимо ввести некую последовательность элементов Х1, Х2, …, Х30. Пусть i – индекс (порядковый номер) элемента в массиве Х. Тогда Хi – i-й элемент массива Х, где i = 1, 2, …, 30. Для ввода массива можно использовать любой цикл. Первый вариант: ввод массива с использованием цикла с предусловием (Рисунок 1). Program Primer_1; Var i: integer; X: array [1..30] of Integer; Begin i:= 1; While i <= 30 Do Begin Read (X[i]); i:= i + 1 End; Readln End. Можно ввести с клавиатуры элементы следующим образом: -7 _ 4 _ -2 _ 0 _ 12 _ -1 _ -5 _ 9 _ 11 _ -3 _ -5 _ … _15, то есть через пробел ввести в строчку и нажать клавишу Enter. Можно было ввести элементы в столбец, отделяя элементы клавишей Enter, то есть каждый элемент с новой экранной строки: -7 Enter 4 Enter -2 Enter … … … 15 Enter В первом варианте ввод массива Х в программе осуществляется с использованием цикла с предусловием. Второй вариант: ввод массива с использованием цикла с постусловием (Рисунок 2). Program Primer_2; Var i: integer; X: array [1..30] of Integer; Begin i:= 1; Repeat Read (X[i]); i:= i + 1 Until i > 30; Readln End. Массив X введен с использованием цикла с постусловием. Третий вариант: ввод массива с использованием цикла с параметром (Рисунок 3). Program Primer_3; Var i: integer; X: array [1..30] of Integer; Begin For i:= 1 To 30 Do Read (X[i]); Readln End. Массив вводится с помощью цикла с параметром, где в качестве параметра используется индекс элемента массива (i). Вывод одномерного массива осуществляется аналогично. В программе вместо операторов Read или Readln используются операторы Write или Writeln. Но просто заменить одни операторы на другие здесь недостаточно. Для того чтобы выводимые значения не сливались между собой, надо явным образом вставлять между ними разделитель – пробел или перевод строки. Приведем два возможных способа вывода массива:
На первый взгляд второй способ может показаться более простым и удобным, но это далеко не всегда так. Результат работы такой программы зачастую неудобно, а то и просто невозможно анализировать. Ведь каждый элемент массива будет располагаться в отдельной строке, следовательно, мы не сможем увидеть более 25 элементов одновременно. Кроме того, очень часто массив требуется распечатать дважды, чтобы сравнить состояние массива до обработки и результат его обработки. В этом случае сравнение состояний массива гораздо удобнее проводить, если они распечатаны в двух соседних строках, а элементы выровнены по столбцам, то есть к варианту 1 должна быть добавлена еще и форматная печать (указано количество позиций, которое должно отводиться на печать одного элемента). Например, выведем одномерный массив Х1, Х2, …, Хn, состоящий из элементов вещественного типа, используя цикл с параметром (Рисунок 4): Program Primer_4; Const n = 30; Var i: Integer; X: Array [1..n] Of Real; Begin For i:= 1 To n Do Write (X[i]: 6: 2, ‘ ‘); Writeln; {курсор переводит на новую строку} Readln End.
Найти произведение элементов массива A={a[i]}, удовлетворяющих условию: с <= a[i] <= d. Ниже представлены блок-схема и текст программы для выполнения данного задания, а также результат программирования.
uses crt; const n=20; var a;array [1..n] of longist; i,c,p,d:integer; begin clrscr; repeat write ('Введите C: '); readln (c); write ('Введите D: '); readln (d); until c<d; for i:=1 to n do begin write ('a[',i,']='); read (a[i]); end; p:=1; i:=1; for i:=1 to n do begin if (c(=a[i]) and (a[i]<=d) then p:=p*a[i]; end; writeln ('Произведение элементов = ',p); end.
Лабораторная работа №2
|
||
Последнее изменение этой страницы: 2017-01-20; просмотров: 67; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.128.190.102 (0.005 с.) |