Реферат: Циклические вычислительные процессы
Название: Циклические вычислительные процессы Раздел: Рефераты по информатике Тип: реферат | ||||||||||||||||||||
Отчет по лабораторной работе №1. Тема: «Циклические вычислительные процессы». Дисциплина: «Языки программирования и методы трансляции». Цель: Ознакомление с методами работы организации циклических вычислений при использовании языка программирования С. Задача: Вычислить и вывести на экран в виде таблицы значения функции F на интервале от X нач до Хкон с шагом dX .
где а, b , c – действительные числа. Функция F должна принимать действительное значение, если выражение (Ац МОД2 Вц ) И НЕ (Ац ИЛИ Сц ) не равно нулю, и целое значение в противном случае. Через Ац , Вц и Сц обозначены целые части значений a , b , c , операции НЕ, И, ИЛИ и МОД2 (сложение по модулю два) – поразрядные. Значения a , b , c , Хнач , Хкон , dX ввести с клавиатуры. Листинг : #include<stdio.h> #include<conio.h> #include<math.h> int main () { clrscr (); float Xn,Xk,Dx,F,a,b,c,k=0.000001; printf("\n Введите диапазон и шаг изменения аргумента: \n"); scanf ("%f%f%f",&Xn,&Xk,&Dx); printf ("\n Введитеa,b,c: \n"); scanf ("%f%f%f",&a,&b,&c); int Fk,a1,b1,c1; a1=(int)a; b1=(int)b; c1=(int)c; printf ("| X | F |\n"); float X=Xn; while(X<=Xk) { if (fabs(X)<k && fabs (b)>k) F=a*(X+c)*(X+c)-b; else if (fabs(X)<k && fabs(b)<k) if (fabs (c)>k) F=X-a/-c; else { printf ("| %5.2f | /0 |\n",X); goto kon; } else if (fabs (c)>k) F=a+X/c; else { printf ("| %5.2f | /0 |\n",X); goto kon; } if ((a1^b1)&(~(a1|c1))!=0) { Fk=int(F); printf ("| %5.2f | %d |\n",X, Fk); } else printf("| %5.2f | %5.2f |\n",X,F ); kon: X+=Dx; } getch(); return 0; } Тестовая проверка. Входные данные 1: Хn=1.2, Хк=4.5, Dx=1, а=3.4,b=2.5,c=0.5 Выходные данные 1:
Входные данные 2: Хn=1.2, Хк=4.5, Dx=1, а=0, b=0, c=1.0 Выходные данные 2:
Вывод: В процессе лабораторной работы, решая конкретные задачи на циклические вычислительные процессы с использованием языка программирования С, мы познакомились с общими методами работы с ними. |