Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторні роботи.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
432.64 Кб
Скачать

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

Тема: Покажчики на функції. Функції з довільним числом параметрів.

Мета: отримання практичних навичок у роботі з покажчиками на функції, функціями із довільним числом параметрів, аргументами функції main().

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

  1. Визначіть змінну x як масив покажчиків на функцію, яка має два параметри типу int і повертає результат типу покажчик на double.

  2. Визначіть змінну y як покажчик на масив покажчиків на функцію без параметрів, яка повертає результат типу покажчик на функцію із одним параметром типу int і результатом типу float..

  3. Як отримати доступ до аргументів, переданих у функцію з довільним числом аргументів?

  4. Як отримати доступ до аргументів, переданих у функцію main()

Завдання:

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

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

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

Тема: Структури.

Мета: отримання практичних навичок у роботі структурами, структурами з бітовими полями, об’єднаннями.

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

1. чи Вірні наступні твердження:

a) опис структури починається з ключового слова struct і містить список оголошень членів структури, ув'язнений у фігурні дужки;

b) за словом struct повинний слідувати ідентифікатор, що називається тегом структури;

c) тег структури використовується як ім'я типу при описі змінних;

d) імена членів структури можуть збігатися з іменами змінних у тій же області видимості;

e) ім'я тега структури може збігатися з іменами змінних у тій же області видимості;

f) ім'я тега структури може збігатися з іменами членів цієї структури;

g) імена членів різних структур можуть збігатися;

  1. за описом структури (після правої закриваючої фігурної дужки) обов'язково повинний слідувати список змінних;

  2. змінні x, y, z різних типів

1) struct s { int a; float f; } x, y; 2) typedef struct { int a; float f;} s;

struct s z; s x, y;

struct { int a; float f; } z;

3) struct s { int a; float f; }; 4) struct s { int a; float f; };

typedef struct s new_s; typedef struct s s1;

struct s x; new_s y, z; typedef struct s s2;

s1 x, y; s2 z;

  1. змінні x, y, z одного типу

1) struct { int a; float f; } x, y; 2) struct { int a; float f; } x, y;

struct { int a; float f; } z; struct { float f; int a; } z;

  1. для доступу до членів структури використовується операція . (крапка);

  2. структури не можуть бути вкладеними;

  3. структурну змінну при описі можна ініціювати списком константних виразів, укладеним у фігурні дужки;

2. Яким чином у Сі визначається еквівалентність типів? Яка еквівалентність типів розглядається: структурна чи іменна? Чим вони відрізняються?

3. Описати у виді структури наступні поняття:

a) дата (число, місяць, рік);

b) адреса (країна, місто, вулиця, будинок, квартира);

c) трикутник (дві сторони і кут між ними);

d) окружність (радіус і центр);

e) розклад занять студента 209 групи факультету (день тижня, предмети (із указівкою –лекції чи семінари), годинник занять, аудиторія, прізвище викладача)

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

4. Використовуючи визначений у задачі 3 тип, описати перемінну цього типу і привласнити їй значення:

a) дата – 16 листопада 2003 року;

b) адреса – Україна, Рівне, Соборна, будинок 123, кв. 34;

c) трикутник – 5, 6.7, 35;

d) коло – радіус 4.567, центр (1.4, 5.6);

e) розклад занять студента 209 групи факультету – понеділок, математичний аналіз (лекція) –1 пари, П-12, Сапіліді Т.М., математичний аналіз (семінар) – 2 пари, 706, Голіновський І.П. , програмування (лабораторна) – 3 пари, 713, Сяський В.А..

5. Що надрукує програма?

#include <stdio.h>

main()

{ struct data1 { char c[4]; char s; } d1 = { "abc", "def" };

struct data2 { char  cp; struct data1 inf; } d2 = { "ghi", { "jkl", "mno"} };

printf("d1.c[0]=%c d1.s=%c\n", d1.c[0], d1.s);

printf("d1.c=%s d1.s=%s\n", d1.c, d1.s);

printf("d2.cp=%s d2.inf.s=%s\n", d2.cp, d2.inf.s);

printf("++d2.cp=%s ++d2.inf.s=%s\n", ++d2.cp, ++d2.inf.s);

}

6. чи Вірні наступні твердження:

a) опис об'єднання починається з ключового слова union і містить список оголошень членів об'єднання, ув'язнений у фігурні дужки;

b) кожен член об'єднання розташовується в пам'яті з того самого адреси; обсяг пам'яті для кожного члена виділяється відповідно до його розміру;

c) для кожного з членів об'єднання виділяється та сама область пам'яті;

d) усі проблеми, зв'язані з вирівнюванням, вирішує компілятор;

e) у кожен момент часу об'єднання може містити значення тільки одного з його членів;

f) всі операції, застосовні до структур, застосовні і до об'єднань;

g) «неузгодженість» при роботі з активним варіантом об'єднання контролюється компілятором.

7. Чи Можна в С++ створити аналог варіантних записів Паскаля?

8. Описати тип, за допомогою якого можна організувати збереження даних про різні види транспорту: вантажівках, автобусах, легкових автомобілях і мотоциклах. Для кожного виду транспорту маються як загальні характеристики ( власник, рік виробництва і модель ), так і індивідуальні ( для вантажівок - число осей, вантажопідйомність, для автобусів - число місць для пасажирів, для легкових автомобілів - число двер ( 2 чи 4 ), для мотоциклів - тип двигуна ( двох- чи чотиритактний )).

Завдання:

  1. Оголосити масив структур Студенти. Елементи структури Студент: прізвище та ім’я студента, номер залікової книжки, масив оцінок за сесію. Визначити функції для роботи з масивом структур:

а)заповнення масиву Студенти;

б)вивід інформації про всіх студентів;

в)пошук інформації про студента по прізвищу, номеру залікової книжки;

г) вивід студентів, які не успішно здали сесію та ін.

  1. Доповнити структуру Студент варіативною частиною, яка для осіб чоловічої статі містить елементи зріст, придатність до військової служби, для осіб жіночої статі - колір очей, назву улюблених квітів та ін. Доповнити програму завд.1 додатковими функціями пошуку по різних критеріях(наприклад, пошук хлопців, які підлягають проходженню військової служби у певного роду військах, пошук дівчат, яким подобаються троянди та ін.).

Завдання для індивідуального виконання:

Варіант №1

Деякі види антилоп

Назва

Група

Місце існування

Чисельність популяції

Джейран

A

Азія

30000

Гну

B

Африка

560000

Бейза

H

Африка

2500

Групи: А - дійсні антилопи, B - коров'ячі антилопи, H - кінські антилопи

Варіант №2

Фірми - виробники СКБД

Фірма

Кількість. продуктів

Річний обсяг продажу ($)

Частина ринку (%)

Oracle

1

2488000000

31.1

IBM

3

2392000000

29.9

Microsoft

2

1048000000

13.1

Примітка: за даними Gartner Group за 1999м

Варіант №3

Відділ кадрів

Прізвище

Ініціали

Рік рожд

Ставка

Іванов

И.И.

1975

517.50

Петренко

П.П.

1956

219.10

Паніковский

М.С.

1967

300.00

Примітка: ставка встановлена за станом на 1 січня 2000 року

Варіант №4

Відомість деталей

Найменування

Тип

Кількість

Вага 1 деталі (г)

Фланець

З

3

450

Переходник

П

8

74

Станина

ПРО

1

117050

Примітка: прийнята таке кодування типів: ПРО - оригінальну, П - покупна, З - запозичена

Варіант №5

Характеристики ПЕОМ

Процесор

Частота (Mgz)

RAM (Mb)

Тип

Pentium-III

233

 

C

AMD-ДО6

166

 

C

PowerPC-620

2000

 

R

Тип: C - CISC-процесор, R - RISC-процесор

Варіант №6

Каталог бібліотеки

Автор книги

Назва

Рік випуску

Група

Сенкевич

Потоп

1978

Х

Ландау

Механіка

1989

Н

Дойль

Сумчасті

1990

C

Примітка: Х - художня література; Н - навчальна література; З - довідкова література

Варіант №7

Відомість комплектуючих

Позначення

Тип

Номінал

Кількість

RT-11-24

R

100000

12

RT-11-24

R

50000

10

CGU-12K

C

17.5

3

Примітка: R - резистор; C - конденсатор

Варіант №8

Проекти пошуку неземних сигналів

Рік

Науковий керівник

Діаметр антени (м)

Робоча частота (МГц)

1960

Дрейк

26

1420

1970

Троїцкий

14

1875

1978

Хоровиць

300

1665

Примітка: спостерігалися об'єкти від 2 зірок до декількох галактик

Варіант №9

Офісні пакети

Найменування

Виробник

Кількість склад.частин

Ціна ($)

Office

Microsoft

4

870

SmartSute

Lotus

5

1020

StarOffice

Sun

4

9

Примітка: можливо безкоштовно одержати продукт StarOffice через Internet

Варіант №10

Сільськогосподарські культури

Найменування

Тип

Посівна площа (га)

Врожайність (ц/га)

Соя

Б

13000

45

Чумиза

З

8000

17

Рис

З

25650

24

Примітка: З - зернові, Б - бобові

Варіант №11

Відомість спортивних змагань

Прізвище учасника

Код команди

Кількість балів

Місце в підсумку

Бородін

З

123.7

2

Шишков

Ш

79.98

3

Кравченко

Д

134.8

1

Примітка: Д - "Динамо", З - "Спартак", Ш - "Шахтар"

Варіант №12

Відомість громадського транспорту

Вид транспорту

№ маршруту

Довжина маршруту (км)

Час у дорозі (хв)

Тр

12

27.55

75

Т-с

17

13.6

57

А

12а

57.3

117

Примітка: Тр - трамвай, Тс - тролейбус, А - автобус

Варіант №13

Приблизна кількість зірок різних спектральних класів у Галактиці

Спектральний клас

Приблизна маса (отн.Сонця)

Частина %

Чисельність

O

32

0.00002

55000

F

1.25

2.9

12000000000

M

0.2

73.2

293000000000

Примітка: не показані дані для класів: B, A, G, K

Варіант №14

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

Назва прграммы

Кількість рядків коду

Час исп. на SGI Callenge (сек)

Час исп. на SGI Indy (сек)

OCEAN

1917

8.70

18.2

DYFESM

3386

6.95

22

TRFD

417

1.05

2.98

Примітка: SGI Callenge - ЦП R1000 196 MHz, 1.024 MB RAM SGI Indy - ЦП MIPS R4600 134 MHz, 64 MB RAM

Варіант №15

Конфігурація програмных засобів інформаційних систем

Операційна система

СУБД

Мін.обсяг зовнішньої пам'яті (MB)

Мін.обсяг оперативної пам'яті (MB

Приблизна ціна ($)

OS/2

DB2

130

22

3343

Windows/NT

SQLServer

230

24

2685

SCO/Unix

Oracle

110

48

3745

Примітка: приймалася ціна ліцензії на 8 користувачів

Варіант №16

Буддійські монастирі Японії періоду Нара

Назва

Школа

Кількість ченців

Площа землі (га)

Тодайдзи

Т

220

368.8

Якусидзи

З

50

54.7

Дайандзи

Д

10

12.2

Примітка: Т - Тэндай; З - Сингон; Д - Дзедзицу