Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Met_Prog_3sem_2012.doc
Скачиваний:
6
Добавлен:
07.02.2016
Размер:
477.7 Кб
Скачать

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.

  1. Визначте дві функції, що обчислюють максимальне та мінімальне з трьох чисел. Потім визначте функцію, що помножує суму заданих трьох чисел на максимальне (мінімальне) число, яке обчислюється за допомогою покажчика на задану функцію.

  2. Визначте дві функції, що обчислюють максимальний та мінімаль­ний елемент масиву. Потім визначте функцію, що обчислює суму елементів масиву без обліку максимального (мінімального) числа, яке обчислюється за допомогою покажчика на задану функцію.

  3. Визначте дві функції, що обчислюють суму та добуток трьох чисел. Потім визначте функцію, що помножує максимальне з трьох чисел на суму чи добуток, які обчислюються за допомогою покажчика на задану функцію.

  4. Визначте дві функції, що обчислюють максимальний (мінімаль­ний) елемент масиву. Потім визначить функцію, що суму перших 3-х елементів масиву помножує на максимальний (мінімальний) елемент, який обчислюється за допомогою покажчика на задані функції.

  5. Визначте дві функції, що обчислюють суму (добуток) перших 2-х елементів масиву. Потім визначте функцію, що суму чи добуток, які обчислюються за допомогою покажчика на задані функції, ділить на максимальний елемент масиву.

Контрольні питання до лабораторної роботи № 4

  1. Що таке перевантаження функцій? Для чого воно застосовується?

  2. Наведіть приклади прототипів перевантажених функцій із сигнатурами, що відрізняються за кількістю параметрів та за типом параметрів.

  3. Чи є помилки при визначенні прототипів наступних перевантаже­них функцій? Поясніть.

float func1(int,float);

float func1(int, int);

Int func1(int, float);

  1. Дайте визначення шаблона функції та параметру шаблона.

  2. Наведіть правила визначення і використання шаблонів функції.

  3. Чи є помилки в наступному фрагменті коду? Поясніть.

template <class D, C>

D func2(int,C);

  1. Що таке покажчик на функцію? Наведіть основні правила його визначення.

  2. Визначте покажчики на функції, що мають наступні прототипи:

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() та виведіть їх на екран.

  1. Запишіть у вигляді символів рядок, який проініціалізуйте Вашим прізвищем.

  2. Запишіть 10 символів, що вводяться з клавіатури за допомогою функції getchе().

  3. Запишіть перші вісім букв латинського алфавіту.

  4. Запишіть символи, що вводяться з клавіатури за допомогою функції scanf() до першого введення символу 'q'.

  5. Запишіть символьний масив, який проініціалізуйте Вашим ім’ям.

Програма 5.2. У програмі використовуються функції файлового рядкового введення-виведення.

#include <stdio.h>

#include <conio.h>

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]