- •Методичні вказівки до виконання лабораторних робіт з дисципліни "Програмування"
- •Порядок виконання лабораторних робіт
- •Загальні відомості
- •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
- •Література
Int main()
{clrscr();
randomize();
Int arr, barr, arr1, barr1;;
puts(“Максимальне число 10”);
arr=random(20);
barr=bigger(arr); // виклик функції, значення n=10
printf("arr=%3d barr=%3d\n",arr, barr);
puts(“\nМаксимальне число 50”);
arr1=random(100);
arr1=bigger(arr1,50); // виклик функції, значення n=50
printf("arr1=%3d barr1=%3d\n",arr1,barr1);
puts("\nPress any key...");
getch();
return 0;}
Завдання до програми 3.3 Розробіть задану згідно варіанту функцію з трьома вхідними параметрами типу float x, a, b, два з яких (a,b) мають значення за умовчанням, та продемонструйте роботу цієї функції, зробивши в головній програмі три виклики функції з різними значеннями та різним числом параметрів. Запишіть коментарі до отриманих результатів.
Функція, яка повертає значення a*x, якщо а від‘ємне, інакше значення b*x.
Функція, яка повертає значення x*x-a, якщо а додатне, інакше значення x*x-b.
Функція, яка повертає значення x+a, якщо а більше b, інакше значення x+b.
Функція, яка повертає значення виразу (x*a–b).
Функція, яка повертає значення виразу (a+x*b).
Програма 3.4 Показана робота функцій зі змінним числом параметрів. В першій функції за допомогою першого параметра передається до неї значення кількості параметрів, що йдуть за першим. Ця функція повертає суму другого і наступних параметрів. Друга функція обчислює добуток аргументів, а ознакою закінчення списку параметрів є деяке визначене значення параметра.
#include <stdio.h>
#include <conio.h>
int varg1(int i,...) // визначення функції varg1
{int *num_arg=&i;
int sum=0;
for(;i;i--)
sum+=*(++num_arg);
return sum;
}
double varg2(double arg,...) // визначення функції varg2
{double mul=1.0;
double *ptr=&arg;
if(*ptr==0.0) return 0;
for(;*ptr!=999.0;ptr++) mul*=*ptr;
return mul;
}
Int main()
{clrscr();
int a=11,b=22,c=33,sum;
double mul,x=2.25,y=4.4,z=5.0,end=999.0;
sum=varg1(2,a,b); // виклик функції
printf("sum(a,b)=%d\n",sum);
int j=3;
sum=varg1(j,a,b,c); // виклик функції
printf("sum(a,b,c)=%d\n",sum);
sum=varg1(6,a,b,c,100,200,700); // виклик функції
printf("sum(...)=%d\n",sum);
mul=varg2(x,y,z,end); // виклик функції
printf("mul(x,y,z)=%.2lf\n",mul);
mul=varg2(x,y,z,1.5,4.2,end); // виклик функції
printf("mul(...)=%.2lf\n",mul);
puts("\nPress any key...");
getch();
return 0;
}
Завдання до програми 3.4 Розробіть задану згідно варіанту функцію зі змінним числом параметрів та продемонструйте роботу цієї функції, зробивши в головній програмі кілька викликів функції з різними значеннями. Всі параметри, крім розміру, мають тип double.
Функція обчислює суму першого параметра і добуток параметрів, що йдуть за другим: F=arg1+arg3*arg4*..., загальна кількість параметрів передається за допомогою другого параметру (тип int) .
Функція обчислює добуток першого параметра і суми параметрів, що йдуть за першим: F=arg1*(arg2+arg3+arg4+…), ознакою закінчення списку параметрів є деяке визначене значення параметра.
Функція обчислює суму додатних параметрів типу double, загальна кількість параметрів передається за допомогою першого параметру (тип int) .
Функція обчислює добуток додатних параметрів, ознакою закінчення списку параметрів є деяке визначене значення параметра.
Функція обчислює суму другого параметра і добуток параметрів, що йдуть за другим: F=arg2+(arg3*arg4*…), загальна кількість параметрів передається за допомогою першого параметру (тип int) .
Програма 3.5 В програмі демонструється передача аргументів у функцію main (int argc,char **argv,char**envp). Для роботи програми її необхідно запустити з командного рядка, наприклад, у середовищі FAR, NC, VC і ін. Для налагодження подібних програм у IDE BC31 є опція Run|Arguments, за допомогою якої в діалоговому вікні Program Arguments можна ввести аргументи.
#include <stdio.h>
#include <conio.h>