- •Лабораторна робота №1 Використання лінійних та розгалужених структур
- •Теоретичні відомості
- •Будь-яка умова складається з трьох частин: ліва частина, знак порівняння, права частина.
- •Як приклад використання розгалужених алгоритмів створимо програму для перевірки коректності введення даних при розрахунку квадратного кореня. Блок-схема цього алгоритму матиме наступний вигляд:
- •Робоче завдання
- •Контрольні запитання
- •Для чого необхідно при відладці програми тестувати всі гілки алгоритму? лабораторна робота №2 Використання циклічних структур
- •Теоретичні відомості
- •Робоче завдання
- •Робоче завдання
- •Контрольні запитання
- •Лабораторна робота №4 Обробка одновимірних масивів
- •Теоретичні відомості
- •Робоче завдання
- •Робоче завдання
- •Контрольні запитання
- •Лабораторна робота №6 Обробка символьних даних
- •Теоретичні відомості
- •Робоче завдання
- •Контрольні запитання
- •Лабораторна робота №7
- •Теоретичні відомості
- •Робоче завдання
- •Контрольні запитання
- •Лабораторна робота №8 Програмування з виводом результатів у вигляді графіків на екран алфавітно-цифрового дисплея
- •Робоче завдання
- •Контрольні запитання
- •Контрольні питання
Робоче завдання
Обробити у відповідності до варіанту завдання, вказані у таблиці. Заповнюючи масив, робити це таким чином щоб у масиві знаходилися елементи які задовольняють умову з стовпчика „Умови і обмеження” а також за цими межами. Виконуючи завдання з колонки „Дії” враховувати тільки ті елементи які підходять до умови з колонки „Умови і обмеження”. Перевірити правильність виконання програми за допомогою тестового варіанту.
Таблиця 4.1 — Варіанти завдань
Варіант завдання |
Масив |
Дії |
Умови і обмеження |
1 |
Х(100) |
Обрахувати суму і кількість елементів масиву X |
0≤xi≤1 |
2 |
А(80) |
Обрахувати середнє арифметичне значення елемента масиву А |
aі>0 |
3 |
X(70) |
Переписати елементи масиву Х в масив Y і підрахувати їх кількість |
-1 ≤ xi≤1 |
4 |
B(50) |
Визначити максимальний елемент масиву В і його порядковий номер |
xі>0 |
5 |
С(40) |
Обрахувати мінімальний елемент масиву С і його номер |
xі<0 |
6 |
D(80) |
Знайти максимальний і мінімальний елемент масиву D і поміняти їх місцями. |
|
7 |
Y(20) |
Обрахувати середнє геометричне елемента масиву Y. |
yі>0 |
8 |
Z(30) |
Розташувати у масиві R спочатку додатні а потім від’ємні елементи масиву Z. |
|
9 |
N(50) |
Визначити суму елементів масиву N, кратних трьом. |
nі/3*3 = nі |
10 |
X(N) |
Обрахувати суму і кількість елементів масиву Х. |
xі>0, N≤30 |
11 |
A(N) |
Знайти середнє геометричне елементів масиву А. |
aі>0, N≤50 |
12 |
X(N) |
Переписати в масив Y підряд додатні елементи масиву Х. |
xі>0, N≤30 |
13 |
X(N) |
Переписати підряд в масив Y додатні і в масив Z від’ємні елементи масиву Х. |
N≤40 |
14 |
B(K) |
Визначити максимальний елемент масиву В і його порядковий номер. |
xі<0, K≤40 |
15 |
С(К) |
Визначити мінімальний елемент масиву С і його порядковий номер. |
-1 ≤ xi≤1, K≤20 |
Контрольні запитання
Вказати особливості програм, в яких використовуються масиви.
Які оператори мови можна використовувати для опису масивів?
В чому полягає особливість організації цикла при обробці масивів?
В чому полягає особливість використання прийомів програмування при обробці масивів?
Вказати особливості вводу і виводу масивів.
ЛАБОРАТОРНА РОБОТА №5
Робота з багатовимірними масивами
Мета роботи— оволодіти практичними навиками роботи із масивами, особливостями їх вводу і виводу, отримання подальших навиків по організації програм циклічної структури із використанням прийомів програмування.
Теоретичні відомості
Сі підтримує багатовимірні масиви. Найпростішим видом багатовимірного масиву є двовимірний масив, який можна представити як масив одновимірних масивів. Двовимірний масив являє собою матрицю, де перший індекс відповідає за рядок, а другий за стовпець. Кожна розмірність масиву вміщується в окремі квадратні дужки. Багатовимірний масив оголошується таким чином:
<тип даних> <ім’я масиву> [розмірність N]...[розмірність 2] [розмірність 1];
Елементи багатовимірного масиву зберігаються в пам’яті в порядку зростання найправішого індексу, тобто за рядками. Це означає, що правий індекс змінюється швидше лівого, якщо переміщатися масивом у порядку розташування елементів в пам’яті.
При ініціалізації багатовимірних масивів можна додати фігурні дужки навколо кожного вимірювання. Наприклад, int d [2][3] = {{1, 2, 3},{4, 5, 6}};
Якщо даних рівно стільки, скільки має бути при заповненні всіх елементів, то фігурні дужки в списку можуть бути опущені, тоді наступні два записи еквівалентні:
int f [2][2] = {{1, 2}, {3, 4}}; int f [2][2] = {1, 2, 3, 4};
Для багатовимірних масивів необхідно визначити всю розмірність, крім найлівішої, компілятор визначає число елементів за числом значень у списку ініціалізації. Наприклад,
int array [ ] [3] = {0, 1, 2, 3, 4, 5}; тобто кожен рядок міститиме три елементи: нульовий — 0, 1, 2; перший — 3, 4, 5. Якщо потрібно проініціалізувати не всі елементи, в списку ініціалізації використовуються фігурні дужки, наприклад:
int array [ ][3] = {{0}, {3, 4}};
m [0][0] дорівнюватиме 0, m [1][0] — 3, m [1][1] — 4.
|
Стовпець 0 |
Стовпець 1 |
Стовпець 2 |
Стовпець 3 |
Рядок 0 |
а[0][0] |
а[0][1] |
а[0][2] |
а[0][3] |
Рядок 1 |
а[1][0] |
а[1][1] |
а[1][2] |
а[1][3] |
Рядок 2 |
а[2][0] |
а[2][1] |
а[2][2] |
а[2][3] |
Рисунок 6.1. Двовимірний масив з трьома рядками і чотирма стовпцями
Приклад
Як приклад виконання операцій над матрицями розробимо алгоритм для виведення на екран таблички множення розмірами 10х10. Блок-схема такого алгоритму матиме наступний вигляд:
Код програми:
#include <stdio.h>
#include <conio.h>
int main()
{
clrscr();
int A[10][10], i, j;
for (i = 0; i < 10; i++)
{
for (j = 0; j < 10; j++)
{
A[i][j] = (i + 1) * (j + 1);
printf("%4d", A[i][j]);
}
printf("\n");
}
return 0;
}
