- •Методичні вказівки до виконання лабораторних робіт з дисципліни "Програмування"
- •Порядок виконання лабораторних робіт
- •Загальні відомості
- •Void main()
- •Int func1(int arr[]){..}
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Лабораторні роботи Лабораторна робота №1 Робота з масивами
- •Int main()
- •Int main()
- •Контрольні питання до лабораторної роботи № 1
- •Лабораторна робота № 2 Структури. Об'єднання. Бітові поля структур і об'єднань
- •Int main()
- •Void main()
- •Void main()
- •Int main()
- •Int flag;
- •Контрольні питання до лабораторної роботи № 2
- •Лабораторна робота № 3 Елементарне введення у функції
- •Int main()
- •Int main()
- •Int main()
- •Int arr, barr, arr1, barr1;;
- •Int main()
- •Int main(int argc, char **argv, char **envp)
- •Контрольні питання до лабораторної роботи № 3
- •Int *fp(int,float); int fp(int *,float);
- •Лабораторна робота № 4 Прийоми використання функцій
- •Int main()
- •Void main()
- •Void main()
- •Void main()
- •Контрольні питання до лабораторної роботи № 4
- •Int func1(int, float);
- •Лабораторна робота №5 Робота з файлами
- •Int main()
- •Int main()
- •Int main()
- •Int year;
- •Int main()
- •Контрольні питання до лабораторної роботи № 5
- •Лабораторна робота № 6 Багатофайлова компіляція
- •Int main()
- •Контрольні питання до лабораторної роботи № 6
- •Література
Void main()
{clrscr();
float res1, res2, res3, A[3]={1.5,2.0,3.0};
res1=summa(cube,A,3); // виклик функції
printf("res1=%.3f\n",res1);
res2=summa(sqr,A,3);//виклик функції з покажчиком на функцію
printf("res2=%.3f\n",res2);
puts("Press any key..."); getch(); }
Завдання до програми 4.4 Розробіть програму використання покажчика на функцію, як параметра функції, згідно заданому варіанту. Зробіть в головній програмі кілька викликів функції з різними значеннями. Всі параметри, крім розміру масивів, мають тип float.
Визначте дві функції, що обчислюють максимальне та мінімальне з трьох чисел. Потім визначте функцію, що помножує суму заданих трьох чисел на максимальне (мінімальне) число, яке обчислюється за допомогою покажчика на задану функцію.
Визначте дві функції, що обчислюють максимальний та мінімальний елемент масиву. Потім визначте функцію, що обчислює суму елементів масиву без обліку максимального (мінімального) числа, яке обчислюється за допомогою покажчика на задану функцію.
Визначте дві функції, що обчислюють суму та добуток трьох чисел. Потім визначте функцію, що помножує максимальне з трьох чисел на суму чи добуток, які обчислюються за допомогою покажчика на задану функцію.
Визначте дві функції, що обчислюють максимальний (мінімальний) елемент масиву. Потім визначить функцію, що суму перших 3-х елементів масиву помножує на максимальний (мінімальний) елемент, який обчислюється за допомогою покажчика на задані функції.
Визначте дві функції, що обчислюють суму (добуток) перших 2-х елементів масиву. Потім визначте функцію, що суму чи добуток, які обчислюються за допомогою покажчика на задані функції, ділить на максимальний елемент масиву.
Контрольні питання до лабораторної роботи № 4
Що таке перевантаження функцій? Для чого воно застосовується?
Наведіть приклади прототипів перевантажених функцій із сигнатурами, що відрізняються за кількістю параметрів та за типом параметрів.
Чи є помилки при визначенні прототипів наступних перевантажених функцій? Поясніть.
float func1(int,float);
float func1(int, int);
Int func1(int, float);
Дайте визначення шаблона функції та параметру шаблона.
Наведіть правила визначення і використання шаблонів функції.
Чи є помилки в наступному фрагменті коду? Поясніть.
template <class D, C>
D func2(int,C);
Що таке покажчик на функцію? Наведіть основні правила його визначення.
Визначте покажчики на функції, що мають наступні прототипи:
float F1(int n,float arr[]);
float *F2(int n,char *st);
Лабораторна робота №5 Робота з файлами
Мета роботи – вивчити основні функції роботи з файлами.
Програма 5.1. Показано роботу функції відкриття файлу для запису та запису в нього окремих символів. Після виконання програми перевірте наявність та зміст файлу testfile.txt у своєму каталозі.
#include <stdio.h>
#include <conio.h>
Int main()
{clrscr();
FILE *fout, *fin;
fout=fopen("testfile.txt","w"); // відкриття потоку для запису
if(fout==NULL){puts("Cannot open output file");
return 1;}
char ch1; // визначення символу
puts("Type any symbol or Ctrl-Z");
while((ch1=getc(stdin))!=EOF) //введення символу з клавіатури
fputc(ch1, fout); // запис символу в файл
fclose(fout); // закриття потоку
fin=fopen("testfile.txt","r"); // відкриття потоку для читання
if(fin==NULL){puts("Cannot open input file");
return 1; }
char ch2; // резервування пам'яті під символ
while((ch2=fgetc(fin))!=EOF) // читання символу з файлу
putc(ch2,stdout); // виведення символу на екран
fclose(fin); // закриття потоку
puts("\nPress any key..."); getch();
return 0;}
Завдання до програми 5.1 Розробіть програму, що відкриває файл з іменем, що складається з перших чотирьох букв Вашого прізвища з розширенням txt. Запишіть задані згідно варіанту символи у відкритий файл за допомогою функції fputc(). Перевірте правильність запису, для цього прочитайте з файлу записані символи за допомогою функції fgetc() та виведіть їх на екран.
Запишіть у вигляді символів рядок, який проініціалізуйте Вашим прізвищем.
Запишіть 10 символів, що вводяться з клавіатури за допомогою функції getchе().
Запишіть перші вісім букв латинського алфавіту.
Запишіть символи, що вводяться з клавіатури за допомогою функції scanf() до першого введення символу 'q'.
Запишіть символьний масив, який проініціалізуйте Вашим ім’ям.
Програма 5.2. У програмі використовуються функції файлового рядкового введення-виведення.
#include <stdio.h>
#include <conio.h>