Лекция: Програмування з використанням множин

Мета роботи. Познайомити з поняттям «множина» у мові програмування Pascal; виробити навички роботи зі структурою даних множина.

Під множиною розуміють обмежений, неупорядкований набір різних елементів одного типу. На відміну від масивів до елементів множини немає прямого доступу (по індексах цих елементів, як у масивах). Тому введення-вивод множин роблять з використанням операцій об'єднання (при введенні) і перевірки належності (при виводі). Під потужністю множини розуміють кількість елементів, що містяться в даній множині.

Перед виконанням роботи необхідно ознайомиться з правилами опису і використання змінних типу множина, типізованих констант типу множина, змінних, заданих перерахуванням, вивчити припустимі операції над змінними цих типів.

Приклад. Визначити яких букв в тексті більше — голосних чи приголосних?
Етапи рішення задачі: 1. Складемо блок схему програми

Опишемо докладніше блок «Підраховуємо кількість голосних і згодних букв»

Розглянемо блок «Друкуємо відповідне повідомлення»

2. Переведемо алгоритм на мову Паскаль

program example8; const glasn=['а','е','и','о','у','і','є','ю','я']; soglas=['б','в','г','д','ж','з','й','л','м','н','р','к','п','с','т','ф','х','ц','ч','ш','щ']; var st: string; g,s,i:integer; begin write('Уведіть рядок> '); readln(st); g:=0; s:=0; for i:= 1to length(st) doif st[I] in glasn then inc(g) else if st[i] in soglas then inc(s); if g> s then writeln('Голосних більше') else if g< s then writeln('Приголосних більше') else writeln(‘Приголосних і голосних букв нарівно');end.

Контрольні питання

1. Що така множина, як вона описується в мові Pascal?

2. Як визначити новий тип даних з використанням перерахування?

3. Як описуються типізовані константи типу множина?

4. Як здійснюється введення-виведення значень змінних типу множина?

5. Які типи даних використовуються в якості базових при оголошенні типу множина?

6. Які операції визначені над множинами?

7. Які операції припустимі над змінним, заданим перерахуванням?

8. Чим схожі і чим відрізняються множина і масиви?

9. Яке значення у виражень: а) x in [x]; б) [ ] <= [x,y,z]; в) [x]<>[x,x,x]

Задачі

Дано текст із рядкових латинських букв, за яким стоїть крапка.

1. Надрукувати перші входження букв у текст, зберігаючи їх взаємний початковий порядок.

2. Надрукувати усі букви, що входять у текст не менш двох разів;

3. Надрукувати усі букви, що входять у текст по одному разу.

Дано непорожню послідовність слів з рядкових українських букв; між сусідніми словами — кома, за останнім словом — крапка. Примітка: Голосні букви — а, е,і, о, у, и,є, ю, я; приголосні — всі інші букви, крім ь; дзвінкі приголосні — б, в, м, д, ж, з, й, л, м, н, р; глухі приголосні — к, п, з, т, ф, х, ц, ч, ш, щ.

4. Надрукувати за абеткою усі голосні букви, що входять у кожне слово; усі приголосні букви, що не входять у жодне слово.

5. Надрукувати усі дзвінкі приголосні букви, що входять хоча б в одне слово; усі глухі приголосні букви, що не входять в жодне слово.

6. Надрукувати усі приголосні букви, що входять тільки в одне слово; усі глухі приголосні букви, що не входять в жодне слово.

7. Надрукувати усі дзвінкі приголосні букви, що входять більш ніж в одне слово; усі голосні букви, що входять більш ніж в одне слово.

8. Надрукувати усі дзвінкі приголосні букви, що входять у кожне непарне слово і не входять у жодне парне слово; усі глухі приголосні букви, що входять у кожне непарне слово і не входять хоча б в одне парне слово.

9. Маються три множини символьного типу, що задані своїми конструкторами: Y1=['A','B','D','R','H'] Y2=['R','A','H','D'] Y3=['A','R']. Сформувати нову множину.

10. Підрахувати загальну кількість цифр і знаків '+', що входять у рядок s.

11. Підрахувати кількість різних (значущих) цифр у десятковому записі натурального числа n і надрукувати в зростаючому порядку всі цифри, що не входять у десятковий запис натурального числа n.

12. Дано текст, що є українськими словами. Виконати поділ кожного його слова на частині для переносу.

13. Написати програму роздачі карт при грі в дурня, кількість гравців задається з клавіатури.

14. Для довільної символьної множини згенерувати всі підмножини.

 

еще рефераты
Еще работы по информатике