Блок-схема алгоритма программы

Министерство образования Республики Беларусь

 

Отчёт по лабораторной работе №5
«Оператор цикла for. Логические и поразрядные операции.»

 


Выполнила: Студентка гр. АСОИ-101
Игнатушко Татьяна

 

 


Могилев 2010

Цель работы

1.1 Получение навыков в использовании оператора цикла for.

1.2 Знакомство с итерационными процессами.

 

Постановка задачи

Вариант 9

1. Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач. до Хкон. с шагом dX.

где a, b, с — действительные числа.

Функция F должна принимать действительное значение, если выражение

НЕ(Ац ИЛИ Вц) И (Вц ИЛИ Сц)

не равно нулю, и целое значение в противном случае. Через Ац, Вц и Сц обозначены целые части значений a, b, с, операции НЕ, И и ИЛИ — поразрядные. Значения a, b, с, Хнач., Хкон., dX ввести с клавиатуры.

2. Вычислить значение конечного произведения: .

 

 

Текст программы

#include<stdio.h>

#include<windows.h>

#include<math.h>

main1()

{

double a,b,c,x1,x2,dX,f;

printf("Задание 1\n");

printf("Введите a,b,c:\n");

scanf("%lf%lf%lf",&a,&b,&c);

printf("Введите x-начальное, x-конечное и шаг(dX):\n");

scanf("%lf%lf%lf",&x1,&x2,&dX);

for(;x1<=x2;x1=x1+dX){

if (a<0&&x1!=0)

f=a*pow(x1,2)+pow(b,2)*x1;

else if (a>0,x1==0) f=x1-(a/(x1-c));

else f=1+x1/c;

if ((~(int(a)|int(b)))&(int(b)|int(c))!=0) printf("x=%lf,F=%lf\n",x1,f);

else printf("x=%lf,F=%d\n",x1,int(f+0.5));}}

 

main2()

{

int n;

double pr=1,x;

printf("Задание 2\n");

printf("Введите натуральное число и угол в радианах:\n");

scanf("%d%lf",&n,&x);

for(;n>0;n--)

pr*=cos(x/pow(2,n));

printf("Конечное произведение равно %.6lf\n",pr);

}

 

main()

{

SetConsoleOutputCP(1251);

int n;

while(n==n)

{

printf("\nВведите номер задания(1,2,3 - выход)\n");

scanf("%d",&n);

if (n==1) main1();

if(n==2) main2();

if(n==3) exit(0);

}

 

}

Результаты выполнения программы.

 

Задание 1

НЕ(Ац ИЛИ Вц) И (Вц ИЛИ Сц) равно 0:

 

Введите номер задания(1,2,3 - выход)

Задание 1

Введите a,b,c:

3.1

Введите x-начальное, x-конечное и шаг(dX):

x=1.000000,F=1

x=2.000000,F=2

x=3.000000,F=2

x=4.000000,F=2

x=5.000000,F=2

x=6.000000,F=3

x=7.000000,F=3

x=8.000000,F=3

x=9.000000,F=3

x=10.000000,F=4

 

Введите номер задания(1,2,3 - выход)

Press any key to continue

 

НЕ(Ац ИЛИ Вц) И (Вц ИЛИ Сц) не равно 0:

 

Введите номер задания(1,2,3 - выход)

Задание 1

Введите a,b,c:

Введите x-начальное, x-конечное и шаг(dX):

x=1.000000,F=1.083333

x=2.000000,F=1.166667

x=3.000000,F=1.250000

x=4.000000,F=1.333333

 

Введите номер задания(1,2,3 - выход)

Press any key to continue

 

а<0 и х не равен 0:

 

Введите номер задания(1,2,3 - выход)

Задание 1

Введите a,b,c:

-10

Введите x-начальное, x-конечное и шаг(dX):

x=1.000000,F=54.000000

x=2.000000,F=88.000000

x=3.000000,F=102.000000

x=4.000000,F=96.000000

 

Введите номер задания(1,2,3 - выход)

Press any key to continue

 

а>0 и х равен 0:

 

 

Введите номер задания(1,2,3 - выход)

Задание 1

Введите a,b,c:

Введите x-начальное, x-конечное и шаг(dX):

-1

x=-1.000000,F=0.916667

x=0.000000,F=0.833333

x=1.000000,F=1.083333

x=2.000000,F=1.166667

x=3.000000,F=1.250000

x=4.000000,F=1.333333

x=5.000000,F=1.416667

 

Введите номер задания(1,2,3 - выход)

Press any key to continue

 

Задание 2

 

Введите номер задания(1,2,3 - выход)

Задание 2

Введите натуральное число и угол в радианах:

1.57

Конечное произведение равно 0.959662

 

Введите номер задания(1,2,3 - выход)

Press any key to continue

 

 

Блок-схема алгоритма программы.

main2():