Циклические вычислительные процессы

Отчет по лабораторной работе №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:

                                    

  Х

1.2

2.2

3.2

4.2

  F

5

7

9

11

Входные данные 2:

                                    Хn=1.2, Хк=4.5, Dx=1, а=0, b=0, c=1.0

Выходные данные 2:

                                    

  Х

1.2

2.2

3.2

4.2

F

1.2

2.2

3.2

4.2



Вывод: В процессе лабораторной работы, решая конкретные задачи на циклические вычислительные процессы с использованием языка программирования С, мы познакомились с общими методами работы с ними.