- •З дисципліни “Системне програмування”
- •Мета виконання лабораторно-практичних робіт
- •Порядок виконання лабораторно-практичних робіт
- •Оформлення звітів про виконання лабораторно-практичних робіт
- •Лабораторна робота № 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 Питання вихідного контролю
- •Список рекомендованої літератури
5 Методичні вказівки
1 Описати і задати масив згідно умови задачі індивідуального завдання, описати змінні, тип яких співпадає з типом елементів заданого масиву.
2 Відкрити в двійковому режимі файл для запису елементів масиву і передбачити повідомлення про його успішне чи не успішне відкриття..
3 За допомогою функції fwrite() заданий масив записати у відкритий файл. Передбачити перевірку на правильність запису масиву в файл.
4 Закрити файл за допомогою функції fclose().
5 Відкрити в двійковому режимі файл для читання, передбачивши повідомлення про його успішне чи не успішне відкриття.
6 Використовуючи функції прямого доступу (fseek(), rewind(() і ftell()) встановити положення маркера у файлі на відповідні елементи і поля масиву, задані в умові задачі індивідуального завдання.
7 Прочитати ці елементи масиву в описані змінні використовуючи функцію fread( ), значення яких вивести на екран.
6 Приклад розв’язку завдання
Задати масив розмірністю 3, елементами якого є структура "Студент": прізвище, дата народження; домашня адреса; рейтинг. Елементи масиву задати при описі, шляхом присвоєння її значень або шляхом введення їх з клавіатури. Сформувати двійковий файл із елементів масиву структур і прочитати з нього в змінні 3-е і 1-е поля 2-го елементу масиву, використовуючи функції блочного вводу-виводу. Передбачити повідомлення про помилки при відкритті і закритті файлу, а також при блочному вводі-виводі.Значення полів вивести на екран.
Текст програми на мові С
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
FILE *fp;
struct stydent
{ char pr[30];
char data[20];
char ad[30];
int r;} st[5]={{"Rybaha ","12.07.1991","Pumonenka 5/8",34},
{"Skip ","3.11.1992","Melnyka 45", 25},
{"Sunjakevuch ","8.08.1992","Rjashivska 34/6",47}};
char A[30],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),3 ,fp);
if(k!=3) { 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= sizeof(struct stydent)+50*sizeof(char);
fseek(fp,m,0);
k=fread(A,sizeof(char),30,fp); /* Читання 3-го поля */
if(k!=30) { printf("not read"); exit(5); }
m= sizeof(struct stydent)
fseek(fp,m,0);
k=fread(B,sizeof(char),30,fp); /* Читання 1-го поля */
if(k!=30) { printf("not read"); exit(6); }
k=fclose(fp);
if(k==-1) { printf("not close"); exit(7); }
puts(A);
puts(B);
}
Результат:
Melnyka 45 - 3-е поле
Skip - 1-е поле
7 Питання вихідного контролю
1 Який прототип функції fseek()?
2 Що повертає функція fseek() при успішному завершенні і при помилці?
3 Який прототип функції ftell().і що вона повертає.?
4 Що є аргументом функції rewind()?
5 Що повертає функція fopen() при відкритті файлу?
Практична робота № 1
Тема: Складання програм з використанням основних операторів мови С
Мета: Навчитись розробляти алгоритми розв'язку задач, що потребують розгалужених та циклічних обчислень та записувати програми їх реалізації.
