
- •Мета Виконання лабораторних робіт
- •Порядок виконання лабораторних робіт
- •Вимоги до оформлення звітів про виконання лабораторних робіт
- •Лабораторна робота № 1
- •Порядок виконання лабораторної роботи:
- •Код програми мовою с
- •Лабораторна робота № 2 Дослідження роботи стандартних функцій вводу-виводу
- •Варіанти індивідуальних завдань
- •Короткі теоретичні відомості
- •Приклад виконання лабораторної роботи
- •Граф-схема алгоритму програми
- •Код програми мовою с
- •Розробка тестового прикладу
- •Результати виконання програми
- •Контрольні запитання
- •Лабораторна робота № 3 Дослідження виконання операції та обчислення виразів мови c. Перетворення та приведення типів даних
- •Варіанти індивідуальних завдань.
- •Короткі теоретичні відомості
- •Пріоритети операцій мови Сі
- •Приклад виконання лабораторної роботи
- •Граф-схема алгоритму програми
- •Код програми мовою с
- •Тестовий приклад
- •Результати виконання
- •Контрольні запитання
- •Лабораторна робота № 4 Програмування задач на розгалуження за допомогою множини операторів мови с.
- •Варіанти індивідуальних завдань
- •Короткі теоретичні відомості.
- •If (логічний вираз) оператор1; else оператор2;
- •Приклад виконання лабораторної роботи
- •Граф-схема алгоритму програми
- •К од програми мовою с
- •Тестовий приклад
- •Результати виконання
- •Контрольні запитання
- •Лабораторна робота № 5 Програмування задач з використанням циклічних алгоритмів за допомогою множини операторів мови с.
- •Варіанти індивідуальних завдань.
- •Короткі теоретичні відомості
- •Приклад виконання лабораторної роботи
- •Граф-схема алгоритму програми
- •Вивід на екран нуля Код програми мовою с
- •Тестовий приклад
- •Результати виконання
- •Контрольні запитаня
- •Лабораторна робота № 6 Розробка програм з використанням функцій.
- •Варіанти індивідуальних завдань
- •Короткі теоретичні відомості
- •Приклад виконання лабораторної роботи
- •Граф-схема алгоритму програми
- •Код програми мовою с
- •Тестовий приклад
- •Результати виконання
- •Контрольні запитання:
- •Лабораторна робота № 7 Програмування задач з використанням масивів даних.
- •Варіанти індивідуальних завдань
- •Короткі теоретичні відомості
- •Приклад виконання лабораторної роботи
- •Граф-схема алгоритму програми
- •К од програми мовою с
- •Тестовий приклад
- •Результати виконання
- •Контрольні запитання
- •Лабораторна робота № 8 Опрацювання рядків тексту.
- •Варіанти індивідуальних завдань
- •Короткі теоретичні відомості
- •Приклад виконання лабораторної роботи
- •Граф-схема алгоритму програми
- •Код програми мовою с
- •Тестовий приклад
- •Результати виконання
- •Контрольні запитання
- •Лабораторна робота № 9 Використання вказівників для роботи з масивами даних.
- •Варіанти індивідуальних завдань
- •Короткі теоретичні відомості
- •Приклад виконання лабораторної роботи
- •Граф-схема алгоритму програми
- •Код програми мовою с
- •Тестовий приклад
- •Результати виконання
- •Контрольні запитання
- •Лабораторна робота № 10 Програмування задач на використання структур даних.
- •Варіанти індивідуальних завдань
- •Короткі теоретичні відомості
- •Приклад виконання лабораторної роботи
- •Код програми мовою с
- •Тестовий приклад
- •Результати виконання
- •Контрольні запитання
- •Лабораторна робота № 11 Динамічні структури даних
- •Варіанти індивідуальних завдань
- •Короткі теоретичні відомості
- •Приклад виконання лабораторної роботи
- •Код програми мовою с
- •Тестовий приклад
- •Результати виконання
- •Контрольні запитання
- •Лабораторна робота № 12 Робота з дисковими файлами
- •Варіанти індивідуальних завдань
- •Короткі теоретичні відомості
- •Приклад виконання лабораторної роботи
- •Граф-схема алгоритму програми
- •Тестовий приклад
- •Результати виконання
- •Контрольні запитання
- •Література для самостійної роботи
- •Додаток а
- •Додаток б
- •Додаток в Функції стандартної бібліотеки для перетворення
- •Додаток г Функції стандартної бібліотеки роботи
- •Додаток д
- •Додаток е
Короткі теоретичні відомості
В мові С всі операції вводу-виводу, в тому числі з файлів та у файли, виконуються за допомогою потоків. Функції для роботи з потоками вводу-виводу містяться у файлі заголовків stdio.h. Для початку роботи з файлом необхідно створити відповідний потік і явно асоціювати його з конкретним файлом на диску.
FILE *infile, *outfile;
Процес у результаті якого створюється потік ввводу чи виводу, який асоційований з файлом називається відкриванням файлу. Для цього використовується бібліотечна функція fopen(), наприклад:
f1 = fopen(“шлях до файла”,”режим доступу”);
де f1 – вказівник на потік типу FILE, режим доступу вказує на режим відкривання файлу: b – файл двійковий; t – текстовий; w – файл відкривається для запису, якщо файлу не існує, то він створюється, якщо існує – то його вміст очищається; r - файл відкривається тільки для читання; a - файл відкривається для додавання даних у кінець файлу. Наприклад, f1=fopen(“d:/student/data.txt”,”tw”);
Запис або читання даних з файлу здійснюють трьома способами: за допомогою форматованого вводу-виводу, символьного вводу-виводу та блочного вводу-виводу. Для кожного із способів є свій набір функцій.
Форматований ввід вивід – використовується для роботи з даними, які організовані специфічним чином. Форматований вивід здійснюється функцією fprintf(), а ввід - fscanf(). Формати цих функцій наступні:
fprintf(потік, „рядок формату”, об’єкт1...об’єктN);
fscanf(потік, „рядок формату”, &об’єкт1...&об’єктN);
Наприклад, fprintf(f1, „x=%d y=%f\n”, x1[i], yw[i]); - запис у файл елементів масивів x1 та yw, fscanf(f2, „%s%f”, &name,&price); - читання з файлу.
Крім цих функцій вводу-виводу в мові С є функції запису і читання символів, блоків даних тощо. Функції для роботи з файлами приведено в додатку Д.
Приклад виконання лабораторної роботи
Постановка задачі. Написати програму, яка знаходить суму квадратів від’ємних елементів масиву. Вхідний масив програма повинна прочитати з файлу. Результат опрацювання масиву потрібно вивести у інший файл.
Граф-схема алгоритму програми
Блок 1 – початок алгоритму
Блок 2 – ввід елементів масиву із файла на диску
Блоки 3-8 – сортування елементів списку
Блок 9 – вивід елементів відсортованого масиву у файл і на екран
Блок 10 – закінчення алгоритму
К
од
програми мовою С
#include <stdio.h>
#include <stdlib.h>
#define n 9
int main(int argc, char *argv[])
{
FILE *infile,*outfile;
int i,mas[n],a,symkv,elem;
p
puts("Laboratorna robota 11\n\n\n\n");
puts("Press any key to continue");
if((infile=fopen("d:/wer.txt","r"))==NULL)
puts("Fail ne vdalosya vidkrutu!");
outfile=fopen("d:/werr.txt","w");
for(i=0;i<n;i++)
{fscanf(infile,"%d",&a);
mas[i]=a;
printf("%d-element masuvy %d\n",i,mas[i]);
}
symkv=0;
for(i=0;i<n;i++)
if(mas[i]<0)
symkv=symkv+mas[i]* mas[i];
printf("\n Syama kvadrativ vidjemnux elementiv = %d",symkv);
fprintf(outfile,"\n Syama kvadrativ vidjemnux elementiv = %d",symkv);
fclose(infile);
fclose(outfile);
puts("\n\n\n");
puts("Programa zavershyla robotu");
system("PAUSE");
return 0;
}