- •Лабораторні роботи з курсу "Інформатика"
- •Лабораторна робота № 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 Контрольні запитання
- •Література
Варіанти завдань
Вар. |
Ряд |
Діапазон зміни х |
1 |
|
|
2 |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
6 |
|
|
7 |
|
|
8 |
|
|
9 |
|
|
10 |
|
|
11 |
|
|
12 |
, |
|
13 |
|
|
14 |
|
|
15 |
|
|
16 |
|
|
17 |
|
|
18 |
|
|
19 |
|
|
20 |
|
|
3.3 Контрольні запитання
Чим відрізняються дві форми оператора циклу while, do…while?
Скільки разів виконається цикл while у випадку, коли на початку аргумент має нульове значення? Скільки разів при цьому виконається цикл do…while?
Який формат має оператор for?
Чи можна в якості умови використовувати вираження, параметрі якого змінюються не в середині дужок for(...), а в тілі циклу, організованого за допомогою for ?
Використання операторів break та continue.
Лабораторна робота № 4. Тема роботи: Обробка одномірних масивів
Мета роботи: одержання практичних навичок програмування і розв’язання задач обробки одномірних масивів.
4.1 Теоретичні відомості
Масив це набір пронумерованих об’єктів, що мають одне і те саме базове ім’я і для доступу до об’єкту застосовується його номер (індекс). Наприклад, у такому рядку
float debs[20];
об’являється, що debs – масив, який складається з двадцяти елементів типу float. Першим елементом буде debs[0], другим - debs[1], т.д. до debs[19]. Значення елементам масиву можна присвоїти (ініціювати масив) у об’яві масиву. Наприклад:
float fmas[5] = { 1.2, 5.0, 7.8, 6.0, 4.5 };
. Якщо при об’яві масиву не вказана кількість його елементів, то його розмір визначається кількістю елементів, що його ініціюють.
int ims[]= { 1, 2, 4, 5 };
Покажчик - це змінна, значенням якої є адреса деякого об’єкту. Приклади правильного опису покажчиків:
int *pi; // pi – покажчик на об’єкт цілого типу
char *pch; // pch – покажчик на об’єкт типу char
float *pf, *pg; // pf, pg – покажчики на об’єкти // типу float
Ім’я масиву є покажчик (точніше, константа типу покажчик), який вказує на перший елемент масиву. Тобто, для нашого прикладу Х == &Х[0]. Покажчик можна використовувати для доступу до окремого елемента масиву, наприклад:
Х+2 == &Х[2] // одна і та ж адреса
*(Х+2) ==Х[2] // одне і те ж значення
Приклад.
// застосування покажчика
main() {const int n;
int i, score[n];
int *pi;
for ( i=0, pi=Х; i<n; i++)
scanf("%d", pi+i); // введення
for ( i=0; i<n; i++)
printf("%5d", *(pi+i)); // виведення
printf("\n");
}
Приклад виконання лабораторної роботи
Поміняти місцями максимальний та мінімальний елементи масиву А, елементи якого не повторюються
# include <stdio.h>
# include <math.h>
void main()
{ const n=10;
int i,imax,imin;
float A[n],max,min;
// введення та виведення на друк елементів масиву А
for(i=0;i<n;i++)
{ printf(" \n A[%d]= ",i);
scanf("%f",&A[i]);
printf("\n A[%d]=%8.3f ",i,A[i]);
}
// знаходження максимального та мінімального елементів масиву А
max=min=A[0]; imin=imax=0;
for(i=0;i<n;i++)
{ if (A[i]<max){max=A[i];imax=i;}
if (A[i]>min){min=A[i];imin=i;}
}
A[imin]=max;
A[imax]=min;
for(i=0;i<n;i++)
printf("\n A[%d]=%8.3f ",i, A[i]);
}