Программа состоит из отдельных разделов или блоков, которые долж­ны располагаться в следующем порядке: [ заголовок программы; ]



Download 0,62 Mb.
bet13/16
Sana16.03.2022
Hajmi0,62 Mb.
#493552
TuriЛабораторная работа
1   ...   8   9   10   11   12   13   14   15   16
Bog'liq
Задания по ЯиСП 1-14 ИВТ

Лабораторная работа 12.
Массивы.


Рассмотрение структурированных типов мы начнём с так называемых массивов "ARRAY". Массив объединяет элементы одного типа данных. Мас­сивы бывают одномерными и многомерными. Размер массива (и число изме­рений) ограничивается только объёмом рабочей памяти ПЭВМ. До сих пор Вы сталкивались в основном с простыми типами данных. Типы данных в системе Turbo Pascal делятся на простые и сложные. К простым типам относятся стандартные, перечисляемые и ограниченные; к сложным типам - массивы, множества, записи, файлы. Элементами сложных типов могут быть простые типы, а также, в свою очередь, сложные типы. Введение сложных типов делает язык программирования более мощным и позволяет составлять эффективные программы. Всё сказанное нежно изобразить с помощью следующей схемы:


В математике и информатике массив называется одномерным, если для получения доступа к его элементам достаточно одной индексной перемен­ной.
Декларация (объявление) одномерного массива выглядит следующим образом:


VAR
имя массива: ARRAY[нач инд..кон инд] OF тип данных;


Например:


VAR
mas: ARRAY [1.. 25] OF Integer;


Таким образом, мы объявили одномерный массив mas целых чисел. Но­мер (индекс) первого элемента 1, последний номер (индекс) 25.


Декларация массивов может производится и немного другим способом. Сначала объявляется тип пользователя (в нашем случае типа "ARRAY"), а затем и переменная на основе этого типа данных. Например:
TYPE
tab=ARRAY[l..25] OF Integer;
VAR
mas: tab;


Эта декларация аналогична приведённой выше. В следующем примере декларировано несколько переменных типа массив:


VAR
mas_l: ARRAY[1..10] OF Real; mas_2: ARRAY[5 .. 16] OF Integer; sst: ARRAY[20..40] OF Char;


Обратите внимание, что величины, обозначающие "начальный индекс" и "конечный индекс", в квадратных скобках разделяются двумя (!) точка­ми, причём перед этими двумя точками и после них допускаются пробелы.


Тип элементов, составляющих массив, может быть любым (в том числе и сложным). Тип индексов элементов массива может быть только простым, хотя наиболее часто в качестве индексов элементов массива применяют целые числа.
В следующем примере объявлены массивы содержащие элементы различ­ных типов, и индексы различных простых типов:


VAR
mas: array [1..15] of real; {описан массив из 15 вещественных чисел}
www: array [(mon,tue,wed)] of integer; {описан массив из трёх целых чисел, индексы элементов массива имеют перечислимый тип и принимают значение названий дней недели mon, tue, wed}
ast: array ['A'-'Z'] of boolean; {описан массив элементов логического типа, тип индексов - ограниченый символьный}
art: array [(black,white)] of 11..20; {описан массив целых чисел с индексами black, white. Каждый элемент массива может принимать значения от 11 до 20}
svz: array [byte] of integer; {описан массив из 256 целых чисел с индексами стандартного типа byte (от 0 до 256)}


Извлечения и присвоения в массивах


В отличие от стандартных переменных массивы не могут обрабаты­ваться целиком. Но Вы можете получить доступ к каждому элементу-ячейке массива. Это выполняется путём указания значения индекса в квадратных скобках. Так, например, с помощью оператора


mas [2] :=34;


элементу массива с индексом 2 присваивается значение 34.
Оператор


Writeln(mas[2]);


вызовет вывод на экран пользователя значение хранящегося в элемен­те-ячейке N 2 массива mas.
Наряду с конкретным значением (константой) в качестве индекса может быть использована переменная, например, при обработке массива поэлементно в рамках цикла "FOR ... ТО ... DO". Так с помощью фрагмента программы


FOR i:=l ТО 25 DO mas[i]:=0;


всем элементом массива присваивается значение "0".


Использование массивов вместо одиночных переменных позволяет Вам благодаря применению циклов "FOR ... ТО ... DO" существенно сэкономить время и объём программы. Это демонстрируется следующим примером.


ПРИМЕР. Дана последовательность реальных чисел s1 ... s30. Организовать массив для хранения этих чисел. Определить сумму этих элементов.
PROGRAMM ех_1;
VAR
m: ARRAY[1..30] of real; {декларация массива}
i: integer; {параметр цикла FOR}
s: real; {сумма элементов}
BEGIN
FOR i:=l TO 30 DO {заполнение массива}
Begin
Write('Введите элемент последовательности N ');
Readln(m[i]);
End;
s:=0; {обнуление счётчика суммы}
FOR i:=l TO 30 DO s:=s+m[i]; {вычисление суммы}
Write('CyMMa элементов последовательности равна ',s);
Readln; { пауза }
END.


Контрольные вопросы.



  1. Какие типы данных Вы знаете?

  2. Перечислите и приведите примеры простых типов данных.

  3. Перечислите сложные типы данных.

  4. Что такое массивы?

  5. Что называют элементом массива?

  6. Что называют индексом элемента массива?

  7. Сколько элементов может содержать массив?

  8. Сколько индексов может быть у одного элемента массива?

  9. Элементы какого типа может содержать массив?

  10. Какие типы данных допустимы для индексов элементов массива?



Задания для самостоятельного выполнения лабораторной работы 12.



  1. Напишите программу, которая сначала вводит десять чисел в одномер­ный массив, а затем складывает отдельно все положительные элементы этого массива, отдельно отрицательные элементы и выдаёт полученные результаты.

  2. Разработайте программу, которая будет вводить с клавиатуры 25 ре­альных чисел и сохранять их в некотором одномерном массиве. Затем у пользователя запрашивается ввод ещё одного "контрольного" числа. Программа должна проверить, содержится ли последнее введённое число среди введённых раннее элементов массива, и выдать соответс­твующее сообщение на экран.

  3. Напишите программу, которая вводит с клавиатуры 25 реальных чисел, организовывает их хранение в одномерном массиве, а затем определяет число положительных элементов данной последовательности и выводит результат на экран.

  4. Напишите программу, которая вводит с клавиатуры 20 реальных чисел, организовывает их хранение в одномерном массиве, а затем определяет каких чисел в массиве больше, положительных или отрицательных. Не исключается случай равенства.

  5. Напишите программу, которая вводит с клавиатуры 15 целых чисел, ор­ганизовывает их хранение в одномерном массиве, а затем определяет среднее арифметическое элементов массива. Результат выдаётся на эк­ран пользователя.

  6. Напишите программу, которая вводит с клавиатуры 20 реальных чисел, организовывает их хранение в одномерном массиве, а затем определяет индекс и значение максимального элемента массива. Результат выдаёт­ся на экран пользователя.

  7. Напишите программу, которая вводит с клавиатуры 30 символов, органи­зовывает их хранение в одномерном массиве, а затем выводит содержи­мое массива в обратном порядке с указанием индекса (номера) каждого элемента.

  8. Напишите программу, которая вводит с клавиатуры 20 реальных чисел, организовывает их хранение в одномерном массиве, а затем определяет среднее арифметическое элементов с чётными индексами, и среднее арифметическое элементов с нечётными номерами. Результат выдаётся на экран пользователя.




Download 0,62 Mb.

Do'stlaringiz bilan baham:
1   ...   8   9   10   11   12   13   14   15   16




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish