Тема: Структури. Структури з бітовими полями. Вкладені структури. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Тема: Структури. Структури з бітовими полями. Вкладені структури.



:

Мета: Формування вмінь і навичок опрацювання структур, структур з бітовими полями та вкладених структур. Закріплення вмінь та навичок створення функцій.

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

1. Тип структури. Оголошення структури, змінних типу структури. Ініціалізація.

2. Навести приклад оголошення та ініціалізації структури.

3. Який розмір має змінна типу структури?

4. Способи доступу до елемента структури.

5. Створення динамічних структур. Приклади.

6. Як структури передаються у функцію по замовчуванню?

7. Як правильно описати формальний параметр функції, яка повинна змінювати поля структури? Відповідь пояснити.

8. Як бажано описати формальний параметр функції, яка не повинна змінювати поля структури? Відповідь пояснити.

9. Чи можуть бути результатами функцій структури? вказівники на структури? посилання на структури?

10. Структури з бітовими полями. Оголошення та ініціалізація.

11. Вкладені структури. Способи оголошення Наведіть приклади.

12. Доступ до елементів вкладених структур.

 

Завдання 1. Створити програму.

Вимоги до виконання завдання:

  • Оголосити структуру вказаного типу.
  • Написати функції для введення даних у структуру та виведення на екран.
  • Написати функцію згідно завдання.
  • Функції повинні отримувати параметр(и) типу вказаної структури (Drib, Vector чи ін. ) і при необхідності повертати результат такого ж типу.

 

Варіанти:

1) Оголосити тип структури Drib для збереження звичайного дробу. Написати та протестувати функції для додавання та віднімання двох звичайних дробів.

2) Оголосити тип структури Complex для збереження комплексного числа. Написати та протестувати функції для додавання та віднімання двох комплексних чисел.

3) Оголосити тип структури Vector для збереження координат вектора на площині. Написати та протестувати функції для перевірки двох векторів на перпендикулярність та колінеарність..

4) Оголосити тип структури Point для збереження координат точки у просторі.. Написати та протестувати функції для отримання відстані між двома точками та відстані від точки до початку координат.

5) Оголосити тип структури Vector для збереження координат вектора на площині. Написати та протестувати функції для додавання двох векторів та множення вектора на скаляр.

6) Оголосити тип структури Drib для збереження звичайного дробу. Написати та протестувати функції для множення та ділення двох звичайних дробів.

7) Оголосити тип структури Complex для збереження комплексного числа. Написати та протестувати функції для множення двох комплексних чисел та множення комплексного числа на дійсне число.

8) Оголосити тип структури Vector для збереження координат вектора на площині. Написати та протестувати функції для обчислення скалярного та векторного добутку двох векторів.

9) Оголосити тип структури Complex для збереження комплексного числа. Написати та протестувати функції для ділення двох комплексних чисел та ділення комплексного числа на дійсне.

10) Оголосити тип структури Point для збереження координат точки на площині. Написати та протестувати функції для отримання відстані між двома точками та обчислення довжини діагоналі прямокутника, заданого координатами своїх вершин.

11) Оголосити тип структури Complex для збереження комплексного числа. Написати та протестувати функції для ділення двох комплексних чисел та обчислення модуля комплексного числа.

12) Оголосити тип структури Circle для збереження координат центра кола та радіусу. Написати та протестувати функцію для отримання відстані між центрами двох кіл та логічну функцію, яка перевіряє чи два кола дотикаються.

13) Оголосити тип структури Point для збереження координат точки на площині. Написати та протестувати функції для отримання точки, симетричної заданій відносно початку координат, відносно осей Ox та Oy.

14) Оголосити тип структури Circle для збереження координат центра кола та радіусу. Написати та протестувати функцію для отримання відстані між центрами двох кіл та логічну функцію, яка перевіряє чи два кола перетинаються.

15) Оголосити тип структури Vector для збереження координат вектора у просторі. Написати та протестувати функції для перевірки двох векторів на перпендикулярність та колінеарність.

Завдання 2. Створити програму.

Вимоги до виконання завдання:

  • Оголосити структуру вказаного типу з бітовими полями.
  • Написати функції для введення даних у структуру та виведення на екран.
  • Написати функцію згідно завдання.

Варіанти:

1) Написати програму, яка реалізує збереження у структурі з бітовими полями дати(день, місяць, рік). Написати функцію порівняння двох дат. Функція повинна повертати 0 у випадку співпадіння двох дат, 1 – якщо перша дата більша другої, та -1 - у протилежному випадку.

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

3) Написати програму, яка реалізує збереження у структурі з бітовими полями дати(день, місяць, рік). Написати функцію для перевірки чи дата відповідає весняному сезону.

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

5) Написати програму, яка реалізує збереження у структурі з бітовими полями результатів заліків з кількох предметів. Написати функцію для перевірки чи студент успішно здав усі заліки.

6) Написати програму, яка реалізує збереження у структурі з бітовими полями часу(години, хвилини, секунди). Написати функцію для перевірки чи час є часом до полудня.

7) Написати програму, яка реалізує збереження у структурі з бітовими полями дати(день, місяць, рік). Написати функцію для визначення пори року заданої дати.

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

9) Написати програму, яка реалізує збереження у структурі з бітовими полями дати(день, місяць, рік). Написати функцію для визначення кількості днів, що пройшли від початку року.

10) Написати програму, яка реалізує збереження у структурі з бітовими полями результатів екзаменів учня з кількох предметів у 12 бальній системі. Написати функцію для перевірки чи учень добре(від 7 до12 балів) здав усі екзамени.

11) Написати програму, яка реалізує збереження у структурі з бітовими полями результатів екзаменів учня з кількох предметів у 12 бальній системі. Написати функцію, яка визначає який з двох учнів краще здав екзамени.

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

13) Написати програму, яка реалізує збереження у структурі з бітовими полями часу(години, хвилини, секунди). Написати функцію обчислення часу через А секунд.

 

Завдання 3. Створити програму.

Вимоги до виконання завдання:

  • Оголосити структуру з вкладенням по вказаній тематиці.
  • Створити динамічну структуру(и).
  • Написати функції для введення даних у структуру та виведення на екран.

Варіанти:

1) Персона(ПІБ, адреса – вкладена структура)

2) Студент (Персональні дані - – вкладена структура, результати сесії)

3) Авто(Марка, модель,характеристики двигуна – вкладена структура)

4) Квартира(кімната - – вкладена структура)

5) Персона(Ім’я, Дата народження- – вкладена структура)

6) Спортсмен(Персональні дані - – вкладена структура, результати забігів)

7) Подія(Назва, дата та час - вкладена структура)

8) Працівник(ПІБ - вкладена структура, посада, дата прийому на роботу- вкладена структура)

9) Пацієнт (Персональні дані - – вкладена структура, діагноз, лікар)

10) Палітра(Назва кольору, RGB складові у %– вкладена структура).

11) Замовлення(Виробник – вкладена структура, Назва товару, кількість. Дата замовлення – вкладена структура

12) Спортсмен(ПІБ, Команда – вкладені структури).

 

Лабораторна робота № 12



Поделиться:


Последнее изменение этой страницы: 2016-04-18; просмотров: 188; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.217.116.183 (0.008 с.)