Контрольная работа по "Программированию"
Автор: pipipop • Май 30, 2022 • Контрольная работа • 1,066 Слов (5 Страниц) • 179 Просмотры
Задача: рассчитать характеристики реализации алгоритма,
выполненной на знакомом языке программирования. Предложить смысловую трактовку как используемых данных, так и описываемых характеристик.
Пример определения метрик по модели Холстеда
Задачей данной программы является вывод номера первой или последней строки – столбца матрицы, содержащего максимальное количество одинаковых элементов.
На рис. 1 показана схема работы (алгоритма) программного модуля. Программа написана на языке C++. Ниже представлен листинг программного модуля.
Верстка — это процесс размещения текста и иллюстрации в данном пространстве листа
Текст программы
#include <conio.h> #include <iostream> #include <string> #include <Windows.h> #include <fstream> using namespace std; struct student {
char name[30], surname[30], lastname[30]; int data[3];
};
int main() {
setlocale(LC_ALL, "Russsian"); SetConsoleCP(1251); SetConsoleOutputCP(1251); holiday array[5];
int number, month; int i, j;
for (i = 0; i < 5; i++) {
cout << "Введите название праздника " << " "; cin >> array[i].name;
cout << "Введите страну происхождения" << " "; cin >> array[i].country;
cout << "Введите день празднования"; cin >> array[i].data[0];
cin >> array[i].data[1]; cout << endl;
}
cout << endl << endl;
cout << "Введите число" << " ";
cin >> number;
cout << "Совпадения праздников по введённому числу"<< endl; for (i = 0; i < 5; i++)
if (array[i].data[0] == number) {
cout << array[i].name << " "; cout << array[i].country << endl;
}
cout << endl << endl;
cout << "Введите месяц" << endl; cin >> month;
cout << "Совпадения праздников по введенному месяцу "<< endl; for (i = 0; i < 5; i++)
if (array[i].data[1] == month) {
cout << array[i].name << " "; cout << array[i].country << endl;
} _getch();
}
Схема алгоритма[pic 1]
Рис. 1 – Схема алгоритма программы
Результаты подсчёта числа типов операторов и операндов длярассматриваемой программы и их общего количества представлены в табл. 1 и 2.
Таблица 1
Операторы программы
Оператор | Уникальный n1 | N1 |
; | 1 | 42 |
{} | 2 | 10 |
() | 3 | 20 |
= | 4 | 3 |
== | 5 | 4 |
++ | 6 | 6 |
[] | 7 | 24 |
for (i = 0; i < 5; i++) | 8 | 3 |
if (array[i].data[1] == month) | 9 | 1 |
if (array[i].data[2] == year) | 10 | 1 |
int | 11 | 4 |
11 | 118 | |
n1 | N1 |
Таблица 2
Операнды программы
Операнд | Уникальный n2 | N2 |
array | 1 | 15 |
month | 2 | 3 |
year | 3 | 3 |
i | 4 | 24 |
j | 5 | 1 |
5 | 46 | |
n2 | N2 |
Результаты подсчета числа операторов и операндов сведены в табл. 3.
...