
- •З дисципліни “Системне програмування”
- •Мета виконання лабораторно-практичних робіт
- •Порядок виконання лабораторно-практичних робіт
- •Оформлення звітів про виконання лабораторно-практичних робіт
- •Лабораторна робота № 1
- •1 Короткі теоретичні відомості
- •2 Постановка завдання
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Приклад виконання лабораторної роботи
- •6 Порядок виконання лабораторної роботи
- •7 Контрольні запитання
- •Лабораторна робота № 2
- •1 Короткі теоретичні відомості Умовний оператор if. Уморвний оператор – це оператор, який виконується в залежності від виконання деякої умови.
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Контрольні запитання
- •Лабораторна робота № 3
- •Оператор циклу while. Цикл while – це ітераційний цикл із передумовою. Це оператор циклу, який працює до тих пір, поки деяка умова буде істинною.
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •Int array[a];
- •Int array[12];
- •Int array[a];
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 5
- •1 Короткі теоретичні відомості
- •2 Індивідуальні завдання
- •3 Методичні вказівки
- •4 Контрольні запитання
- •Лабораторна робота № 6
- •1 Короткі теоретичні відомості
- •2 Індивідуальні завдання
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 7
- •1 Короткі теоретичні відомості
- •Void func( ) /*нічого не повертає*/
- •2 Варіанти індивідуальних завдань:
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 8
- •1 Короткі теоретичні відомості
- •2 Постановка завдання.
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Приклад виконання лабораторної роботи
- •6 Контрольні запитання
- •Лабораторна робота № 9
- •1 Короткі теоретичні відомості
- •Int putchar(int c);
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Контрольні запитання
- •Лабораторна робота № 10
- •1 Короткі теоретичні відомості
- •Int strcmp(const chart *str1, const chart *str2);
- •2. Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 11
- •1 Короткі теоретичні відомості
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Контрольні запитання
- •Лабораторна робота № 12
- •1 Короткі теоретичні відомості
- •2 Постановка задачі
- •3 Варіанти індивідуальних завдань
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 13
- •1 Короткі теоретичні відомості
- •2 Завдання практичної роботи
- •3 Варіанти індивідуальних завдань
- •4 Методичні вказівки
- •5 Приклад виконання лабораторної роботи
- •6 Контрольні запитання
- •Лабораторна робота № 14
- •1 Короткі теоретичні відомості
- •2. Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Контрольні запитання
- •Лабораторна робота № 15
- •1 Короткі теоретичні відомості
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •Програма розв'язку
- •5 Контрольні запитання
- •Лабораторна робота № 16
- •1 Короткі теоретичні відомості
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 17
- •1 Короткі теоретичні відомості
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Приклад виконання лабораторної роботи
- •5 Контрольні запитання
- •Лабораторна робота № 18
- •1. Короткі теоретичні відомості
- •2 Завдання практичної роботи:
- •3 Варіанти індивідуальних завдань:
- •4 Методичні вказівки
- •5 Приклад виконання лабораторної роботи
- •Програма розв'язку
- •6 Контрольні запитання
- •Практична робота № 1
- •1 Короткі теоретичні відомості
- •Оператор виконує наступні дії:
- •Приклад: Написати програму, яка виводить на екран числа від 1 до 7.
- •Оператор виконує наступні дії:
- •Приклад: Вивести на екран додатні числа менші від 10.
- •Void main()
- •Оператор виконує наступні дії:
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Контрольні запитання
- •Практична робота № 2
- •1 Короткі теоретичні відомості
- •Int array[a];
- •Int array[12];
- •Int array[a];
- •2 Постановка завдання
- •3 Методичні вказівки
- •4 Приклад виконання практичної роботи Завдання
- •Програма розв'язку
- •5 Контрольні запитання
- •Практична робота № 3
- •1 Короткі теоретичні відомості
- •Void func( ) /*нічого не повертає*/
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Приклад виконання практичної роботи
- •5 Контрольні запитання
- •Практична робота № 4
- •1 Короткі теоретичні відомості
- •2 Постановка завдання
- •3 Варіанти індивідуальних завдань
- •Тема: Використання функцій прямого доступу до даних у файлах
- •2 Варіанти індивідуальних завдань
- •3 Методичні вказівки
- •4 Контрольні запитання
- •Список рекомендованої літератури
4 Методичні вказівки
Описати і задати масив згідно умови задачі індивідуального завдання, описати змінні, тип яких співпадає з типом елементів заданого масиву.
Відкрити в двійковому режимі файл для запису елементів масиву і передбачити повідомлення про його успішне чи не успішне відкриття..
За допомогою функції fwrite() заданий масив записати у відкритий файл. Передбачити перевірку на правильність запису масиву в файл.
Закрити файл за допомогою функції fclose().
Відкрити в двійковому режимі файл для читання, передбачивши повідомлення про його успішне чи не успішне відкриття.
Використовуючи функції прямого (довільного доступу) до даних у файлі, (fseek(), rewind((),і ftell() ) встановити положення вказівника у файлі. на відповідні елементи масиву, задані згідно умови задачі індивідуального завдання.
Прочитати ці елементи масиву в описані змінні використовуючи функцію fread( ), значення яких вивести на екран.
5 Приклад виконання лабораторної роботи
Структура "Студент":
прізвище, ім'я, по батькові; дата народження; домашня адреса; рейтинг.
прочитати з масиву в змінні 3-і 1 поле 1-го елементу масиву. Значення полів вивести на екран.
Програма розв'язку
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
FILE *fp;
struct stydent { char pib[30]; char d[11]; char ad[15]; float r;
}st[5]={{"Rybaha Zorjana Igorivna","12.07.1991","Pumonenka 5/8",3.89},
{"Skip Natalija Andriivna","3.11.1992","Melnyka 45", 3.25},
{"Sunjakevuch Roman Romanovuch","8.08.1992","Rjashivska 34/6",4.37},
{"Golovko Bogdan Igorovuch","3.07.1992","Korotka 5/8",4.32},
{"Savuch Taras Andrijovuch","27.09.1992",3.89}};
char A[15],B[30];
int k,m;
void main() { clrscr();
fp=fopen("C:\\B.TXT","wb");
if(fp==NULL) { printf("not open wb"); exit(1); }
k=fwrite(st,sizeof(struct stydent),5,fp);
if(k!=5) { printf("not write"); exit(2); }
k=fclose(fp);
if(k==-1) { printf("not close"); exit(3); }
fp=fopen("C:\\B.TXT","rb");
if(fp==NULL) { printf("not open"); exit(4); }
m=30+11;
fseek(fp,m,0);
k=fread(A,sizeof(char),15,fp);
if(k!=15) { printf("not read"); exit(5); }
rewind(fp);
k=fread(B,sizeof(char),30,fp);
if(k!=30) { printf("not read"); exit(6); }
k=fclose(fp);
if(k==-1) { printf("not close"); exit(7); }
puts(A);
puts(B);
}
Результати:
Pumonenka 5/8
Rybaha Zorjana Igorivna
6 Контрольні запитання
Яка функція встановлює вказівник на початок файлу?
Що таке прямий доступ до файлу?
Який прототип функції ftell()..?
Який прототип функції fseek() і що вона повертає?
Яку інформацію треба передати в функцію fopen()для відкриття файлу на диску?
Практична робота № 1
Тема: Складання програм з використанням основних операторів мови С
Мета: Навчитись розробляти алгоритми розв'язку задач, що потребують розгалужених та циклічних обчислень та записувати програми їх реалізації.
1 Короткі теоретичні відомості
Оператор вибору варіантів . Це оператор switch. Це найбільш гнучкий керуючий оператор. Можна виконувати різні блоки програми, в залежності від значень деякого виразу і цих значень може бути більше двох.
Синтаксис оператора switch.
switch (вираз)
{
case шаблон1: оператор(и);
case шаблон2: оператор(и);
…
case шаблонn: оператор(и);
default: оператор(и);
}
Вираз повинен приймати цілочисельне значення типу int, long або char. Обчислений вираз порівнюється з шаблонами константами, які задані після ключового слова case . Потім виконується одна з наступних операцій
Якщо значення виразу співпало з одним із заданих шаблонів, то виконується оператори, які стоять після відповідної мітки case .
Якщо значення виразу не співпало ні з одним із заданих шаблонів, то виконується оператори, які стоять після ключового слова default. Наявність його в операторі не обов’язкова.
Якщо значення виразу не співпало ні з одним із заданих шаблонів і відсутній блок default, то виконується оператори, які стоять після дужок блоку switch .
При зустрічі оператора break управління передається в кінець оператора switch .
Програма розгалужується в залежності від значення виразу. ((вираз)). Оператор switch обчислює (вираз) і передає управління на мітку case , шаблонне значення якої співпало зі значенням виразу Якщо вираз не приймає ні одного шаблонного значення, то управління передається оператору default: Якщо немає цього оператора, то управління передається оператору, який слідує за switch .
Оператор управління break. Оператор break може знаходитися в операторі switch. Як тільки він зустрічається в switch, виконання switch припиняється. Управління передається оператору, який стоїть після оператора switch.
Приклад:
switch (вираз)
{
case шаблон1: оператор(и); break;
case шаблон2: оператор(и); break;
…
case шаблон_n: оператор(и); break;
default: оператор(и);
}
Оператор циклу for. Цей оператор (або блок операторів) виконується визначене число раз.
Синтаксис оператора for:
for (ініціалізація; умова; приріст) {Оператор або блок операторів;}
Схематичне представлення оператора for