- •З дисципліни “Системне програмування”
- •Мета виконання лабораторно-практичних робіт
- •Порядок виконання лабораторно-практичних робіт
- •Оформлення звітів про виконання лабораторно-практичних робіт
- •Лабораторна робота № 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 Прочитати умову задачі індивідуального завдання, записати дані у файл за допомогою функції fwrite(). Закрити файл для запису.
3 Відкрити файл для читання і записані дані прочитати з файлу функцією fread() в змінні або масиви, результат вивести на екран.
4 Відкомпілювати програму, виправити помилки і виконати її. Закінчивши роботу з файлом, закрити його функцією fclose();
6 Приклад розв’язку завдання
Задати при описі 2 масиви розмірністю 4, елементами якого є дійсні та цілі числа. Використовуючи функції блочного вводу-виводу сформувати двійковий файл із елементів заданих масивів і прочитати 5 значень з сформованого файлу в змінні, які вивести на екран. Передбачити повідомлення про помилки при відкритті і закритті файлу, а також при використанні функцій блочного вводу-виводу.
Текст програми:
#include <stdio.h>
#include <stdlib.h>
#include<conio.h>
void main () {
clrscr();
int k;
int i, array1[4]={1,4,5,6}, a1,a2,a3,a4;
float array2[4]={6.7,8.9,4.5,3},a5;
FILE *fp; /* Відкриття файлу для запису в двійковому режимі */
fp=fopen("C:\\work\\list.txt", "wb");
k=fwrite(array1, sizeof(int), 4, fp); /* Запис масивів у файл */
if (k != 4) {printf("Помилка запису"); exit(1);}
k=fwrite(array2, sizeof(float), 4, fp) ;
if (k!= 4) {printf("Помилка запису"); exit(2);}
fclose(fp);
/* Відкриття файлу для читання в двійковому режимі */
fp=fopen("("C:\\ work \\list.txt", "rb"");
/* Зчитування даних в змінні a1,a2,a3,a4,a5*/
k=fwrite(&a1, sizeof(int), 1, fp);
if (k!= 1) {printf("Помилка запису"); exit(3);}
k=fwrite(&a2, sizeof(int), 1, fp);
if (k!= 1) {printf("Помилка запису"); exit(4);}
k=fwrite(&a3, sizeof(int), 1, fp) ;
if (k!= 1) {printf("Помилка запису");exit(5);}
k=fwrite(&a4, sizeof(int), 1, fp) ;
if (k!= 1) {printf("Помилка запису");exit(6);}
k=fwrite(&a5, sizeof(float), 1, fp) ;
if (k!= 1) {printf("Помилка запису");exit(7);}
fclose(fp);
/* Вивід прочитаних змінних на екран*/
printf("a1= %d\t a2= %d\t a3= %d\t a4= %d\t a5= %f\n ", a1,a2,a3,a4,a5); }
7 Питання вихідного контролю
1 Яку інформацію необхідно передати в функцію fwrite()?
2 Скільки аргументів має функція fread()?
3 Що повертає функція fwrite().?
4 Що повертає функція fread()?
5 Яку інформацію треба передати в функцію fopen() для відкриття файлу?
Список рекомендованої літератури
Громов Ю.Ю., Татаренко С.И. Программирование на языке Си: Учебное пособие. - Тамбов, 1995. - 169с.
Подбельский В.В., Фомин С.С., Программирование на языке Си. М.: Финансы и статистика, 1999. .– 600с.
Керниган Б.В., Ричи Д.М. Язык программирования Си. \Пер. с англ., 3-е изд., испр.- СПб.:“Невский Диалект”, 2001. – 352с.
Бредли Л. Джонс, Питер Єйткен, Освой самостоятельно С за 21 день, 6-е изд.: Пер. З англ. — М.: Издательский дом "Вильямс", 2003.- 800с
Культин Н., С/C++ в задачах и примерах. Санк-Петербург: "БХВ Петербург", 2004.
Павловская Т.А., С/C++ Програмирование на языке высокого уровня. : М.:, 2009.-460 с.
Бірюльов К.Ю., Дещинський Ю.Л., Селемонавічус А.А., Хавалко В.М., Худий А.М., Якимів Ю.Б. Методичний посібник «Конспект лекцій з дисципліни Системне програмування».: Львів, 2005. – 149с.
Шпак З.Я. Програмування мовою С. – Львів, “Оріяна-Нова”, 2006. – 431 с.