Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка С#.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
1.13 Mб
Скачать

Придбання і закріплення практичних навичок у використанні файлового введення/виводу при складанні програми мовою с.

Завдання

1. В лабораторній роботі необхідно розробити програму розв’язання задачі з використанням функцій файлового введення/виводу. Варіанти завдань надано в додатку 13. Номер варіанта призначається викладачем.

2. Налагодити програму.

3. Скласти звіт про роботу.

Вказівки до виконання завдання

У тих випадках, коли програма обробляє досить великий обсяг даних, останні звичайно організуються та зберігаються поза оперативною пам'яттю ЕОМ. Найбільш ефективним пристроєм для організації зовнішнього зберігання даних є диски. Перш ніж читати або записувати інформацію у файл, треба відкрити його за допомогою стандартної бібліотечної функції fopen(). Програма, що використає цю функцію, повинна включати під час компіляції системний файл stdio.h, у якому визначений новий тип даних - FILE.

FILE *in, *out; опис покажчиків на файли.

Відкриття файла з указанням імені і типу використання:

in=fopen("name1.dat","r") r для читання;

out=fopen("name2.res","w") w – для запису, a – для додавання.

fclose(in); fclose(out);  функція закриття файлів.

Для введення даних з файла застосовують функцію fscanf(), для виведення fprintf():

fscanf (покажчик, "формат введення", адреса змінної).

fprintf (покажчик," текстова частина і формати виводу", змінні виводу);  друк у файл

Приклад: Напишіть програму, що обчислює середнє арифметичне 10 чисел, записаних у файлі вхідних даних. Друк результату в файл.

#include <stdio.h>

#define N 10

int main ()

{

int i;

float A[N], max;

FILE *in,*out;

/* відкриття файла вхідних даних. */

in = fopen(“dan.dat”,”r”); for (i=0; i<N ;i++)

{

fscanf(in,“%f”.&A[i]); /*Введення даних із файла*/

printf(“%.2f ”, A[i]); /*Вивід вхідних даних на екран */

}

fclose(in); /* закриття файла вхідних даних. */

/*ініціалізація змінної max 1-м елементом масиву*/

max=A[0];

for (i=0; i<N ;i++)

{

if(A[i]>max) /*якщо умова дійсна, то max присвоюється A[i] */

max=A[i];

}

printf(“Максимальне значення %.2f”,max);

/* відкриття файла вихідних даних. */

out = fopen(“max.rez”,”w”);

/*Запис результату в файл вихідних даних */

fprintf(out,“Максимальне значення %.2f”,max);

fclose(out); /* закриття файла вихідних даних. */

return(0);

}

Коментарі до програми: перед складанням програми створюємо файл вхідних даних. Для цього в текстовому редакторі записуємо дані і зберігаємо файл під відповідною назвою (dan.dat), котру будемо використовувати у функції відкриття файла. Вихідний файл для запису результату створюється автоматично (max.rez). У програмі вводимо масив чисел за допомогою цикла for та ініціалізуємо зміну max 1-м елементом масиву A[0]. Потім у циклі перевіряємо умову (A[i]>max); якщо умова дійсна, то max присвоюється A[i] елемент, таким чином порівнюємо кожен елемент масиву і максимальне значення буде присвоєне змінній max.

Звіт про роботу повинний включати стислий опис роботи, алгоритм виконання індивідуального завдання у виді блок–схеми, текст програми і результати її виконання.