Работа состоит из двух частей. Первая часть посвящена линейным алгоритмам, в которых для получения и хранения значений используются переменные и операции языка Си, в этой части необходимо решить некоторую математическую или физическую задачу. Первоначально необходимо разработать алгоритм решения задачи, для этого достаточно знаний школьного курса математики или физики. Особое внимание следует обратить на приоритеты операций внутри выражения и изменение приоритетов с помощью скобок [1, 3].
Вторая часть посвящена разветвляющимся алгоритмам, необходимо использовать условный оператор или переключатель.
Исходные данные в задании могут быть любыми, задаются переменными языка Си, значения переменных вводятся с клавиатуры.
Студент разрабатывает программу на языке Си, выполняет ручной расчет для проверки работы программы.
Примеры выполнения работы
Пример 1
Условие задачи:
Даны x, y (значения вводятся с клавиатуры). Вычислить a, если
Все значения вещественные.
Для решения задачи в среде Microsoft Visual Studio 2013 было создано стандартное консольное приложение (проект типа Win32 Console Application, в русифицированной версии Консольное приложение Win32) с установленным свойством «пустой проект» (Empty project). В проект добавлен файл с расширением .cpp, исходный код которого приведен ниже.
Листинг программы с комментариями:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
void main()
{
double x, y, a; // Определение переменных
// Ввод исходных данных
printf_s("x="); scanf_s("%lf", &x);
printf_s("y="); scanf_s("%lf", &y);
// Вычисляем значение выражения
a = (sqrt(fabs(x - 1)) - pow(fabs(y), 1. / 3)) / (1 + x*x / 2 + y*y / 4);
printf_s("a=%f\n", a);
system("pause"); // Останавливаем программу до нажатия любой клавиши
}
Пример № 2
Условие задачи:
Определить, какая из двух точек - M1(x1, y1) или M2(x2, y2) - расположена ближе к началу координат. Вывести на экран дисплея координаты этой точки.
Для решения задачи в среде Microsoft Visual Studio 2013 было создано стандартное консольное приложение (проект типа Win32 Console Application) с установленным свойством «пустой проект» (Empty project). В проект добавлен файл с расширением .cpp, исходный код которого приведен ниже.
Листинг программы с комментариями:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
// Определить, какая из двух точек M1(x1,y1) или M2(x2,y2)
// расположена ближе к началу координат.
// Вывести на экран дисплея координаты этой точки.
void main()
{
// Исходные данные задачи
double x1, y1, x2, y2;
// Ввод исходных данных
printf_s("x1="); scanf_s("%lf", &x1);
printf_s("y1="); scanf_s("%lf", &y1);
printf_s("x2="); scanf_s("%lf", &x2);
printf_s("y2="); scanf_s("%lf", &y2);
double r1, r2; // Переменные для расчета расстояний
// Расчет расстояний
r1 = sqrt(x1*x1 + y1*y1);
r2 = sqrt(x2*x2 + y2*y2);
if (r1<r2) // Точка 1 ближе к началу координат
printf_s("x1=%f y1=%f", x1, y1);
else
if (r2<r1) // Точка 2 ближе к началу координат
printf_s("x2=%f y2=%f\n", x2, y2);
else // Точки находятся на одинаковом расстоянии
printf_s("x1=%f y1=%f x2=%f y2=%f\n", x1, y1, x2, y2);
system("pause"); // Останавливаем программу до нажатия любой клавиши
}