Главная страница

Отчет по лабораторной работе должен содержать в указанном порядке


Скачать 355.5 Kb.
НазваниеОтчет по лабораторной работе должен содержать в указанном порядке
Дата07.09.2022
Размер355.5 Kb.
Формат файлаdoc
Имя файлаLab1_c90.doc
ТипОтчет
#665513

Вычисление числовых формул

Задание


Составить программу, которая вычисляет две математически эквивалентные пары числовых формул: y1 y2и z1 z2, с указанными в варианте задания значениями пе­ременных, выводит переменные и результаты вычислений.

Два числовых выражения математически эквивалентны, если для всех возможных значений переменных их математические значения равны.

Примечание. В программе нельзя заменять числа в формулах задания и функции (кроме sec xиctgx) эквивалентными значениями. Разрешается вводить обозначения.

Отчет


Отчет по лабораторной работе должен содержать в указанном порядке:

  1. название работы;

  2. номер варианта задания;

  3. фамилию, имя, отчество и номер группы студента, выполнившего работу;

  4. текст задания;

  5. формулы в том виде, как они приведены в варианте задания;

  6. ОДЗ переменных для формул y1, y2;

  7. распечатку программы и результатов из соответствующих файлов;

  8. вопросы к заданию с правильными ответами.

Справочная информация


Старшинство операций:

Операция

Знак

Старшинство

Вычисление функции

имя(аргумент) имена см. ниже

1

Умножение, деление

*, /

2

Сложение, вычитание

+, –

3

В заданиях используются математические функции:

в формуле

в C

в формуле

в C

в формуле

в C

xy

pow( x, y)

х

fabs(x)

sin х

sin(x)



sqrt(x)

cos х

cos(x)

tg х

tan(x)


Примечания. Функцию sec х вычислять из соотношения sec х · cos х = 1.0

Для использования стандартных математических функций ANSI C в программу необходимо включить директиву препроцессора

#include

Комментарии к заданию


Обратите внимание на типичные ошибки.

Формула

Запись на языке C

cos x2

правильно cos(x*x), не правильно cos(x)* cos(x)
возведение в степень в формуле относится к аргументу, а не к функции

cos2x

правильно cos(x)* cos(x), не правильно cos * cos(x)

после имени функции в C аргументы в скобках, а не опера­ция

2x+b

правильно 2*x + b, не правильно 2x + b
знак операции умножения в C опускать нельзя



правильно a/((b+c)*d), не правильно а/(b+c)*d

в а/(b+c)*d нарушен порядок операций, он соответствует формуле



правильно 1.0/3.0, не правильно 1/3

результат деления целых чисел 1/3 есть целое равное 0



правильно pow(x, 1.0/3.0), не правильно pow(x, 1/3), резуль­тат деления 1/3 равен 0, а x0 = 1


Программируя числовые формулы, необходимо учитывать следующее:

  • предпочтительно именовать переменные со смыслом, например, вычисление длины окружности: circle = 2*Pi*Radius; // С = 2R

  • формулу пишут в строчку, возможно длинную; действия выполняются по стар­шинству; скобки (только круглые) изменяют старшинство;

  • знак умножения, как в 2R, опускать нельзя 2* Pi*Radius

  • в ссылке на функцию после имени функции пишут аргументы в круглых скоб­ках;

  • в ПК используется два комплекта числовых операций, которые выбираются ком­пилятором в соответствии с типом вступающих в операцию операндов, если операнды целые, ответ целый и точный, если хотя бы один операнд веществен­ный – ответ вещественный и приближенный; особенно существенно понимание этого механизма для операции деления целых чисел;

  • громоздкие формулы следует упрощать, вводя обозначения, в том числе и для по­вторяющихся частей формулы;

  • для контроля разумно восстановить формулу по выражению.

Пример


1) исходные значения: x=3.3


Программа


// «Вычисление числовых формул», вариант №

// студент группы № Дуопроцессоров П. К.

#include

#include

//#define stdout Out // отладка программы с выводом на экран (stdout)

int main(void)

{

// далее должны быть объявлены все переменные

double y1, y2, s1, s2, yd;

double x = 3.3; // x объявлен и ему присвоено начальное значение

// далее аналогичные описания для Z1,Z2

FILE *Out; // Out - указатель файла с результатами

Out = fopen("Lab1_Out.txt", "w"); // открыть на диске файл с результатами

//printf( "x="); scanf("%lf",&x); // ввод x с клавиатуры

yd = (s2 = x*x - 3.0) - 2.0*x + (x - 1.0)*(s1 = sqrt(x*x - 9.0)); // вводим обозначения

y1 = (s2 + 2.0*x + (x + 1.0)*s1)/yd;

y2 = sqrt(x + 3.0)/sqrt(x - 3.0);

fprintf(stdout, "x=%f \n",x);

fprintf(stdout, " y1=%f \n",y1);

fprintf(stdout, " y2=%f \n",y2);

fprintf(stdout, "|y1-y2|=%e \n",fabs(y1-y2));

// далее вычислить и аналогично вывести z1, z2

fclose(Out); // закрыть файл с результатами

return 0;

}

Вопросы к заданию


  1. Что называется программой на алгоритмическом языке?
    а) файл на диске; б) файл в котором есть слово main в) дайте свой вариант ответа.
    Примечание. Вы просматриваете на экране текстовый файл. Можете ли Вы утверждать, что это файл с программой?

  2. Вы работаете с интегрированной средой IDE. Что должно обязательно при­сут­ствовать в имени файла с программой на C?
    а) хотя бы одна буква; б) слово program; в) дайте свой вариант ответа;
    приведите примеры имен файлов с программами на C.

  3. Как записать комментарий в программе на C?
    а) начать его с красной строки б) начать его с // ; в) дайте свой вариант ответа;
    приведите примеры комментариев.

  4. Перечислите числовые типы, используемые в программах C? Как они записываются в программе?

  5. Приведите правила записи имен в программах C.

  6. Верна ли запись вещественной константы 6420. в программе без точки - как 6420 ?

  7. Какая из трех вещественных констант является наименьшей и почему?
    а) 24.0 б) 2.4Е+2 в) 0.24Е+3

  8. Какое из чисел выведенных компьютером больше и почему?
    а) 3.300000 б) 4.768372E-07

  9. Какие имена переменных программы записаны верно, а какие нет?
    а) F1 б) Y(X) в) D_1 г) Б5 д) Z.8 е) 3J ж) β4

  10. Как правильно записать в программе ссылку на функцию синус x?
    а) sinX б) sin x в) sin(x)

  11. Чем отличается запись в математике от записи 1/2 в программе.

  12. Сравните формулы из задания с их записью в программе и перечислите все отличия в записи числовых формул в математике и в программе.

  13. Перечислите числовые операции C и укажите в каком порядке они выполня­ются, когда в числовой формуле нет скобок.

  14. Перечислите все отличия в записи скобок в числовых выражениях в математике и в программе в вашем задании. Где скобок больше и почему?

  15. N – целая переменная, равная 1, что получим на компьютере в результате вычисления 1/((2*N+1)*(2*N+2)) ?

  16. A – вещественная переменная, равная 2.0, B - вещественная переменная, равная 4.0, что получим на компьютере в результате вычисления A + B/2.0?

  17. Как правильно записать на языке C формулу 3sinx + 4cos2x2

  18. A – вещественная переменная, равная 2.0, B - вещественная переменная, равная 2.0, что получим на компьютере в результате вычисления A/B + 2.0?

  19. B - вещественная переменная, равная 2.0, что получим на компьютере в результате вычисления?
    a) 1 /2*B б)1/(2*B)

Указание. Правильность ответов на вопросы 15) – 19) проверьте на компьютере.

Варианты заданий




Дан­ные

Формулы

1

a=8.6

b=1.3

c=3.3

=0.75

; ;

;

2

a=3.5

b=0.21

=0.1

; ;

;

3

m=4.1

n=2.1

=0.43

; ;

;

4

a=1.51

=1.23

; ;

;

5

a=12.3

=0.43

; ;

;

6

a=3.5

b=0.72

=1.4

; ;

;

7

a=4.3

=0.43

; ;

;

8

x=3.2,

y=0.8

=3.1

; ;

;

9

a=0.7

x=0.44

y=0.82

; ;

;

10

x=1.4

y=2.8

=0.66

=1.82

; ;

;

11

a=0.51

=0.1

; ;

;

12

a=5.3

b=4.8

=0.75

; ;

;

13

a=1.7

b=2.8

=0.22

; ;

;

14

x=4.1

=0.5

=0.3

; ;

;

15

m=1.8

=0.43

=0.58

; ;

;

16

x= -0.3

=0.77

; ;

;

17

m=0.47

=1.5

; ;

;

18

a=2.3

b=1.89

=0.23

; ;

;

19

b=4.8

=0.39

; ;

;

20

a=1.23

=0.24

; ;

;

21

x=2.8

=0.39

; ;

;

22

x=0.07

y=0.04

=0.5

=0.34

; ;

;

23

m=0.65

=0.39



;

24

a=9.1

=0.3

; ;

;

25

b=3.8

=0.78

; ;

;

26

x= 4.3

=1.23

; ;

;

27

p=0.7

=0.54

; ;

;

28

m=2.3

=0.23

=1.2

; ;

;

29

a=26.3

=0.1

=0.7

; ;

;

30

m=4.1

n=2.1

=0.1

; ;

;


написать администратору сайта