You are on page 1of 9

Контрольна робота з дисципліни

«ОСНОВИ ПРОГРАМУВАННЯ»

1 Розгалуження
1. Ввести з клавіатури 3 числа, визначити найбільше з них і вивести його на екран.
Введення і виведення супроводжувати пояснювальним текстом.

Лістинг програми:
#include <iostream>
using namespace std;

int main() {
float a, b, c;

// Запит користувача на введення чисел


cout << "Input the first number: ";
cin >> a;
cout << "Input the second number: ";
cin >> b;
cout << "Input the third number: ";
cin >> c;

// Визначення найбільшого з чисел серед трьох введених


float max = a;
if (b > max) {
max = b;
}
if (c > max) {
max = c;
}

// Виведення найбільшого числа на екран


cout << "The maximal number is " << max << endl;

return 0;
}

Скріншоти виконання:
2 Цикли
1. Написати програму, що в циклі for вводить довільні числа з клавіатури і
підсумовує їх. Передбачити завершення циклу при умові введення поточного
значення = 0. Обрахувати середнє значення і вивести його на екран

Лістинг програми:

#include <iostream>
using namespace std;

int main() {
float sum = 0; // змінна для збереження суми введених чисел
int counter = 0; // лічильник введених чисел
float input_num;

// Введення чисел та відшукання їх суми


for (;;) {
cout << "Input the number (input 0 for end): ";
cin >> input_num;

if (input_num == 0) {
break; // Вихід із циклу при введенні 0
}

sum += input_num;
counter++;
}

// Розрахунок та виведення середнього арифметичного


if (counter > 0) {
float average =sum / counter;
cout << "The average is " << average << endl;
}
else {
cout << "You have not entered any number (entered 0)!" << endl; // Випадок, коли відразу введено 0
}
return 0;
}

Скріншоти виконання:
3 Процедури
Результати власної попередньої роботи (із розділу цикли) оформити як процедури
(чи функції) , а робочу програму подати як таку, що складається з підпрограмии і з
основної програми, яка викликає підпрограму.

Лістинг програми:
#include <iostream>
using namespace std;
// Функція для введення чисел та підрахунку середнього значення
void calc_average() {
float sum = 0; // змінна для збереження суми введених чисел
int counter = 0; // лічильник введених чисел
float input_num;

// Введення чисел та відшукання їх суми


for (;;) {
cout << "Input the number (input 0 for end): ";
cin >> input_num;

if (input_num == 0) {
break; // Вихід із циклу при введенні 0
}

sum += input_num;
counter++;
}

// Розрахунок та виведення середнього арифметичного


if (counter > 0) {
float average = sum / counter;
cout << "The average is " << average << endl;
}
else {
cout << "You have not entered any number (entered 0)!" << endl; // Випадок, коли відразу введено 0
}
}
// Основний блок програми
int main() {

calc_average(); // Виклик функції

return 0;
}

Скріншоти виконання:

4 Масиви
1. Скласти програму, що резервує масив із 100 елементів для зберігання цілих чисел ,
заповнює його випадковими числами (процедура random) і виводить їх на екран.
У програмі виділити процедуру заповнення (назвемо її CreateRandomArray) і
процедуру друку (нехай це буде PrintArray). Передачу даних до процедур
виконувати за посиланням.
Лістинг програми:

#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

// Процедура для заповнення масиву випадковими числами


void CreateRandomArray(int arr[], int size) {
srand(time(nullptr)); // Ініціалізуємо генератор випадкових чисел поточним часом,
//щоб отримати різні послідовності при запуску
for (int i = 0; i < size; i++) {
arr[i] = rand() % 10001 - 5000; // Для кожного елементу масиву генеруємо число від -5000 до 5000,
//при бажанні, цей діапазон можна змінити
}
}

// Процедура для виведення масиву на екран


void PrintArray(int arr[], int size) {
for (int i = 0; i < size; i++) {
cout << arr[i] << " ";
}
cout << endl;
}

int main() {
const int size = 100; // за умовою задачі, встановлюємо розмір масиву рівний 100
int myArray[size];

CreateRandomArray(myArray, size); // викликаємо процедуру заповнення


PrintArray(myArray, size); // викликаємо процедуру виведення масиву

return 0;
}

Скріншоти виконання:
5 Матриці
1. Скласти програму, що резервує масив A розмірності 10 та матрицю M розмірності
10х10 і заповнює матрицю випадковими числами. Масив A заповнити
діагональними елементами матриці і роздрукувати. У програмі передбачити
процедуру заповнення матриці ( CreateRandomMatr), процедуру заповнення
масиву A діагональними елементами (назвемо її FillArray). Передачу даних до
процедур виконувати за посиланням.
Лістинг програми:
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

const int SIZE = 10; // за умовою розмірність матриці та масиву рівні 10

// Процедура для заповнення матриці випадковими числами


void CreateRandomMatr(int matr[][SIZE]) {
srand(time(nullptr));
for (int i = 0; i < SIZE; i++) {
for (int j = 0; j < SIZE; j++) {
matr[i][j] = rand() % 10001 - 5000; // Для кожного елементу матриці генеруємо число від -5000 до 5000,
//при бажанні, цей діапазон можна змінити

}
}
}

// Процедура для заповнення масиву A діагональними елементами матриці


void FillArray(int matr[][SIZE], int arr[]) {
for (int i = 0; i < SIZE; i++) {
arr[i] = matr[i][i]; // елементи головної діагоналі матриці мають однакові індекси
}
}

// Процедура для виведення масиву на екран


void PrintArray(int arr[], int size) {
for (int i = 0; i < size; i++) {
cout << arr[i] << " ";
}
cout << endl;
}

// Процедура для виведення матриці на екран


void PrintMatrix(int matr[][SIZE]) {
for (int i = 0; i < SIZE; i++) {
for (int j = 0; j < SIZE; j++) {
cout << matr[i][j] << " ";
}
cout << endl;
}
}

int main() {
int A[SIZE];
int M[SIZE][SIZE];

CreateRandomMatr(M);
FillArray(M, A);

cout << "Generated matrix M:" << endl;


PrintMatrix(M);
cout << endl;

cout << "Massiv A (diagonal elements of the matrix): ";


PrintArray(A, SIZE);

return 0;
}

Скріншоти виконання:

You might also like