Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник 357.docx
Скачиваний:
27
Добавлен:
30.04.2022
Размер:
1.75 Mб
Скачать

4.3 Примеры выполнения заданий

Пример 1.Вычисление выражения

Решение. Разложим выражение на простые двухместные операции:

Запишем операции последовательно и произведем замену промежуточных переменных путем вложения исходных данных.

Res1=0.5*y

Res2=pow(x, Res1)  Res2=pow(x, 0.5*y)

Res3=sin(Res2)  Res3=sin(pow(x, 0.5*y))

Res4=y+8e-4 

Res5= pow (Res4, 1/5.f)  Res5= pow (y+8e-4, 1/5.f)

Result= Res3+ Res5 Result= sin(pow(x, 0.5*y))+pow (y+8e-4, 1/5.f)

В программе можно записать как

printf(“ответ: %.3f”, sin(pow(x, 0.5*y))+pow (y+8e-4, 1/5.f));

Пример 2. Требуется вычислить расстояние между двумя заданными точками M1(x1,y1) и M2(x2,y2).

Решение. Расстояние на плоскости между двумя точками M1(x1,y1) и M2(x2,y2) рассчитывается по формуле:

Составим блок-схему алгоритма, а затем уточним выполнение расчета по формуле (рис. 4.3):

Исходные данные – значение координат целые числа x1, y1 и x2, y2, но не подсчет, поэтому следует выбрать типа float.

Вычисление по формуле состоит из 6 действий: 1) разность, 2) возведение в квадрат, 3) разность; 4) возведение в квадрат; 5) сумма; 6) корень квадратный. Поэтому кроме операций сложения и вычитания потребуется две функции – возведении в степень – pow(x,y) и вычисления корня – sqrt(x), которые имеются в стандартной библиотеке языка Си.

Переводим блок-схему на язык Си.

Рис. 4.3. Блок-схема алгоритма

Шаг 1. Включение заголовков math.h, так как используется математическая функция sqrt(x).

#include<math.h>

Далее реализуется одна единственная функция программы

main(){

Шаг 2. Объявление переменных для ввода исходных данных и вычисления результата.

float x1, y1, x2, y2, D;

Шаг 3. Организация ввода данных с использованием функции scanf(..).

scanf(“%f %f %f %f”,&x1,&y1, &x2, &y2);

Шаг 4. Кодирование формулы с использованием оператора присвоения, знаков арифметических операций и математической функции – вычисления квадратного корня sqrt(x) и возведения в степень pow().

D=sqrt(pow(x2-x1,2)-pow( y2-y1,2));

Шаг 5. Вывод результата с использованием функции printf(..).

printf(“Расстояние между точками (%lf, %lf) и (%lf %lf) равно %lf ”, x1, y1, x2, y2, D);

Шаг 6. Завершение программы.

return 0;

}

4.4 Практические задания

1. Инициализируйте целую переменную а значением 11, и int b=3. Объявите переменную x типа int, yfloat, а z типа double. Присвойте им значения равные a/b и выведите на консоль полученные значения x, y и z. Поясните полученные результаты.

2. Напишите программу вывода на экран ряда целых чисел, соответствующих , где k принимает значение 8, 16, 32, 64, 128. Для вычисления используйте функцию pow(2.f, k). Добейтесь правильного результата работы программы путем корректного выбора типа данных и использования операции преобразования типа.

3. Объявите переменную типа char и реализуйте чтение в нее заданного пользователем символа. Выведите полученный символ a следующим образом:

printf(“%c %d %x”, a, a, a);

Прокомментируйте результат.

4. Напишите программу вычисления тригонометрической функции угла,заданного в градусах. Учтите, что некоторые из этих функций принимают аргумент в радианах, поэтому используйте директиву:

#define PI 3.14159

Обязательно в программе реализуйте приветствие, приглашение к вводу данных и указание на результат.

В комментариях программы, укажите три тестовых значения углов и ожидаемых результатов.

Вариант

функция

Вариант

функция

1

синус

7

1-sin(x)

2

косинус

8

1-cos(x)

3

тангенс

9

1-tg(x)

4

котангенс

10

sin2(x)

5

секанс

11

cos2(x)

6

косеканс

12

tg2(x)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]