- •Лабораторні роботи з курсу "Інформатика"
- •Лабораторна робота № 1. Тема роботи: Базові типи даних. Консольне введення/виведення
- •Типи даних. Базовими (фундаментальними, вбудованими) типами даних мови с є такі:
- •1.2 Індивідуальні завдання
- •1.3 Контрольні запитання
- •Лабораторна робота № 2. Тема роботи: Програмування структур, що розгалужуються
- •2.1 Теоретичні відомості
- •If (вираз) оператор1;
- •If (вираз) оператор;
- •2.2 Індивідуальні завдання
- •Лабораторна робота № 3. Тема роботи: Програмування циклічних структур
- •3.1 Теоретичні відомості
- •3.2 Індивідуальні завдання
- •Варіанти завдань
- •Завдання 2
- •Варіанти завдань
- •3.3 Контрольні запитання
- •Лабораторна робота № 4. Тема роботи: Обробка одномірних масивів
- •4.1 Теоретичні відомості
- •4.2 Індивідуальні завдання
- •4.3 Контрольні запитання
- •Лабораторна робота № 5. Тема роботи: Робота з матрицями
- •5.1 Теоретичні відомості
- •5.2 Індивідуальні завдання
- •5.3 Контрольні запитання
- •Лабораторна робота № 6. Тема роботи: Функції
- •6.1 Теоретичні відомості
- •Double // тип результату
- •Індивідуальні завдання
- •2) Задано n масивів цілих чисел довжини n. У кожному масиві знайти суми від’ємних та додатних чисел.
- •1) Задані дійсні числа a,b. Одержати , де
- •6.2 Контрольні запитання
- •Лабораторна робота № 7. Тема роботи: Операції з рядковими змінними
- •7.1 Теоретичні відомості
- •Індивідуальні завдання
- •7.3 Контрольні запитання
- •Лабораторна робота № 8. Тема роботи: Робота з текстовими файлами
- •8.1 Теоретичні відомості
- •8.2 Індивідуальні завдання
- •8.3 Контрольні запитання
- •Лабораторна робота № 9. Тема роботи: Структури. Робота з бінарними файлами
- •9.1 Теоретичні відомості
- •Struct dinner best_one; // одна структурна змінна
- •9.2 Індивідуальні завдання
- •9.3 Контрольні запитання
- •Література
8.3 Контрольні запитання
Що таке покажчик на файл?
Стандартні потоки введення/виведення.
Функції введення/виведення.
Як відкрити файл? Ознака успішного відкриття файлу.
Режими доступу.
Для чого необхідно закривати файл? Ознака успішного закриття файлу
Які ви знаєте функції введення/виведення? Ознака правильного виконання операції.
Як змінити поточну позицію у файлі?
Лабораторна робота № 9. Тема роботи: Структури. Робота з бінарними файлами
Мета роботи: програмування із застосуванням структур, одержання практичних навичок для роботи з бінарними файлами
9.1 Теоретичні відомості
Структура об’єднує логічно пов’язані дані різних типів. Структурний тип даних визначається таким описом:
struct ім’я_структури { опис_елементів };
Приклад:
struct dinner { char *place;
float cost; };
Структурна змінна описується за допомогою структурного типу.
Приклад:
struct dinner week_days[7]; // масив структур
Struct dinner best_one; // одна структурна змінна
struct dinner *p; // покажчик на структурну змінну
p = &best_one; // ініціалізація покажчика
Звернення до окремого елементу структури здійснюється через крапку. Наприклад, структура best_one, елемент cost, звертання best_one.cost. Можна використовувати best_one.cost так як будь-яку іншу змінну типу float.
Приклад введення структури у файл та виведення структури з файлу
# include <stdio.h>
void main()
{ FILE *newfile;
struct student
{ char name[25] ;
int gruop ;
int mark1;
int mark2;
};
int i,j ;
//Введення даних у файл test4
if((newfile=fopen("D://prep/Tereschenko2/test4.dat","wb"))==NULL)
{ puts("ERROR\n");
}
struct student stud[30];
n=3;
for(i=0;i<n;i++)
{ printf("\nInput name,gruop,mark1,mark2");
scanf("%s%d%d%d", &stud[i].name, &stud[i].gruop, &stud[i].mark1,&stud[i].mark2);
fwrite(&stud[i],sizeof(student),1,newfile);
}
j=n;
fclose(newfile);
//Виведення даних з файлу test4
newfile=fopen("D://prep/Tereschenko2/test4.dat","rb");
i=0;
while(!feof(newfile))
{ fread( &stud[i],sizeof(student),1,newfile);
i++;
}
for(j=0;j<=i;j++)
{ printf("j=%d name=%s gruop=%d mark1=%d mark2=%d \n",
j,stud[j].name,stud[j].gruop,stud[j].mark1,stud[j].mark2);
}
fclose(newfile);
}
9.2 Індивідуальні завдання
Варіант 1.
Дані про учня складаються з його імені та прізвища і назви класу (рік навчання та буква). Наданий файл, що містить дані на учнів. З’ясувати, чи є в школі учні з однаковими прізвищами.
Варіант 2.
Дані про учня складаються з його імені та прізвища і назви класу (рік навчання та буква). Наданий файл, що містить дані на учнів. З’ясувати, чи є в паралельних класах учні з однаковими прізвищами.
Варіант 3.
Дані про учня складаються з його імені та прізвища і назви класу (рік навчання та буква). Заданий файл, що містить дані на учнів. З’ясувати, чи є в школі учні з однаковими прізвищами та іменами.
Варіант 4.
Дані про учня складаються з його імені та прізвища і назви класу (рік навчання та буква). Наданий файл, що містить дані на учнів. З’ясувати, чи є в паралельних класах учні з однаковими прізвищами та іменами.
Варіант 5.
Дані про учня складаються з його імені та прізвища і назви класу (рік навчання та буква). Наданий файл, що містить дані на учнів. З’ясувати, в яких класах налічується більше ніж 35 учнів.
Варіант 6.
Дані про учня складаються з його імені та прізвища і назви класу (рік навчання та буква). Наданий файл, що містить дані на учнів. З’ясувати, на скільки учнів в десятих класах більше ніж в восьмих.
Варіант 7.
Дані про учня складаються з його імені та прізвища, назви класу (рік навчання та буква) та оцінок, одержав учень за останню четверть. Наданий файл, що містить дані на учнів. З’ясувати, скільки учнів не мають балів нижче десяти.
Варіант 8.
Дані про учня складаються з його імені та прізвища, назви класу (рік навчання та буква) та оцінок, одержав учень за останню четверть. Наданий файл, що містить дані на учнів. З’ясувати, в якому класі кількість учнів, що не мають балів нижче десяти, максимальна.
Варіант 9.
Дані про учня складаються з його імені та прізвища, назви класу (рік навчання та буква) та оцінок, одержав учень за останню четверть. Наданий файл, що містить дані на учнів. З’ясувати, скільки в школі відмінників та в яких класах вони навчаються.
Варіант 10.
Дані про учня складаються з його імені та прізвища, назви класу (рік навчання та буква) та оцінок, одержав учень за останню четверть. Наданий файл, що містить дані на учнів. З’ясувати, скільки учнів мають бали нижче шести.
Варіант 11.
Дані про учня складаються з його імені та прізвища, назви класу (рік навчання та буква) та оцінок, одержав учень за останню четверть. Наданий файл, що містить дані на учнів. З’ясувати, скільки в школі учнів, що мають бали від семи до дев’яти.
Варіант 12.
Заданий файл, що містить різноманітні дати. Кожна дата це число, місяць та рік. Знайти рік з найменшим номером.
Варіант 13.
Наданий файл, що містить різноманітні дати. Кожна дата це число, місяць та рік. Знайти всі весняні дати.
Варіант 14.
Наданий файл, що містить різноманітні дати. Кожна дата це число, місяць та рік. Знайти найпізнішу дату.
Варіант 15.
Наданий файл, що містить різноманітні дати. Кожна дата це число, місяць та рік. Знайти всі осінні дати.
Варіант 16.
Наданий файл, що містить дані про книги. Дані про книгу це прізвище автора, назва та рік видання. Знайти назви книг заданого автора.
Варіант 17.
Наданий файл, що містить дані про книги. Дані про книгу це прізвище автора, назва та рік видання. З’ясувати, чи є книга з назвою “Інформатика”. Якщо є, то вказати рік видання та автора.
Варіант 18.
Наданий файл, що містить дані про книги. Дані про книгу це прізвище автора, назва та рік видання. З’ясувати, чи є книги, що видані пізніше 1999 року. Якщо є, то вказати назву та автора.
Варіант 19.
Наданий файл, який містить номери телефонів співробітників установи: вказуються прізвище співробітника, його ініціали та номер телефону. Знайти телефони співробітників з однаковими прізвищами.
Варіант 20.
Наданий файл, який містить номери телефонів співробітників установи: вказуються прізвище співробітника, його ініціали та номер телефону. Знайти прізвища та ініціали співробітників, у яких співпадають дві перші цифри телефонів.