- •З дисципліни “Системне програмування”
- •Мета виконання лабораторно-практичних робіт
- •Порядок виконання лабораторно-практичних робіт
- •Оформлення звітів про виконання лабораторно-практичних робіт
- •Лабораторна робота № 1
- •1 Короткі теоретичні відомості
- •1.4 Основні типи даних. Основні типи даних наведено в таблиці.
- •1.5 Операції.
- •Int printf (фороматний рядок, [, argument, ...]);
- •2 Питання вхідного контролю
- •3 Постановка завдання
- •4 Варіанти індивідуальних завдань
- •5 Методичні вказівки
- •6 Приклад розв’язку завдання
- •7 Питання вихідного контролю
- •Лабораторна робота № 2
- •1 Короткі теоретичні відомості Умовний оператор if. Уморвний оператор – це оператор, який виконується в залежності від виконання деякої умови.
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Контрольні запитання
- •Лабораторна робота № 3
- •Оператор циклу while. Цикл while – це ітераційний цикл із передумовою. Це оператор циклу, який працює до тих пір, поки деяка умова буде істинною.
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 4
- •1 Короткі теоретичні відомості
- •1.2 Опис масивів. Ім’я масиву це звичайний ідентифікатор. Він має бути унікальним, за ним іде розмірність. Розмір масиву може бути як літеральна константа, так і символьна.
- •Int array[a];
- •Int array[12];
- •Int array[a];
- •1.5 Одновимірні масиви. Одномірні масиви. Одномірний масив має один індекс.. Індекс – це номер в квадратних дужках після імені масиву.
- •2 Питання вхідного контролю
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Приклад розв’язку завдання
- •5 Питання вихідного контролю
- •Лабораторна робота № 5
- •1 Короткі теоретичні відомості
- •2 Постановка завдання.
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Приклад виконання лабораторної роботи
- •6 Контрольні запитання
- •Лабораторна робота № 6
- •1 Короткі теоретичні відомості
- •2 Питання вхідного контролю
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Приклад розв’язку завдання
- •6 Питання вихідного контролю
- •Лабораторна робота № 7
- •1 Короткі теоретичні відомості
- •Int putchar(int c);
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Контрольні запитання
- •Лабораторна робота № 8
- •1 Короткі теоретичні відомості
- •2 Постановка задачі
- •3 Варіанти індивідуальних завдань
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 9
- •1 Короткі теоретичні відомості
- •2 Питання вхідного контролю
- •3 Постановка завдання
- •4 Варіанти індивідуальних завдань
- •5 Методичні вказівки
- •6 Приклад розв’язку завдання
- •7 Питання вихідного контролю
- •Лабораторна робота № 10
- •1 Короткі теоретичні відомості
- •2 Питання вхідного контролю
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Приклад розв’язку завдання
- •6 Питання вихідного контролю
- •Лабораторна робота № 11
- •1 Короткі теоретичні відомості
- •2 Питання вхідного контролю
- •3 Постановка завдання
- •4 Варіанти індивідуальних завдань
- •5 Методичні вказівки
- •6 Приклад розв’язку завдання
- •7 Питання вихідного контролю
- •Практична робота № 1
- •1 Короткі теоретичні відомості
- •1.1 Умовний оператор if. Уморвний оператор – це оператор, який виконується в залежності від виконання деякої умови.
- •Оператор виконує наступні дії:
- •Приклад: Написати програму, яка виводить на екран числа від 1 до 7.
- •Оператор while виконує наступні дії:
- •Приклад: Вивести на екран додатні числа менші від 10.
- •Оператор виконує наступні дії:
- •2 Питання вхідного контролю
- •3 Постановка завдання на використання оператора switch
- •4 Варіанти індивідуальних завдань на використання оператора switch
- •5 Варіанти індивідуальних завдань на оператори циклів
- •6 Методичні вказівки
- •7 Приклад розв’язку завдання
- •8 Питання вихідного контролю
- •Практична робота № 2
- •1 Короткі теоретичні відомості
- •Void func( ) /*нічого не повертає*/
- •2 Варіанти індивідуальних завдань:
- •3 Методичні вказівки
- •4 Приклад виконання практичної роботи
- •5 Контрольні запитання
- •Практична робота № 3
- •1 Короткі теоретичні відомості
- •Int putchar(int c);
- •2 Питання вхідного контролю
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Приклад розв’язку завдання
- •6 Питання вихідного контролю
- •Практична робота № 4
- •1 Короткі теоретичні відомості
- •2 Питання вхідного контролю
- •3 Постановка завдання
- •4 Варіанти індивідуальних завдань
- •5 Методичні вказівки
- •6 Приклад розв’язку завдання
- •7 Питання вихідного контролю
- •Список рекомендованої літератури
2 Питання вхідного контролю
1 Що називається динамічним розподілом пам’яті?
2 Коли виділяється динамічна пам’ять?
3 З допомогою яких функцій виділяється динамічна пам’ять?
4 З допомогою якої функції звільняється пам’ять?
5 Яка функція розширює виділену динамічну пам’ять?
3 Постановка завдання
Описати масив розмірністю 3, елементами якого є структура, задана в індивідуальному завданні. Сформувати динамічний масив і заповнити його елементами заданого масиву, вивести новий динамічний масив на екран. Звільнити виділену пам'ять за допомогою функції free().
4 Варіанти індивідуальних завдань
1 Структура "Абітурієнт": прізвище, ім'я, по батькові, рік народження, оцінки вступних іспитів (3), середній бал атестата.
2 Структура "Співробітник": прізвище, ім'я, по батькові, посада, рік народження, заробітна плата.
3 Структура "Держава": назва, столиця, чисельність населення, займана площа.
4 Структура "Людина": прізвище, ім'я, по батькові, домашня адреса, номер телефону, вік.
5 Структура "Людина": прізвище, ім'я, по батькові, рік народження, ріст.
6 Структура "Школяр": прізвище, ім'я, по батькові, клас, оцінки по предметах (математика, фізика, література).
7 Структура "Студент": прізвище, ім'я, по батькові, домашня адреса, група, рейтинг.
8 Структура "Покупець": прізвище, ім'я, по батькові, домашня адреса, номер телефону, номер кредитної картки
9 Структура "Пацієнт": прізвище, ім'я, по батькові, домашня адреса, номер медичної карти, номер страхового поліса.
10 Структура "Інформація": носій, об’єм, назва, автор.
11 Структура "Відеокасета": назва фільму, режисер, тривалість, ціна.
12 Структура "Музичний диск": назва, автор, тривалість, ціна.
13 Структура "Спортивна команда": назва, місто, кількість гравців, кількість набраних очок.
14 Структура "Стадіон":назва, адреса, місткість, види спорту.
15 Структура "Автомобіль": марка, рік випуску, ціна, колір.
16 Структура "Власник автомобіля": прізвище, ім'я, по батькові, номер автомобіля, телефон, номер техпаспорта.
5 Методичні вказівки
1 Перед написанням програми переглянути теоретичний матеріал і приклади програм, що ілюструють масиви структур. Визначити структуру, задану у варіанті. Описати і задати масив, елементами якого є структура заданого типу.
2 Сформувати динамічний масив за допомогою бібліотечних функцій malloc() (calloc()), розмір якого рівний заданому масиву структурного типу.
3 Заповнити сформований динамічний масив елементами заданого масиву.
4 Елементи сформованого масиву вивести на екран.
5Звільнити виділену пам'ять функцією free().
6 Приклад розв’язку завдання
Описати масив розмірністю 3, елементами якого є структура "Стадіон" з полями: назва, рік будівлі, кількість площадок; види спорту. Сформувати динамічний масив і заповнити його елементами заданого масиву, вивести новий динамічний масив на екран. Звільнити виділену пам'ять функцією free().
Текст програми:
#include <stdio.h>
#include <stdlib.h>
int k, m;
void main() {
struct stadion {
char nazva[20];
int rik;
int kp;
char vsporty[20];}
*ptr1, nst1[3]= {{ "UKRAINE",1970, 12, "FYTBOL"},
{ "ARENADON",1980, 10, "BOKS"},
{"DNIPRO",1990, 10, "FYTBOL"}};
/*Виділяється 3*sizeof (struct stadion) пам’яті */
ptr1= malloc(3*sizeof (struct stadion));
for (k=0; k<3; k=k+1)
{ptr1[k]=nst1[k];
printf("k=%s\t%d\t%d\t%s\n", ptr1[k].nazva, ptr1[k].rik , ptr1[k].kp ,
ptr1[k]. vsporty); }
free (ptr1);
}
Результати роботи програми
k=UKRAINE 1970 12 FYTBOL
k=ARENADON 1980 10 BOKS
k=DNIPRO 1990 10 FYTBOL
