КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Практичне заняття №14
Приклад. Маємо три множини символьного типу: y1 = [’A’, ’B’, ’D’, ’R’, ’M’]; y2 = [’R’, ’A’, ’H’, ’I’]; y3 = [’A’, ’R’]. Скласти програму “Операції над множинами” 1. Поєднання y1 È y2; 2. Перетин y1 Ç y3; 3. Різниця y1 – y2; 4. Належність елемента “R” множині y1. 5. Належність множини y3 множині y1. Увести результати 4) і 5) операцій.
Program Mnogestvo(input, output); var y1, y2, y3, x1, x2, x3: set of char; c: char; begin y1 = [’A’, ’B’, ’D’, ’R’, ’M’]; y2 = [’R’, ’A’, ’H’, ’I’]; y3 = [’A’, ’R’]; x1:= y1 + y2; x2:= y2 * y3; x3:= y1 – y3; write (’ множина X1 =’); {друкування множини X1} for C:= ’A’ to ’Z’ do if c in x1 then write (c) if ’R’ in y1 then writeln (’ R входить до y1’) else writeln (’ R не входить до y1’); if y3 < = y1 then writeln (’ y2 входить до y1’) else writeln (’ y2 не входить до y1’) end. Завдання: Розробити програму одержання двадцяти рівномірно розподілених випадкових чисел, які лежать в діапазоні від 1 до 100. Одержаний ряд чисел вивести на екран монітора. З одержаної множини виділити: 1. Множину чисел, що діляться на 2 без залишку. 2. Множину чисел, що діляться на 3 без залишку. 3. Множину чисел, що діляться на 4 без залишку. 4. Множину чисел, що діляться на 5 без залишку. 5. Множину чисел, що діляться на 6 без залишку. 6. Множину чисел, що діляться на 7 без залишку. 7. Множину чисел, що діляться на 8 без залишку. 8. Множину чисел, що діляться на 9 без залишку. 9. Множину чисел, що діляться на 10 без залишку. 10. Множину чисел, що діляться на 11 без залишку. 11. Множину чисел, що діляться на 12 без залишку. 12. Множину чисел, що діляться на 13 без залишку. Тема: Розробка програм роботи з записами Мета заняття: Отримати практичні навички розробки програм з використанням записів. Час: 2 год. Навчальні питання: 1. Поняття про записи. Прості записи. 2. Ієрархічні записи. 3. Записи з варіантними полями. Методичні рекомендації: 1. Поняття про записи. Прості записи Записи призначені для складання програм, які забезпечують дії з таблицями, відомостями, списками, каталогами і т.д., де містяться дані різних типів. Наприклад маємо таблицю відомостей про студентів певної групи. Кожному рядку такої таблиці відповідає запис, який має своє власне ім’я, наприклад, Data. Запис складається із окремих часток, відповідно до стовпчиків таблиці – поля записів. Типи даних, які записуються у полях, можуть бути різноманітними (табл. 32).
Таблиця 32
У нашому прикладі поле "№" матиме цілочисловий тип (N:integer). Поле "Прізвище, ім’я, по батькові" матиме рядковий тип даних (РІР:string). Поле "Успішність" – реальний тип (Y:real). Поле "Наявність стипендії" може задаватися оператором, наприклад: "+" чи "–"; "так" чи "ні". Таким чином, тип записів, як такий, не існує. Він містить різнотипові елементи. Кожне поле запису – складене ім’я, що утворюється з двох компонентів, які відокремлюються крапкою (Data. N; Data.РІР; Data. Y). Опис записів можна виконувати у розділі type або в розділі var (табл. 33): 1) у розділі типів: type <ім’я типу> = record <ім’я поля>: <тип поля>; …………………………………; <ім’я поля>:<тип поля>; end; var <ім’я типу> Примітка: необхідно спочатку описувати нестандартні типи даних (наявність стипендії). 2) у розділі змінних: var <ім’я типу>: record <ім’я поля>: <тип поля>; ……………………………; <ім’я поля>: <тип поля>; end; Таблиця 33
Формат оператора приєднання: with <ім’я запису> do <внутрішній оператор>. Для нашого прикладу змінюються оператори введення та присвоєння: with DATA do begin write('Введіть порядковий номер студента'); read(N); write('Введіть ім’я студента'); read(PIP); … end. Внутрішнім оператором є складений оператор begin … end. Таким чином збільшується швидкість виконання програми, оскільки ім’я запису DATA буде обчислено один раз. Оператор with … do можна використовувати і для доступу до елементів масивів. Якщо фрагмент програми містить операції над декількома записами, то в операторі приєднання можна вказати список необхідних імен записів через кому: with v1, v2, v3 do s, де v1, v2, v3 – імена записів; s – операнд. Така форма еквівалентна: with v1 do with v2 do with v3 do s. 2. Ієрархічні записи Поля окремих записів також можуть бути записами. Тому складені імена можуть містити не дві, а більшу кількість компонент, тобто мати ієрархічний характер. Наприклад: A.B.C; A.B[ i ].C і т.д. Розглянемо ієрархічні записи на прикладі попередньої задачі. При цьому поле "Прізвище, ім’я, по батькові" розіб’ємо на три поля і поєднаємо їх в окремий запис з іменем PIP, який буде входити до запису DATA (табл. 34). Таблиця 34
Опис такого запису можна подати так: Type spisok=string[20]; vuplatu=(tak, ni); var Data:record {опис запису в цілому}; N:integer; PIP:record {опис внутрішнього запису}; P:spisok; I: spisok; B: spisok; end; {кінець внутрішнього запису}; Y:real; S:vuplatu; end; {кінець запису}. 3. Записи із варіантними полям Взагалі запис може складатися з двох частин: фіксованої і варіантної (тобто декілька варіантів структури цього типу). Варіантна частина містить декілька альтернатив, кожна з яких у круглих дужках задає список полів даного варіанта. Списку передує мітка, яка є конкретним значенням поля – критерієм вибору варіантів. Перелік альтернатив починається з визначення цього поля. Приклад. Нехай tip – ім’я змінної типу t, яке набуває значення м1 і м2. Запис z містить фіксовану частину (поле n) і варіантну – з двома списками імен полів. Опис запису має вигляд: type t = (m1, m2); var tip: t; z: record n: integer; {фіксована частина} case tip of m1: (список полів 1); {варіантна частина} м2: (список полів 2); end; Таким чином: Початок варіантного запису відмічається службовим словом case; після визначення поля-ознаки вибору варіантів записується службове слово of; Варіантна частина повинна знаходитись після фіксованої частини, наприкінці запису, перед службовим словом end, тобто тільки одна варіантна частина. Синтаксичні діаграми: 1) комбінований тип: record ® <список полів> ® end (;) 2) список полів: <фіксована частина> ® (;) ® <варіантна частина> ® (;) 3) фіксована частина: <індентифікатор (через,)> ® (:)® <тип> ® (;) 4) варіантна частина: case ® <ідентифікатор> ® of ® <альтернатива (через;)> ® (;) 5) дискримінант: <ідентифікатор> ® (:)® <ідентифікатор типу> 6) альтернатива: <константа (через,)> ® (:)® <список полів> ® Приклад. За допомогою типу ЗАПИСИ ввести список студентів і оцінити їх (3, 4, 5). Визначити кількість студентів, які мають “5”. Скласти програму і отримати результат. Program Vedomost (input, onput); var spisok:Record FAM: string [20]; BAL: integer end; SUM, N, i: integer; begin sum:= 0; writeln (’Ввести кількість студентів N = ’); read (N); writeln (’Ввести прізвища та оцінки ’); for i: = to N do begin readln(spisok. FAM); read(spisok. BAL); if spisok. BAL = 5 then sum: = sum + 1; end; writeln (’Кількість відмінників ’, sum: 3) end. Завдання: Виконати на комп’ютері програму опрацювання символьних даних відповідно до варіанту вказаного в табл. 35. Таблиця 35
Закінчення табл. 35
Дата добавления: 2015-05-24; Просмотров: 383; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |