- •5.1. Разработка алгоритма решения
- •5.2. Определение переменных программы
- •5.3. Разработка текста программы
- •5.4. Результат работы программы представлен на рисунке:
- •Int a; // глобальная переменная
- •Int с; // локальная переменная
- •5.6. Выводы
- •6. Контрольные вопросы
- •Приложение 1. Математические функции.
- •Приложение 2. Порядок создания консольного приложения в интегрированной среде разработки Microsoft Visual Studio 10.0
- •5. Пример решения задачи (вариант 30)
- •5.1. Разработка алгоритма решения
- •5.1.1. Общий метод решения
- •5.2. Определение переменных программы
- •5.3. Разработка текста программы
- •5.4. Отладка программы
- •5.5. Результаты работы программы
- •5.6. Выводы
- •6. Контрольные вопросы
- •Приложение 2. Некоторые функции стандартного ввода-вывода
- •5. Пример решения задачи (вариант 30)
- •5.1. Программа упаковки
- •5.1.1. Разработка алгоритма решения.
- •5.1.2. Определение переменных программы
- •5.2. Программа распаковки
- •5.2.1. Разработка алгоритма решения.
- •5.3. Выводы
- •6. Контрольные вопросы
- •5. Пример решения задачи (вариант 30)
- •5.1. Программа упаковки
- •5.1.1. Разработка алгоритма решения.
- •5.1.2. Определение переменных программы
- •5.2. Программа распаковки
- •5.2.1. Разработка алгоритма решения.
- •5.3. Выводы
- •6. Контрольные вопросы
- •5.2. Определение переменных программы
- •5.3. Разработка текста программы
- •5.4. Отладка программы
- •5.5. Результаты работы программы
- •5.6. Выводы
- •Задание 1.
- •Задание 2
- •6. Контрольные вопросы
5.2. Определение переменных программы
Для реализации алгоритма нам будут нужны только переменные для хранения значений координат x и y. В условиях задания не приведены требования к точности вычислений, рисунок представлен с довольно невысокой точностью, поэтому для этих переменных было бы достаточно типа float. Но в соответствии с общим стилем программирования на C выберем для них тип double.
5.3. Разработка текста программы
Текст программы начинается с включения файла:
#include <stdio.h>
т.к. нам обязательно понадобятся функции стандартного ввода-вывода, которые описаны в этом файле. Можно использовать потоковый ввод-вывод, подключив заголовочный файл iostream.
Далее идет заголовок и открытие главной функции:
int main(void) {
и объявление переменных, определенных в пункте 5.2.
double x, y;
Для каждой координаты выводится приглашение на ее ввод и вводится ее значение:
printf("Введите координату x >");
scanf("%lf",&x);
printf("Введите координату y >");
scanf("%lf",&y);
Введенные значения координат выводятся на экран:
printf("x=%6.3lf; y=%6.3lf\n",x,y);
Далее идет проверка условий попадания точки в область. Оба условия проверяются одним выражением. Поскольку точка попадает в область, если выполняются оба условия вместе, условия в выражении соединены операцией "логическое И":
if ( (y>=1-x)&& (x*x+y*y<=1) )
Если значение логического выражения в условном операторе истинно, то выводится сообщение про попадание:
printf("Точка попадает в область\n");
В противном случае выводится сообщение про непопадание:
else printf("Точка не попадает в область\n");
Полный текст программы приведен ниже.
/****************************************************/
/* Практическое занятие №5 */
/* Условный оператор */
/* Пример выполнение. Вариант №30. */
/****************************************************/
#include <stdio.h>
int main(void) {
double x, y; /* координаты точки */
/* ввод координат */
printf("Введите координату x >");
scanf("%lf",&x);
printf("Введите координату y >");
scanf("%lf",&y);
/* вывод только что введенных значений */
printf("x=%6.3lf; y=%6.3lf\n",x,y);
/* проверка условий */
if ( (y>=1-x)
&& (x*x+y*y<=1) )
printf("Точка попадает в область\n");
else printf("Точка не попадает в область\n");
return 0;
}
5.4. Отладка программы
Самое важное в отладке этой программы - убедиться в том, что программа выдает правильные результаты при разных комбинациях входных данных. Следовательно, необходимо подобрать такие комбинации, которые были бы показательными для разных случаев размещения точки. Мы предлагаем такие комбинации:
1) точка лежит ниже области - (0.4, 0.4);
2) точка лежит на нижней границе области - (0.5, 0.5);
3) точка лежит внутри области - (0.7, 0.6);
4) точка лежит на верхней границе области - (0.707, 0.707);
5) точка лежит выше области - (0.8, 0.8);
6) точка лежит на правом краю области - (1.0, 0.0);
7) точка лежит на левом краю области - (0.0, 1.0);
5.5. Результаты работы программы
Ниже приведены результаты работы программы для входных данных по п.5.4:
x=0.400; y=0.400
Точка не попадает в область
x= 0.500; y= 0.500
Точка попадает в область
x= 0.700; y= 0.600
Точка попадает в область
x= 0.707; y= 0.707
Точка попадает в область
x= 0.800; y= 0.800
Точка не попадает в область
x= 0.100; y= 0.000
Точка попадает в область
x= 0.000; y= 1.000
Точка попадает в область