- •Національний технічний університет
- •Мета роботи
- •Оператори введення/виводу
- •Лабораторна робота № 2
- •Приклад виконання завдання
- •Вибір варіанта розрахунку. Використання операторів if, else, else if Мета роботи
- •Завдання
- •Вказівки до виконання завдання
- •Оператор if
- •Використання оператора else в операторі if
- •Оператор else if
- •Лабораторна робота №4
- •Циклічні алгоритми.
- •Організація циклу за допомогою операторів while і do while
- •Мета роботи
- •Завдання
- •Вказівки до виконання завдання
- •Циклічний алгоритм. Організація циклу за допомогою оператора for Мета роботи
- •Завдання
- •Вказівки до виконання завдання
- •Робота з масивами символів. Використання функцій getchar (), putchar () Мета роботи
- •Завдання
- •Вказівки до виконання завдання
- •Робота з масивами символів. Використання операторів continue, break і функції switch () Мета роботи
- •Завдання
- •Вказівки до виконання завдання
- •Оператор continue
- •Оператор break
- •Множинний вибір: функція switch ()
- •Робота з рядками Мета роботи
- •Завдання
- •Вказівки до виконання завдання
- •Лабораторна робота № 9
- •Завдання
- •Вказівки до виконання завдання
- •Робота з одномірними масивами. Обчислення максимуму, мінімуму, кратність елементів
- •Сортування масиву Мета роботи
- •Завдання
- •Вказівки до виконання завдання
- •Робота з двовимірними масивами. Організація введення / виводу елементів двовимірного масиву Мета роботи
- •Завдання
- •Вказівки до виконання завдання
- •Лабораторна робота № 13 робота з функціями Мета роботи
- •Завдання
- •Вказівки до виконання завдання
- •Придбання і закріплення практичних навичок у використанні файлового введення/виводу при складанні програми мовою с.
- •Лабораторна робота № 15
- •Робота з функціямипідпрограмами Мета роботи
- •Завдання
- •Вказівки до виконання завдання
- •Лабораторна робота № 17 Програмування задач матричної алгебри Мета роботи
- •Завдання
- •Вказівки до виконання завдання
- •Лабораторна робота № 18 Обчислення визначеного інтегралу Мета роботи
- •Завдання
- •Вказівки до виконання завдання
- •Лабораторна робота № 19 Робота зі структурами Мета роботи
- •Завдання
- •Вказівки до виконання завдання
- •Додаток 1 Завдання до лабораторної роботи № 2
- •1. Обчислити значення виразу , якщо ,
- •Додаток 2 Завдання до лабораторної роботи № 3
- •Додаток 3 Завдання до лабораторної роботи № 4
- •Додаток 4 Завдання до лабораторної роботи № 5
- •Додаток 5 Завдання до лабораторної роботи № 6
- •Додаток 6 Завдання до лабораторної роботи № 7
- •Додаток 7 Завдання до лабораторної роботи № 8
- •Додаток 8 Завдання до лабораторної роботи № 9
- •Додаток 9 Завдання до лабораторної роботи № 10
- •Додаток 10 Завдання до лабораторної роботи № 11
- •Додаток 11 Завдання до лабораторної роботи № 12
- •Додаток 12 Завдання до лабораторної роботи № 13
- •Додаток 13
- •Додаток 14
- •Додаток 15
- •Додаток 16
- •Додаток 17
- •Додаток 18
- •Список літератури
Вказівки до виконання завдання
Одномірні та двомірні масиви, що використовуються в функціях-підпрограмах повинні бути передані у функцію за визначеними правилами. У функцію передається не сам масив, а покажчик на перший елемент масиву, тобто адреса першого елемента. В С ім’я масиву, одномірного чи двомірного, є покажчиком на перший елемент.
Таким чином, треба виконувати наступні правила:
Одномірний масив int a[5]; |
Двомірний масив int b[5][5]; |
1. Опис функції в основній програмі |
|
int func1 (int array1[]); або int func1 (int *array1); В дужках указано формальний параметр-покажчик на перший елемент одномірного масиву |
int func2 (int aray2[][5]); або int func2 (int (*array2)[5]); В дужках указано формальний параметр-покажчик на перший елемент двомірного масиву |
2. Виклик функції в основній програмі |
|
func1(a); При виклику в функцію передається ім’я фактичного масиву (адреса першого елемента), тобто того масиву, що використовується в основній програмі |
func2(b); При виклику в функцію передається ім’я фактичного масиву (адреса першого елемента), тобто того масиву, що використовується в основній програмі |
3. Визначення функції |
|
int func1 (int array1[]) { Тіло функції; } або int func1 (int *array1) { Тіло функції; } |
int func2 (int array2[][5]) { Тіло функції; } або int func2 (int (*array2)[5]) { Тіло функції; } |
Приклад: Дано дві матриці розмірністю [3х4]. Знайти суму матриць. Оформити розв’язання основної задачі у вигляді функції-підпрограми.
#include <stdio.h>
#include <graph.h>
#define M 3
#define N 4
//опис функції-підпрограми, в дужках записуємо покажчики на перший //елемент масиву
int slogenie (int T[][M],int K[][M],int s,int F[][M]);
int main (void)
{
int A[M][N],B[M][N],C[M][N];
int i,j;
_clearscreen(_GCLEARSCREEN);
printf("Вводимо матрицю A[3][4]\n");
for(i=0;i<M;i++)
for(j=0;j<N;j++)
scanf("%d",&A[i][j]);
printf("Вводимо матрицю B[3][4]\n");
for(i=0;i<M;i++)
for(j=0;j<N;j++)
scanf("%d",&B[i][j]);
printf("Матриця суми: C[3][4]\n\n");
//виклик функції-підпрограми, в дужках фактичні параметри
slogenie (A,B,4,C);
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
printf("%5d",C[i][j]);
putchar('\n');
}
}
/* ********************************************** */
//визначення функції – підпрграми
int slogenie (int (*T)[M],int K[][M],int s,int F[][M])
{
int i,j;
for(i=0;i<s;i++)
for(j=0;j<M;j++)
F[i][j]=T[i][j]+K[i][j];
}
Звіт про роботу повинний включати стислий опис роботи, алгоритм виконання індивідуального завдання у виді блок-схеми, текст програми і результати її виконання.
