СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ
Благодаря готовым учебным материалам для работы в классе и дистанционно
Скидки до 50 % на комплекты
только до
Готовые ключевые этапы урока всегда будут у вас под рукой
Организационный момент
Проверка знаний
Объяснение материала
Закрепление изученного
Итоги урока
Методические рекомендации для практических работ по учебной дисциплине ОП.04 Основы алгоритмизации и программирования Специальности 09.02.06 Сетевое и системное администрирование
МИНОБРНАУКИ РОССИИ |
Федеральное государственное бюджетное образовательное учреждение высшего образования «МИРЭА – Российский технологический университет» РТУ МИРЭА |
Колледж приборостроения и информационных технологий
СОГЛАСОВАНО
Заместитель директора по МР
_______________ Е.В. Садыкова
«___» ___________ 2021 г. | УТВЕРЖДАЮ
Директор колледжа ПИТ
_______________ О.В. Книга
«___» ___________ 2021 г. |
МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ
для выполнения практических работ
учебной дисциплины ОП.04 Основы алгоритмизации и программирования
специальность 09.02.06 Сетевое и системное администрирование
Москва
2022
Одобрена Предметно-цикловой комиссией Сетевого администрирования и инфокоммуникационных систем Протокол № 1 от «31» августа 2021 г. Председатель предметно-цикловой комиссии _________ А.В. Беседин подпись ФИО | Методические рекомендации разработаны в соответствии с рабочей программой учебной дисциплины, утвержденной директором колледжа (31.08.2021г) |
Составитель:
Беседин Андрей Владимирович, преподаватель высшей квалификационной категории Колледжа приборостроения и информационных технологий
ПЕРЕЧЕНЬ
практических работ по учебной дисциплине общепрофессионального цикла
ОП.04 Основы алгоритмизации и программирования
по специальности 09.02.06 Сетевое и системное администрирование
для студентов 2 курса
на 2021-2022 учебный год
№ п/п | Название ПР (из РП) | Количество часов |
1 | Установка и настройка среды программирования IDE | 2 |
2 | Компиляция первой программы и ее отладка | 2 |
3 | Составление программ линейной структуры | 2 |
4 | Составление программ разветвляющейся структуры | 2 |
5 | Составление программ циклической структуры | 2 |
6 | Обработка одномерных массивов | 2 |
7 | Обработка двумерных массивов | 2 |
8 | Работа со строками | 2 |
9 | Работа со структурами и объединениями | 2 |
10 | Работа с файлами последовательного доступа | 2 |
11 | Организация функций | 2 |
12 | Применение рекурсивных функций | 2 |
13 | Разработка библиотечного модуля | 2 |
14 | Разработка программ с использованием указателей | 2 |
15 | Создание класса с методами и свойствами | 2 |
16 | Разработка оконного приложения | 4 |
Составил преподаватель Беседин А.В.
Дата 31 августа 2021
Подпись________________
Практическая работа №1
Установка и настройка среды программирования IDE.
Цель: Сформировать умение устанавливать среду программирования IDE Visual Studio 2019.
Задача: Установка и настройка среды программирования IDE Visual Studio 2019.
Установить среду программирования IDE Visual Studio 2019.
Интегрированная среда разработки (сокр. «IDE» от англ. «Integrated Development Environment») — это программное обеспечение, которое содержит всё необходимое для разработки, компиляции, линкинга и отладки кода. Нам нужно установить одну такую IDE для написания программ на языке С++.
IDE для пользователей Windows
Если вы пользователь Windows (как и большинство из нас), то установите Visual Studio 2019 версию «Community», которая является бесплатной (все остальные версии — платные):
После того, как вы скачаете и запустите установщик, вам нужно будет выбрать "Разработка классических приложений на C++". Пункты, выбранные по умолчанию в правой части экрана, трогать не нужно — там всё хорошо, только убедитесь, что поставлена галочка возле пункта "Пакет SDK для Windows 10". Этот пакет может использоваться и в ранних версиях Windows, поэтому не переживайте, если у вас Windows 7 или Windows 8 — всё будет работать. Затем нажимаем "Установить":
При желании вы можете указать галочки и возле других пунктов для скачивания, но учтите, что тогда размер вашей IDE будет увеличен.
Выберите в меню Windows пункты:
разработка классических приложений .NET;
разработка классических приложений на С++.
В меню Сведения об установке выделите все элементы и продолжите установку среды IDE.
Компиляция вашей первой программы
Для создания нового проекта в Visual Studio 2019, вам нужно сначала запустить эту IDE, затем выбрать "Файл" "Создать" "Проект":
Дальше появится диалоговое окно, где вам нужно будет выбрать "Консольное приложение Windows" из вкладки "Visual C++" и нажать "ОК":
Также вы можете указать имя проекта (любое) и его расположение (рекомендую ничего не менять) в соответствующих полях.
В текстовом редакторе вы увидите, что уже есть некоторый текст и код.
Чтобы запустить программу в Visual Studio, нажмите комбинацию Ctrl+F5. Если всё хорошо, то вы увидите следующее:
Это означает, что компиляция прошла успешно и результат выполнения вашей программы следующий:
Hello, world!
Чтобы убрать строку «…завершает работу с кодом 0…», вам нужно перейти в "Отладка" "Параметры":
Затем "Отладка" "Общие" и поставить галочку возле "Автоматически закрыть консоль при остановке отладки" и нажать "ОК":
Тогда ваше консольное окно будет выглядеть следующим образом:
Критерий оценки:
5 (отлично) – произведена установка среды программирования IDE Visual Studio 2019. Выполнены все настройки среды программирования, предписанные в практическом задании. Написана и откомпилирована программа, представленная в практическом задании. Соблюдено время на выполнение задания.
4 (хорошо) – произведена установка среды программирования IDE Visual Studio 2019. Выполнены все настройки среды программирования, предписанные в практическом задании. Соблюдено время на выполнение задания.
3 (удовлетворительно) – произведена установка среды программирования IDE Visual Studio 2019. Соблюдено время на выполнение задания.
2 (неудовлетворительно) – установка среды программирования IDE Visual Studio 2019 не выполнена.
Практическая работа №2
Компиляция первой программы и ее отладка.
Цель: Сформировать умение работать в среде программирования IDE Visual Studio 2019.
Задача: Отработать навыки компиляции и отладки разработанной программы.
Введите следующий программный код и заполните таблицу пошаговых значений переменных.
#include
int main()
{
int x = 0, y = 0, z = 0;
for (int i = 0; i
{
x += i;
y = x + i;
z += x + y;
}
int i = 3;
while (i 0)
{
x -= i;
y += i;
i--;
}
z *= 2;
std::cout "x = " x std::endl;
std::cout "y = " y std::endl;
std::cout "z = " z std::endl;
return 0;
}
x | y | z | i |
|
|
|
|
Сформировать отчет по решенной задаче (пример отчета страница 3).
Критерий оценки:
5 (отлично) – задача написана правильно и откомпилирована. Проведена пошаговая отработка задачи. Правильно составлена таблица пошаговых значений переменных. Соблюдено время на выполнение задания. Сформирован отчет по решенной задаче.
4 (хорошо) – задача написана правильно и откомпилирована. Проведена пошаговая отработка задачи. Таблица пошаговых значений переменных составлена с незначительными ошибками. Соблюдено время на выполнение задания. Сформирован отчет по решенной задаче.
3 (удовлетворительно) – задача написана правильно и откомпилирована. Проведена пошаговая отработка задачи. Соблюдено время на выполнение задания. Сформирован отчет по решенной задаче без таблицы значений переменных.
2 (неудовлетворительно) – задача написана, но не компилируется.
Введите следующий программный код и заполните таблицу пошаговых значений переменных.
Код программы
#include
int main()
{
int x = 0, y = 0, z = 0;
x = x + 3;
int i = 0;
do
{
y += 1;
z = z + x;
x--;
} while (x i);
std::cout "x = " x std::endl;
std::cout "y = " y std::endl;
std::cout "z = " z std::endl;
return 0;
}
x | y | z | i |
0 | 0 | 0 |
|
3 | 0 | 0 |
|
3 | 0 | 0 | 0 |
3 | 1 | 0 | 0 |
3 | 1 | 3 | 0 |
2 | 1 | 3 | 0 |
2 | 2 | 3 | 0 |
2 | 2 | 5 | 0 |
1 | 2 | 5 | 0 |
1 | 3 | 5 | 0 |
1 | 3 | 6 | 0 |
0 | 3 | 6 | 0 |
Практическая работа №3
Составление программ линейной структуры.
Цель: Сформировать умение программировать задачи линейной структуры.
Задача: Запрограммировать задачи.
Ввести трехзначное число a. Поменять крайние цифры числа местами.
Дано четырехзначное число. Найти сумму первой и последней цифры и разность второй и третьей.
Найти сумму цифр трехзначного числа.
Дан радиус R и высота H. Найти объем цилиндра.
Сформировать отчет по решенным задачам (пример отчета страница 2).
Каждая решенная задача должна сопровождаться, минимум двумя тестовыми испытаниями.
Критерий оценки:
5 (отлично) – решены четыре задачи. Соблюдено время на выполнение задания. Сформирован отчет по четырем задачам.
4 (хорошо) – решены три задачи. Соблюдено время на выполнение задания. Сформирован отчет по трем задачам.
3 (удовлетворительно) – решены две задачи. Соблюдено время на выполнение задания. Сформирован отчет по двум задачам.
2 (неудовлетворительно) – решено менее двух задач.
Дано пятизначное число. Вывести на экран вторую и четвертую цифры числа.
Код программы
#include
using namespace std;
int main()
{
setlocale(LC_ALL,"rus");
int n,a1,a2;
cout "Введите пятизначное число: ";
cin n;
a1 = (n % 10000) / 1000;
cout "Вторая цифра числа: " a1 endl;
a2 = (n % 100) / 10;
cout "Четвертая цифра числа: " a2 endl;
return 0;
}
Тестовые испытания
Практическая работа №4
Составление программ разветвляющейся структуры.
Цель: Сформировать умение программировать задачи разветвляющейся структуры.
Задача: Запрограммировать задачи.
Дано трехзначное число и цифра. Определить если такая цифра в этом числе.
Дано целое число К. Вывести строку-описание оценки, соответствующей числу К (1 – «плохо», 2 – «неудовлетворительно», 3 – «удовлетворительно», 4 – «хорошо», 5 – «отлично». Если К не лежит в диапазоне 1-5, вывести «ошибка».
На плоскости ХОY задана своими координатами точка А. Указать, где она расположена (на какой оси или в каком координатном угле).
Сформировать отчет по решенным задачам (пример отчета страница 2).
Каждая решенная задача должна сопровождаться, минимум двумя тестовыми испытаниями.
Критерий оценки:
5 (отлично) – решены три задачи. Соблюдено время на выполнение задания. Сформирован отчет по трем задачам.
4 (хорошо) – решены две задачи. Соблюдено время на выполнение задания. Сформирован отчет по двум задачам.
3 (удовлетворительно) – решена одна задача. Соблюдено время на выполнение задания. Сформирован отчет по одной задачи.
2 (неудовлетворительно) – не решено ни одной задачи.
На билете пять цифр - номер билета. Является ли данный билет счастливым? Счастливым считается билет, если сумма трех левых цифр равна сумме трех правых цифр.
Код программы
#include
using namespace std;
int main()
{
setlocale(LC_ALL,"rus");
int n,a1,a2;
cout "Введите номер билета в виде пятизначного числа: ";
cin n;
a1 = ((n % 10000) / 1000) + (n / 10000) + ((n % 1000) / 100);
a2 = ((n % 1000) / 100)+((n % 100) / 10)+(n%10);
if (a1 == a2) cout "Билет счастливый" endl;
else cout "Билет не счастливый" endl;
return 0;
}
Тестовые испытания
Практическая работа №5
Составление программ циклической структуры.
Цель: Сформировать умение программировать задачи циклической структуры.
Задача: Запрограммировать задачи.
Определить наибольшую цифру среди цифр натурального числа N.
Даны два целых числа A и B (A
Найти все делители натурального числа N.
Дано целое число в 2-ой системе счисления. Представить данное число в 10-ой системе счисления.
Сформировать отчет по решенным задачам (пример отчета страница 2,3).
Каждая решенная задача должна сопровождаться, минимум двумя тестовыми испытаниями.
Критерий оценки:
5 (отлично) – решены четыре задачи. Соблюдено время на выполнение задания. Сформирован отчет по четырем задачам.
4 (хорошо) – решены три задачи. Соблюдено время на выполнение задания. Сформирован отчет по трем задачам.
3 (удовлетворительно) – решены две задачи. Соблюдено время на выполнение задания. Сформирован отчет по двум задачам.
2 (неудовлетворительно) – не решено ни одной задачи.
Определить есть ли в пятизначном целом числе N одинаковые цифры, если есть то, что это за цифры и сколько их.
Код программы
#include
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
int n=0, a0=0, a1=0, a2=0, a3=0, a4=0, a5=0, a6=0, a7=0, a8=0, a9=0;
// Проверка правильности ввода пятизначного числа
do
{
system("cls");
cout "Введите пятизначное число: ";
cin n;
}
while ((n =100000));
while (n != 0)
{
if (n % 10 == 0) a0 += 1;
if (n % 10 == 1) a1 += 1;
if (n % 10 == 2) a2 += 1;
if (n % 10 == 3) a3 += 1;
if (n % 10 == 4) a4 += 1;
if (n % 10 == 5) a5 += 1;
if (n % 10 == 6) a6 += 1;
if (n % 10 == 7) a7 += 1;
if (n % 10 == 8) a8 += 1;
if (n % 10 == 9) a9 += 1;
n /= 10;
}
if ((a0
cout "Одинаковых цифр в числе нет" endl;
else
{
if (a0 = 2) cout "Одинаковых цифр 0 - " a0 " штук" endl;
if (a1 = 2) cout "Одинаковых цифр 1 - " a1 " штук" endl;
if (a2 = 2) cout "Одинаковых цифр 2 - " a2 " штук" endl;
if (a3 = 2) cout "Одинаковых цифр 3 - " a3 " штук" endl;
if (a4 = 2) cout "Одинаковых цифр 4 - " a4 " штук" endl;
if (a5 = 2) cout "Одинаковых цифр 5 - " a5 " штук" endl;
if (a6 = 2) cout "Одинаковых цифр 6 - " a6 " штук" endl;
if (a7 = 2) cout "Одинаковых цифр 7 - " a7 " штук" endl;
if (a8 = 2) cout "Одинаковых цифр 8 - " a8 " штук" endl;
if (a9 = 2) cout "Одинаковых цифр 9 - " a9 " штук" endl;
}
return 0;
}
Тестовые испытания
Практическая работа №6
Обработка одномерных массивов.
Цель: Сформировать умение программировать задачи на одномерные массивы.
Задача: Запрограммировать задачи.
Дан целочисленный массив из n элементов. Найти количество элементов, равных максимальному.
Дан целочисленный массив из n элементов. Найти 3 последовательных элемента, сумма которых максимальна.
Даны одномерные массивы А и B размерностью n. Сформировать массив С из элементов двух массивов, вначале из отрицательных элементов массива А, а затем из четных элементов массива В.
Сформировать отчет по решенным задачам (пример отчета страница 2).
Каждая решенная задача должна сопровождаться, минимум двумя тестовыми испытаниями.
Критерий оценки:
5 (отлично) – решены три задачи. Соблюдено время на выполнение задания. Сформирован отчет по трем задачам.
4 (хорошо) – решены две задачи. Соблюдено время на выполнение задания. Сформирован отчет по двум задачам.
3 (удовлетворительно) – решена одна задача. Соблюдено время на выполнение задания. Сформирован отчет по одной задаче.
2 (неудовлетворительно) – не решено ни одной задачи.
Дан массив из n элементов. Найти повторяющиеся числа в массиве.
Код программы
#include
#include
using namespace std;
int main()
{
srand(time(NULL));
setlocale(LC_ALL, "rus");
int a[100], b[100], n = 0, k = 0, f = 0;
cout "Введите размер массива: ";
cin n;
cout "Массив заполненый случайными числами\n";
for (int i = 0; i
{
a[i] = (rand() % 11) - 5; //Диапазон случайных чисел от 5 до -5
cout a[i] " ";
}
cout endl;
for (int i = 0; i
{
for (int j = i + 1; j
{
if (a[i] == a[j])
{
for (int i1 = 0; i1
if (b[i1] == a[i]) f = 1;
if (f == 0) { b[k] = a[i]; k += 1; }
}
}
f = 0;
}
cout "Повторяющиеся чисела в массиве" endl;
for (int i = 0; i
cout b[i] " ";
cout endl;
return 0;
}
Тестовые испытания
Практическая работа №7
Обработка двумерных массивов.
Цель: Сформировать умение программировать задачи на двумерные массивы.
Задача: Запрограммировать задачи.
Дан двумерный массив А, подсчитать сумму элементов каждого столбца.
Дан двумерный массив А, сформировать массив B состоящий из сумм элементов строк содержащих числа в диапазоне [1..5].
Сформировать квадратную матрицу порядка n (размерностью не меньше 3 и не больше 10) по заданному образцу.
1 | 2 | … | n-1 | n |
2 | 2 | … | n-1 | n |
… | … | … | n-1 | n |
n-1 | n-1 | n-1 | n-1 | n |
n | n | n | n | n |
Сформировать отчет по решенным задачам (пример отчета страница 2, 3).
Каждая решенная задача должна сопровождаться, минимум двумя тестовыми испытаниями.
Критерий оценки:
5 (отлично) – решены три задачи. Соблюдено время на выполнение задания. Сформирован отчет по трем задачам.
4 (хорошо) – решены две задачи. Соблюдено время на выполнение задания. Сформирован отчет по двум задачам.
3 (удовлетворительно) – решена одна задача. Соблюдено время на выполнение задания. Сформирован отчет по одной задаче.
2 (неудовлетворительно) – не решено ни одной задачи.
Сформировать квадратную матрицу порядка n (размерностью не меньше 3 и не больше 10) по заданному образцу.
1 | 0 | 2 | 0 | … |
0 | 2 | 0 | … | 0 |
2 | 0 | … | 0 | n-1 |
0 | … | 0 | n-1 | 0 |
… | 0 | n-1 | 0 | n |
Код программы
#include
#include
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
int a[10][10], n = 0, k = 1;
//Проверка на правильность ввода размера матрицы от 3 до 10
do
{
system("cls");
cout "Введите размер матрицы от 3 до 10: ";
cin n;
}
while ((n10));
cout "Сформированная матрица\n";
for (int i = 0; i
{
for (int j = 0; j
{
if ((i % 2 != 0) && (j % 2 != 0)) { a[i][j] = k; k += 1; }
else
if ((i % 2 == 0) && (j % 2 == 0)) { a[i][j] = k; k += 1; }
else a[i][j] = 0;
cout a[i][j] " ";
}
cout endl;
k = 1;
}
return 0;
}
Тестовые испытания
Практическая работа №8
Работа со строками.
Цель: Сформировать умение программировать задачи на работу со строками.
Задача: Запрограммировать задачи.
Дана символьная строка. Определить количество пробелов в данной строке.
Строка содержит английский текст. Подсчитать количество слов, начинающихся на букву b или B.
Дана символьная строка. Удалить из строки подстроку, введенную с клавиатуры.
Сформировать отчет по решенным задачам (пример отчета страница 2).
Каждая решенная задача должна сопровождаться, минимум двумя тестовыми испытаниями.
Критерий оценки:
5 (отлично) – решены три задачи. Соблюдено время на выполнение задания. Сформирован отчет по трем задачам.
4 (хорошо) – решены две задачи. Соблюдено время на выполнение задания. Сформирован отчет по двум задачам.
3 (удовлетворительно) – решена одна задача. Соблюдено время на выполнение задания. Сформирован отчет по одной задаче.
2 (неудовлетворительно) – не решено ни одной задачи.
Дана символьная строка. Вставить в строку подстроку, введенную с клавиатуры перед каждым символом строки введенным с клавиатуры.
Код программы
#include
#include
#include
using namespace std;
int main()
{
SetConsoleOutputCP(1251);
SetConsoleCP(1251);
char st[255], st1[255], st2[255], ch;
int k = 0;
cout "Введите строку: ";
gets_s(st);
cout "Введите символ за которым надо вставить подстроку: ";
ch = getchar();
cin.ignore(32767, '\n');
cout "Введите подстроку для вставки: ";
gets_s(st1);
for (int i = 0; st[i]; i++)
{
if (st[i] != ch) { st2[k] = st[i]; k += 1; }
if (st[i] == ch)
{
st2[k] = st[i]; k += 1;
for (int j = 0; st1[j]; j++)
{ st2[k] = st1[j]; k += 1; }
}
}
st2[k] = '\0';
cout "Полученная строка: " st2 endl;
return 0;
}
Тестовые испытания
Практическая работа №9
Работа со структурами и объединениями.
Цель: Сформировать умение программировать задачи на структуры и объединения.
Задача: Запрограммировать задачи.
Создать структуру Human с полями – id, surname, name. Создать две переменные типа структуры Ivan, Sergey. Инициализировать переменные структур значениями – Ivan: 1, Иванов, Иван; Sergey – 2, Сергеев, Сергей с помощью списка инициализаторов.
Вывести на экран значения структур в следующем формате:
№ п/п – 1
Фамилия – Иванов
Имя – Иван
№ п/п – 2
Фамилия – Сергеев
Имя – Сергей
Создать структуру Human с полями – id, surname, name, oklad, avans. Создать две переменные типа структуры Ivan, Ваше имя на английском языке. Инициализировать переменные структур значениями – Ivan: 1, Иванов, Иван, 34500.50, 12000.00; Ваше имя на английском языке – 2, Ваша фамилия на русском языке, Ваше имя на русском языке, 40000.20, 13000.00 с помощью списка инициализаторов. Зарплата и общая зарплата высчитываются с помощью полей структур.
Вывести на экран значения структур в следующем формате:
№ п/п – 1
Фамилия – Иванов
Имя – Иван
Оклад – 34500.50
Аванс – 12000.00
Зарплата – 46500.50
№ п/п – 2
Фамилия – Ваша фамилия на русском языке
Имя – Ваше имя на русском языке
Оклад – 40000.20
Аванс – 13000.00
Зарплата – 53000.20
Общая зарплата – 99500.70
Сформировать отчет по решенным задачам (пример отчета страница 3).
Каждая решенная задача должна сопровождаться одним тестовым испытанием.
Критерий оценки:
5 (отлично) – решены две задачи. Соблюдено время на выполнение задания. Сформирован отчет по двум задачам.
4 (хорошо) – решены две задачи. Время на выполнение задания не соблюдено. Сформирован отчет по двум задачам.
3 (удовлетворительно) – решена одна задача. Соблюдено время на выполнение задания. Сформирован отчет по одной задачи.
2 (неудовлетворительно) – не решено ни одной задачи.
Создать структуру Dog с полями – breed, color, age. Создать переменную типа структуры Rex. Инициализировать переменную структуры Rex с клавиатуры. Вывести на экран значения переменной структуры Rex.
Код программы
#include
#include
using namespace std;
struct Dog
{
char breed[100];
char color[100];
int age;
};
int main()
{
SetConsoleOutputCP(1251);
SetConsoleCP(1251);
Dog Rex;
cout "Введите данные про собаку по кличке Рекс" endl;
cout "Порода: ";
gets_s(Rex.breed);
cout "Цвет: ";
gets_s(Rex.color);
cout "Возраст: ";
cin Rex.age;
cout endl;
cout "Данные хранимые в структуре про собаку по кличке Рекс" endl;
cout "Порода - " Rex.breed endl;
cout "Цвет - " Rex.color endl;
cout "Возраст - " Rex.age endl;
return 0;
}
Тестовые испытания
Практическая работа №10
Работа с файлами последовательного доступа.
Цель: Сформировать умение программировать задачи по работе с файлами последовательного доступа.
Задача: Запрограммировать задачи.
Создать текстовый файл 1.txt на диске С в папке 100 (папку 100 предварительно создать на диске С). Как прописать конкретный путь к файлу, смотри в примере отчета. В файл записывать строки, вводимые с клавиатуры до тех пор, пока не будет введена пустая строка (Enter), вывести сообщение «Файл создан».
Вывести содержимое файла 1.txt хранимого на диске С в папке 100. Подсчитать количество символов в каждой строке.
Пример вывода на экран результата второй программы:
С одержимое файла 1.txt
Здравствуйте!
Меня зовут Андрей.
Я люблю программировать.
Количество символов (1 строка) - 13
Количество символов (2 строка) - 18
Количество символов (3 строка) - 24
Сформировать отчет по решенным задачам (пример отчета страница 2).
Каждая решенная задача должна сопровождаться одним тестовым испытанием.
Критерий оценки:
5 (отлично) – решены две задачи. Соблюдено время на выполнение задания. Сформирован отчет по двум задачам.
4 (хорошо) – решены две задачи. Время на выполнение задания не соблюдено. Сформирован отчет по двум задачам.
3 (удовлетворительно) – решена одна задача. Соблюдено время на выполнение задания. Сформирован отчет по одной задачи.
2 (неудовлетворительно) – не решено ни одной задачи.
Создать текстовый файл 1.txt на диске С в папке 100 (папку 100 предварительно создать на диске С). В файл записывать строки, вводимые с клавиатуры до тех пор, пока не будет введена строка, содержащая только точку (.), вывести сообщение «Файл создан».
Код программы
#include
#include
#include cstdlib // для использования функции exit()
#include
int main()
{
SetConsoleOutputCP(1251);
SetConsoleCP(1251);
char st[100];
using namespace std;
ofstream outf("c:\\100\\1.txt");
cout "Вводите данные в файл, пока не введете строку с точкой" endl;
if (!outf)
{
cout "Не могу открыть файл." endl;
exit(1);
}
while (true)
{
gets_s(st);
if (st[0] == '.') break;
outf st endl;
}
cout "Файл создан." endl;
return 0;
}
Тестовые испытания
Практическая работа №11
Организация функций.
Цель: Сформировать умение программировать задачи с созданием пользовательских функций.
Задача: Запрограммировать задачи.
Вычислить сумму четных цифр введенного числа. Решить задачу с использованием функции.
Дано натуральное число. Вставить в данное число первую цифру введенную с клавиатуры. Решить задачу с использованием функции.
Дано натуральное число. Удалить из числа все цифры 0. Решить задачу с использованием функции.
Сформировать отчет по решенным задачам (пример отчета страница 2).
Каждая решенная задача должна сопровождаться, минимум двумя тестовыми испытаниями.
Критерий оценки:
5 (отлично) – решены три задачи. Соблюдено время на выполнение задания. Сформирован отчет по трем задачам.
4 (хорошо) – решены две задачи. Соблюдено время на выполнение задания. Сформирован отчет по двум задачам.
3 (удовлетворительно) – решена одна задача. Соблюдено время на выполнение задания. Сформирован отчет по одной задаче.
2 (неудовлетворительно) – не решено ни одной задачи.
Дано натуральное число. Упорядочить цифры числа по возрастанию. Решить задачу с использованием функции.
Код программы
#include
#include
using namespace std;
int sort_chislo(int n)
{
int a[100], k = 0, q = 1, c;
while (n)
{
a[k] = n % 10;
n /= 10;
k += 1;
}
for (int i = 0; i
for(int j = i+1; j
if (a[i] a[j])
{
c = a[i]; a[i] = a[j]; a[j] = c;
}
for (int i = k-1; i = 0; i--)
{
n = n + a[i] * q;
q *= 10;
}
return n;
}
int main()
{
SetConsoleOutputCP(1251);
SetConsoleCP(1251);
int n;
cout "Введите натуральное число: ";
cin n;
cout "Цифры в числе отсортированы по возрастанию: " sort_chislo(n) endl;
return 0;
}
Тестовые испытания
Практическая работа №12
Применение рекурсивных функций.
Цель: Сформировать умение программировать задачи на рекурсивные функции.
Задача: Запрограммировать задачи.
Дан одномерный массив целых чисел из n элементов. Подсчет количества элементов массива, больших заданного числа.
Вычислить факториал числа – n!
Сформировать отчет по решенным задачам (пример отчета страница 2).
Каждая решенная задача должна сопровождаться, минимум двумя тестовыми испытаниями.
Критерий оценки:
5 (отлично) – решены две задачи. Соблюдено время на выполнение задания. Сформирован отчет по двум задачам.
4 (хорошо) – решены две задачи. Время на выполнение задания не соблюдено. Сформирован отчет по двум задачам.
3 (удовлетворительно) – решена одна задача. Соблюдено время на выполнение задания. Сформирован отчет по одной задаче.
2 (неудовлетворительно) – не решено ни одной задачи.
Дан одномерный массив целых чисел из n элементов. Разработать рекурсивную функцию, которая находит сумму элементов массива.
S = A[0] + A[1] + … + A[n]
Код программы
#include
#include
#include
using namespace std;
// сумма элементов массива
int Sum(int i, int a[], int n)
{
if (i == n - 1)
return a[i];
else
return a[i] + Sum(i + 1, a, n);
}
int main()
{
srand(time(NULL));
SetConsoleOutputCP(1251);
SetConsoleCP(1251);
int n, a[100];
cout "Введите размер массива: ";
cin n;
cout "Массив заполненный случайными числами\n";
for (int i = 0; i
{
a[i] = (rand() % 11) - 5;
cout a[i] " ";
}
cout endl;
cout "Сумма элементов массива: " Sum(0,a,n) endl;;
return 0;
}
Тестовые испытания
Практическая работа №13
Разработка библиотечного модуля.
Цель: Сформировать умение программировать задачи с использованием пользовательских библиотек.
Задача: Запрограммировать задачи.
Создать библиотечный модуль со следующими функциями:
Дано натуральное число подсчитать произведение цифр числа.
Дана строка на английском языке, подсчитать количество гласных символов в строке.
Дан одномерный целочисленный массив из n элементов. Подсчитать количество элементов массива кратных 3.
Сформировать отчет по решеной задачи (пример отчета страницы 2, 3).
Задача должна подключать библиотечный модуль и вызывать разработанные функции. Решенная задача должна сопровождаться, минимум двумя тестовыми испытаниями.
Критерий оценки:
5 (отлично) – сформированы три функции в библиотечном файле и вызваны из основной программы. Соблюдено время на выполнение задания. Сформирован отчет по трем функциям.
4 (хорошо) – сформированы две функции в библиотечном файле и вызваны из основной программы. Соблюдено время на выполнение задания. Сформирован отчет по двум функциям.
3 (удовлетворительно) – сформирована одна функция в библиотечном файле и вызвана из основной программы. Соблюдено время на выполнение задания. Сформирован отчет по одной функции.
2 (неудовлетворительно) – не решено ни одной функции.
Создать библиотечный модуль со следующими функциями:
Дано натуральное число подсчитать количество цифр 5 в числе.
Дана строка, подсчитать количество пробелов в строке.
Код библиотечного модуля (zadanie13.h)
int kol_5_v_chisle(int n)
{
int k = 0;
while (n)
{
if (n % 10 == 5) k++;
n /= 10;
}
return k;
}
int kol_probelov_v_stroke(char* st)
{
int k = 0;
for (int i = 0; st[i]; i++)
if (st[i] == ' ') k++;
return k;
}
Код программы
#include
#include
#include "zadanie13.h"
using namespace std;
int main()
{
SetConsoleOutputCP(1251);
SetConsoleCP(1251);
cout "Задача 1" endl;
int n;
cout "Введите число: ";
cin n;
cout "Количество цифр 5 в числе = " kol_5_v_chisle(n) endl endl;
cin.ignore(32767, '\n');
cout "Задача 2" endl;
char st[255];
cout "Введите строку: ";
gets_s(st);
cout "Количество пробелов в строке = " kol_probelov_v_stroke(st) endl endl;
return 0;
}
Тестовые испытания
Практическая работа №14
Разработка программ с использованием указателей.
Цель: Сформировать умение программировать задачи с использованием указателей.
Задача: Запрограммировать задачи.
Дан одномерный целочисленный массив из n элементов. Заменить в массиве все отрицательные элементы на положительные, а положительные увеличить в два раза. Решить задачу с использованием указателя на массив.
Дана строка, подсчитать количество цифр в строке и заменить все пробелы, на символ ‘+’. Решить задачу с использованием указателя на строку.
Дан одномерный целочисленный массив из n элементов. Представить массив в перевернутом виде (зеркально). Решить задачу с использованием указателя на массив.
Сформировать отчет по решеным задачам (пример отчета страницы 2, 3).
Решеные задачи должны сопровождаться, минимум двумя тестовыми испытаниями.
Критерий оценки:
5 (отлично) – решены три задачи. Соблюдено время на выполнение задания. Сформирован отчет по трем задачам.
4 (хорошо) – решены две задачи. Соблюдено время на выполнение задания. Сформирован отчет по двум задачам.
3 (удовлетворительно) – решена одна задача. Соблюдено время на выполнение задания. Сформирован отчет по одной задаче.
2 (неудовлетворительно) – не решено ни одной задачи.
Дан одномерный целочисленный массив из n элементов. Вставить в массив элементы равные -55 после каждого элемента равного нулю. Решить задачу с использованием указателя на массив.
Код программы
#include
#include
#include
using namespace std;
int main()
{
srand(time(NULL));
SetConsoleOutputCP(1251);
SetConsoleCP(1251);
int* a1, * a2, * a3, n, a[100];
cout "Введите размер массива: ";
cin n;
a1 = a;
cout "Заполненый массив" endl;
for (; a1
{
*a1 = (rand() % 5) - 2;
cout *a1 " ";
}
cout endl;
a1 = a;
for (; a1
{
if (*a1 == 0)
{
a2 = a + n;
a3 = a + n - 1;
while (a3 != a1)
{
*a2 = *a3;
a2--; a3--;
}
n += 1;
*a2 = -55;
}
}
a1 = a;
for (; a1
{
cout *a1 " ";
}
cout endl;
return 0;
}
Тестовые испытания
Практическая работа №15
Создание класса с методами и свойствами.
Цель: Сформировать умение программировать задачи с использованием классов, методов и свойств.
Задача: Запрограммировать задачу.
Создать класс с именем Animals (животные), содержащий два поля для хранения окраса и цвета глаз. В классе создать конструктор, метод ввода данных (окрас и цвет глаз животного) и метод вывода данных на экран (окрас и цвет глаз животного). От класса Animals с помощью наследования создать класс Dogs. К классу Dogs добавить дополнительные поля, содержащие пароду и тип шерсти (гладкая, жесткая, длинная, кучерявая). Для производного класса создать конструктор, метод ввода данных (парода и тип шерсти), метод вывода данных на экран (парода, тип шерсти, окрас и цвет глаз животного). В основной программе определить два объекта: собаки. Вывести полную информацию о собаках.
Сформировать отчет по решенной задаче (пример отчета страница 2, 3).
Решенная задача должна сопровождаться, минимум двумя тестовыми испытаниями.
Критерий оценки:
5 (отлично) – Создан основной класс, наследуемый класс, реализованы правильно конструкторы и методы основного и наследуемого классов. Созданы два объекта. Выведена полная информация по созданным объектам. Соблюдено время на выполнение задания. Сформирован отчет по задаче.
4 (хорошо) – Создан основной класс, наследуемый класс, реализованы правильно конструкторы и методы основного и наследуемого классов. Созданы два объекта. Выведена полная информация по созданным объектам. Время на выполнение задания не соблюдено. Сформирован отчет по задаче.
3 (удовлетворительно) – Создан основной класс, реализованы правильно конструкторы и методы основного класса. Созданы два объекта. Выведена информация по созданным объектам из основного класса. Соблюдено время на выполнение задания. Сформирован отчет по задаче.
2 (неудовлетворительно) – задача не решена.
Создать класс с именем Employee (Работник), содержащий три поля ФИО, должность, зарплата. В классе создать конструктор, метод ввода данных (ФИО, должность, зарплата) и метод вывода данных на экран (ФИО, должность, зарплата). От класса Employee с помощью наследования создать класс Manager (менеджер). К классу Manager добавить дополнительные поля: марка служебного автомобиля, премия. Для производного класса создать конструктор, метод ввода данных (марка служебного автомобиля, премия), метод вывода данных на экран (ФИО, должность, зарплата, марка служебного автомобиля, премия, оклад (формула оклада = ((зарплата + премия) – 13% подоходного налога)). В основной программе определить двух менеджеров. Вывести полную информацию о менеджерах.
Код программы
#include
#include
#include
using namespace std;
class Employee
{
private:
string fio;
string post;
public:
double zarplata;
Employee()
{
}
void Employee_1(const char *e_fio, const char *e_post, double e_zarplata)
{
fio = e_fio;
post = e_post;
zarplata = e_zarplata;
}
void Show_employee()
{
cout "Менеджер - " fio endl;
cout "Должность - " post endl;
cout "Зарплата - " fixed setprecision(2) zarplata endl;
}
};
class Manager : public Employee
{
private:
string marka_avto;
double premia;
public:
Manager()
{
}
void Manager_1(const char *m_marka_avto, double m_premia)
{
marka_avto = m_marka_avto;
premia = m_premia;
}
void Show_manager()
{
Show_employee();
cout "Марка служебного автомобиля - " marka_avto endl;
cout "Премия - " premia endl;
cout "Оклад с учетом вычита 13% налога - " fixed setprecision(2) (zarplata + premia)-((zarplata + premia)*0.13) endl;
}
};
int main()
{
SetConsoleOutputCP(1251);
SetConsoleCP(1251);
Manager Ivan;
Ivan.Employee_1("Иванов Иван Иванович", "техник", 65000.00);
Ivan.Manager_1("BMW", 10000);
Ivan.Show_manager();
cout endl;
Manager Petr;
Petr.Employee_1("Петров Петр Петрович", "администратор", 120000.00);
Petr.Manager_1("Лада (Калина)", 30000);
Petr.Show_manager();
cout endl;
return 0;
}
Тестовые испытания
Практическая работа №16-17
Разработка оконного приложения
Цель: Сформировать умение программировать оконные приложения.
Задача: Запрограммировать задачи.
Создать форму представленную на рисунке. В поля 1 .. 8 вводятся целочисленные значения. Результатом работы программы является произведение элементов расположенных в нечетных индексах.
Создать форму представленную на рисунке. В поле Сумма вводится числовое значение, в поля Евро и Доллар вводятся числовые значения. Результатом работы программы является числовое значение в поле Результат при выборе одной из валют в поле Перевести в.
Сформировать отчет по решенным задачам (пример отчета страница 8 – 13).
Решенные задачи должны сопровождаться, минимум двумя тестовыми испытаниями.
Критерий оценки:
5 (отлично) – решены две задачи. Соблюдено время на выполнение задания. Сформирован отчет по двум задачам.
4 (хорошо) – решены две задачи. Время на выполнение задания не соблюдено. Сформирован отчет по двум задачам.
3 (удовлетворительно) – решена одна задача. Соблюдено время на выполнение задания. Сформирован отчет по одной задаче.
2 (неудовлетворительно) – не решено ни одной задачи.
Разработка оконного приложения.
Для создания оконного приложения в среде программирования Visual Studio 2019 необходимо проделать следующие манипуляции по настроке среды.
При создании проекта выбрать пункт – Пустой проект CLR ориентированный на платформу .NET Framework.
Дать название своему проекту (латинскими символами).
В меню – Проект – Свойства, произвести следующие настройки.
В пункте Система – Подсистема – установить Windows (/SUBSYSTEM:WINDOWS).
В пункте Дополнительно – Точка входа – прописать название главной функции main.
В меню – Проект – Добавить новый элемент, выбрать – Среда CLR – Форма Windows Form.
После всех проделанных настроек откроется окно с сообщением об ошибке 0x8000000A.
Для избавления от ошибки 0x8000000A необходимо, вызвать главный файл проекта, в области Обозреватель решений. На файле дважды нажать правой клавишей мыши (в данном примере это файл MyForm.cpp).
В открывшийся главный файл проекта записать следующий текст:
#include "MyForm.h"
using namespace System;
using namespace System::Windows::Forms;
using namespace Calculator; //имя проекта
int main()
{
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
Application::Run(gcnew MyForm);
return 0;
}
В меню Файл, выбрать сохранить все и перезагрузить проект. Ошибка 0x8000000A должна пропасть и появится окно с формой показанное на рисунке.
Создать форму представленную на рисунке. При вводе значений в первое и во второе поле, и при нажатии кнопки арифметического действия, производится вычисление в третье поле (вычисляемое). Если в первое или во второе поле не введено значение (значение введено только в одно поле), при нажатии на кнопку арифметического действия третье поле (вычисляемое) остается пустым.
Код программы (MyForm.cpp)
#include "MyForm.h"
#include
#include
using namespace System;
using namespace System::Windows::Forms;
using namespace Calculator;
int main()
{
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
Application::Run(gcnew MyForm);
return 0;
}
Код заголовочного файла (MyForm.h)
#pragma once
namespace Calculator {
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
double h1, h2, h3; int k1=0, k2=0, a=0;
///
/// Сводка для MyForm
///
public ref class MyForm : public System::Windows::Forms::Form
{
public:
MyForm(void)
{
InitializeComponent();
//
//TODO: добавьте код конструктора
//
}
protected:
///
/// Освободить все используемые ресурсы.
///
~MyForm()
{
if (components)
{
delete components;
}
}
private: System::Windows::Forms::TextBox^ textBox1;
protected:
private: System::Windows::Forms::TextBox^ textBox2;
private: System::Windows::Forms::Button^ button1;
private: System::Windows::Forms::Button^ button2;
private: System::Windows::Forms::Button^ button3;
private: System::Windows::Forms::Button^ button4;
private: System::Windows::Forms::TextBox^ textBox3;
private: System::Windows::Forms::Label^ label1;
private:
///
/// Обязательная переменная конструктора.
///
System::ComponentModel::Container ^components;
#pragma region Windows Form Designer generated code
///
/// Требуемый метод для поддержки конструктора — не изменяйте
/// содержимое этого метода с помощью редактора кода.
///
void InitializeComponent(void)
{
this-textBox1 = (gcnew System::Windows::Forms::TextBox());
this-textBox2 = (gcnew System::Windows::Forms::TextBox());
this-button1 = (gcnew System::Windows::Forms::Button());
this-button2 = (gcnew System::Windows::Forms::Button());
this-button3 = (gcnew System::Windows::Forms::Button());
this-button4 = (gcnew System::Windows::Forms::Button());
this-textBox3 = (gcnew System::Windows::Forms::TextBox());
this-label1 = (gcnew System::Windows::Forms::Label());
this-SuspendLayout();
//
// textBox1
//
this-textBox1-Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 10.2F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
static_castByte(204)));
this-textBox1-Location = System::Drawing::Point(23, 65);
this-textBox1-Multiline = true;
this-textBox1-Name = L"textBox1";
this-textBox1-Size = System::Drawing::Size(234, 31);
this-textBox1-TabIndex = 0;
//
// textBox2
//
this-textBox2-Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 10.2F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
static_castByte(204)));
this-textBox2-Location = System::Drawing::Point(23, 102);
this-textBox2-Multiline = true;
this-textBox2-Name = L"textBox2";
this-textBox2-Size = System::Drawing::Size(234, 31);
this-textBox2-TabIndex = 0;
//
// button1
//
this-button1-Location = System::Drawing::Point(23, 139);
this-button1-Name = L"button1";
this-button1-Size = System::Drawing::Size(54, 24);
this-button1-TabIndex = 1;
this-button1-Text = L"+";
this-button1-UseVisualStyleBackColor = true;
this-button1-Click += gcnew System::EventHandler(this, &MyForm::Button1_Click);
//
// button2
//
this-button2-Location = System::Drawing::Point(83, 139);
this-button2-Name = L"button2";
this-button2-Size = System::Drawing::Size(54, 24);
this-button2-TabIndex = 1;
this-button2-Text = L"-";
this-button2-UseVisualStyleBackColor = true;
this-button2-Click += gcnew System::EventHandler(this, &MyForm::Button2_Click);
//
// button3
//
this-button3-Location = System::Drawing::Point(143, 139);
this-button3-Name = L"button3";
this-button3-Size = System::Drawing::Size(54, 24);
this-button3-TabIndex = 1;
this-button3-Text = L"*";
this-button3-UseVisualStyleBackColor = true;
this-button3-Click += gcnew System::EventHandler(this, &MyForm::Button3_Click);
//
// button4
//
this-button4-Location = System::Drawing::Point(203, 139);
this-button4-Name = L"button4";
this-button4-Size = System::Drawing::Size(54, 24);
this-button4-TabIndex = 1;
this-button4-Text = L"/";
this-button4-UseVisualStyleBackColor = true;
this-button4-Click += gcnew System::EventHandler(this, &MyForm::Button4_Click);
//
// textBox3
//
this-textBox3-Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 10.2F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
static_castByte(204)));
this-textBox3-Location = System::Drawing::Point(23, 169);
this-textBox3-Multiline = true;
this-textBox3-Name = L"textBox3";
this-textBox3-Size = System::Drawing::Size(234, 31);
this-textBox3-TabIndex = 0;
//
// label1
//
this-label1-AutoSize = true;
this-label1-Font = (gcnew System::Drawing::Font(L"Times New Roman", 22.2F, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
static_castByte(204)));
this-label1-Location = System::Drawing::Point(26, 9);
this-label1-Name = L"label1";
this-label1-Size = System::Drawing::Size(217, 43);
this-label1-TabIndex = 2;
this-label1-Text = L"Калькулятор";
this-label1-TextAlign = System::Drawing::ContentAlignment::TopCenter;
//
// MyForm
//
this-AutoScaleDimensions = System::Drawing::SizeF(8, 16);
this-AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
this-ClientSize = System::Drawing::Size(284, 221);
this-Controls-Add(this-label1);
this-Controls-Add(this-button4);
this-Controls-Add(this-button3);
this-Controls-Add(this-button2);
this-Controls-Add(this-button1);
this-Controls-Add(this-textBox3);
this-Controls-Add(this-textBox2);
this-Controls-Add(this-textBox1);
this-Name = L"MyForm";
this-Text = L"Калькулятор";
this-Load += gcnew System::EventHandler(this, &MyForm::MyForm_Load);
this-ResumeLayout(false);
this-PerformLayout();
}
#pragma endregion
private: System::Void Button1_Click(System::Object^ sender, System::EventArgs^ e)
{
try
{
h1 = System::Convert::ToDouble(textBox1-Text);
}
catch (System::FormatException^)
{
h1 = 0; k1 = 1; textBox3-Text = "";
}
try
{
h2 = System::Convert::ToDouble(textBox2-Text);
}
catch (System::FormatException^)
{
h2 = 0; k2 = 1; textBox3-Text = "";
}
if ((k1 == 0) && (k2 == 0))
{
h3 = h1 + h2;
textBox3-Text = Convert::ToString(h3);
}
k1 = 0; k2 = 0;
}
private: System::Void MyForm_Load(System::Object^ sender, System::EventArgs^ e)
{
textBox1-Select();
}
private: System::Void Button2_Click(System::Object^ sender, System::EventArgs^ e)
{
try
{
h1 = System::Convert::ToDouble(textBox1-Text);
}
catch (System::FormatException^)
{
h1 = 0; k1 = 1; textBox3-Text = "";
}
try
{
h2 = System::Convert::ToDouble(textBox2-Text);
}
catch (System::FormatException^)
{
h2 = 0; k2 = 1; textBox3-Text = "";
}
if ((k1 == 0) && (k2 == 0))
{
h3 = h1 - h2;
textBox3-Text = Convert::ToString(h3);
}
k1 = 0; k2 = 0;
}
private: System::Void Button3_Click(System::Object^ sender, System::EventArgs^ e)
{
try
{
h1 = System::Convert::ToDouble(textBox1-Text);
}
catch (System::FormatException^)
{
h1 = 0; k1 = 1; textBox3-Text = "";
}
try
{
h2 = System::Convert::ToDouble(textBox2-Text);
}
catch (System::FormatException^)
{
h2 = 0; k2 = 1; textBox3-Text = "";
}
if ((k1 == 0) && (k2 == 0))
{
h3 = h1 * h2;
textBox3-Text = Convert::ToString(h3);
}
k1 = 0; k2 = 0;
}
private: System::Void Button4_Click(System::Object^ sender, System::EventArgs^ e)
{
try
{
h1 = System::Convert::ToDouble(textBox1-Text);
}
catch (System::FormatException^)
{
h1 = 0; k1 = 1; textBox3-Text = "";
}
try
{
h2 = System::Convert::ToDouble(textBox2-Text);
}
catch (System::FormatException^)
{
h2 = 0; k2 = 1; textBox3-Text = "";
}
if ((k1 == 0) && (k2 == 0))
{
h3 = h1 / h2;
textBox3-Text = Convert::ToString(h3);
}
k1 = 0; k2 = 0;
}
};
}
Тестовые испытания
2