заработок на кликах
Вы еще не зарегестрированы на Uchit.net? Зачем?
Login: Pass:

Курсовая

реферат: Кибернетика

Оцените работу
всего оценок0 общий балл0
Зарегистрируйтесь

ВАРИАНТ 58

Задание N

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

5.1.Найти площадь сегмента.

Расчетная формула:


где Sсегм площадь сегмента, см2;

R радиус круга, см;

α дуга сегмента, рад.

Исходные данные для расчета приведены в табл.5.1.

Таблица 5.1 

Парметры расчета

   R   

   α

Числовые значения

  220,0

  161,3


Ход программы                                                   

Program zadacha5_1;

  Var r,a,s:real;

  Begin

  Write('ввудите радиус круга в см. r =');

  Readln(r);

  Write('введите дугу сегмента в рад а=');

  Readln(a);

  s:=1/(2*r*r*(a-sin(a)));

  Writeln('Площадь сегмента s=',s:17:13);

  end.


Блок-схема.


Решение

ввудите радиус круга в см. r =220.0

введите дугу сегмента в рад. a=161.3

Площадь сегмента s=0.00000006370


5.2.Определить свободную длину винта из условия работы на продольный изгиб.

Расчетная формула:

где hсв - свободная длина винта, мм ;

E - модуль упругости для стали, н/мм2;

J - осевой момент инерции поперечного сечения винта, мм4;

μ - коэффициент, учитывающий способ закрепления концов винта;

n - коэффициент запаса прочности ;

F - приложенная осевая сила, н.

Исходные данные для расчета приведены в табл.5.2.

Таблица 5.2 

Параметры расчета

   E   

    J  

  μ

   n  

   F 

Числовые значения

2,15.105

3,9.104

2,0

  4,0 

  104


Ход программы.

Program zad5_2;

  Var e,j,m,n,f,h:real;

  Const p=3.14;

  Begin

  Write('Модуль упругости для стали, e=');

  Readln(e);

  Write('Осевой момент инерции поперечного сечения винта j=');

  Readln(j);

  Write('Коэффициент, учитывающий способ закрепления концов винта m=');

  Readln(m);

  Write('Коэффициент запаса прочности n=');

  Readln(n);

  Write('Приложенная осевая сила f=');

  Readln(f);

  h:=(p*p*e*j)/(m*m*n*f);

  Writeln('Свободная длина винта h=',h:10:5);

  end.

Блок- схема.


Решение.

Модуль упругости для стали, e=2.15e05

Осевой момент инерции поперечного сечения винта j=3.9e04

Коэффициент, учитывающий способ закрепления концов винта m=2.0

Коэффициент запаса прочности n=4.0

Приложенная осевая сила f=1e04

Свободная длина винта h=516704.66250



Задание № 6 


Загрузить в оперативную память компьютера программу, разработанную в задании 5.1. На ее основе составить программу для определения наибольшего из двух значений Sсегм. Исходные данные для расчета Sсегм1 приведены в табл.5.1, Sсегм2 - в табл. 6.1. При составлении программы использовать оператор условного перехода. Записать программу на диск под новым именем.

Таблица 6.1 

Параметры расчета

      R    

     α     

Числовые значения

    10,2   

    0,89   


Ход программы.


Program zadacha_6;

Var r,a,s1,s2:real;

Begin

Write('r1=');

Readln(r);

Write('a1=');

Readln(a);

s1:=1/(2*r*r*(a-sin(a)));

Writeln('s1=',s1:10:14);

Write('r2=');

Readln(r);

Write('a2=');

Readln(a);

s2:=1/(2*r*r*(a-sin(a)));

Writeln('s2=',s2:10:14);

Readln;

If s1>s2 then Writeln('s1>s2')

Else Writeln('s2>s1')

  end.

Блок схема.









Решение.


r1=220.0

a1=161.3

s1=0.00000006370

r2=10.2

a2=0.89

s2=0.04255661272


s2>s1



Задание № 7 

Загрузить в оперативную память компьютера программу, разработанную в задании 5.2. На ее основе составить программу с шагом ( цикл с известным числом повторений ), используя дополнительные исходные данные из таблицы 7.1. Предусмотреть вывод на печать всех полученных значений hсв.

Программу составить в трех вариантах:

а. Используя операторы WHILE ... DO;

б. Используя операторы REPEAT ... UNTIL;

в. Используя оператор IF.

Записать все варианты программы на диск.

Таблица 7.1 

Осевая сила, F  

                 

  Начальное   

  значение    

  Конечное   

  значение   

     Шаг     

   изменения 

Числовые значения

      104     

    1,5.104  

   0,05.104  




Ход программы.

Program zadacha_7a;

Var e,j,m,n,f,f2,h,k:real;

Const p=3.14;

Begin

Write('Модуль упругости для стали e=');

Readln(e);

Write('Осевой моментинерции поперечного сечения винта j=');

Readln(j);

Write('Коэф., учитывающий способ закрепления концов винта m=');

Readln(m);

Write('Коэф. запаса прочности n=');

Readln(n);

Write('Осевая сила, начальное значение f=');

Readln(f);

Write('Осевая сила, конечное значение f2=');

Readln(f2);

Write('Введите шаг k=');

Readln(k);

  While f<f2 Do

   Begin

      h:=(p*p*e*j)/(m*m*n*f);

       Writeln('h=',h:10:5);

        f:=f+k;

      end;

   Readln;

   end.



Ход программы


Program zadacha_7b;

uses crt;

Var e,j,m,n,f,f2,h,k:real;

Const p=3.14;

Begin

clrScr;

Write('Модуль упругости для стали e=');

Readln(e);

Write('Осевой момент инерции поперечного сечения винта j=');

Readln(j);

Write('Коэф., учитывающий способ закрепления концов винта m=');

Readln(m);

Write('Коэф. запаса прочности n=');

Readln(n);

Write('Осевая сила, начальное значение f=');

Readln(f);

Write('Осевая сила, конечное значение f2=');

Readln(f2);

Write('Введите шаг k=');

Readln(k);

  Repeat

Begin

  f:=f+k;

  h:=(p*p*e*j)/(m*m*n*f);

   Writeln('h=',h:10:5);

   Readln;

    end;

     Until f<f2;

      Readln;

       end.


Program zadacha_7c;

   Var e,j,m,n,f,f2,h,k:real;

   Const p=3.14;

   Begin

   Write('Модуль упругости для стали e=');

   Readln(e);

   Write('Осевой моментинерции поперечного сечения винта j=');

   Readln(j);

   Write('Коэф., учитывающий способ закрепления концов винта m=');

   Readln(m);

   Write('Коэф. запаса прочности n=');

   Readln(n);

   Write('Осевая сила, начальное значение f=');

   Readln(f);

   Write('Осевая сила, конечное значение f2=');

   Readln(f2);

   Write('Введите шаг k=');

   Readln(k);

   If f<f2 then

     Begin

      f:=f+k;

    h:=(p*p*e*j)/(m*m*n*f);

    Writeln('h=',h:10:5);

     end;

     Readln;

     end.









Решение.

Модуль упругости для стали e=2.15e05

Осевой моментинерции поперечного сечения винта j=3.9e04

Коэф., учитывающий способ закрепления концов винта m=2.0

Коэф. запаса прочности n=4.0

Осевая сила, начальное значение f=1e04

Осевая сила, конечное значение f2=1.5e04

Введите шаг k=0.05e04

h=516704.66250

h=492099.67857

h=469731.51136

h=449308.40217

h=430587.21875

h=413363.73000

h=397465.12500

h=382744.19444

h=369074.75893

h=356348.04310










Задание № 8 

Загрузить в оперативную память компьютера программу, разработанную в задании 5.1. На ее основе составить программу с организацией цикла типа FOR для определения величины Sсегм. Дополнительные исходные данные приведены в табл. 8.1. Организовать вывод на печать в виде таблицы значений R и Sсегм. Записать программу на диск под новым именем.

Таблица 8.1 

           R            

            α            

1

         15,7           

           0,5            

2

         10,4           

           1,1            

3

         12,8           

           0,76           

4

          8,2           

           0,4            

5

          9,3           

           1,2            


Ход программы.


Program zadacha_8;

Var r,a,s :array [1..5] of real;

i:integer;

Begin

For i:=1 to 5 do

Begin

Write('введите радиус круга r[',i,']=');

Read(r[i]);

Write('введите длину дуги сегмента a[',i,']=');

Readln(a[i]);

s[i]:=1/(2*r[i]*r[i]*(a[i]-sin(a[i])));

end;

Writeln('---------------------------------------------------------');

Writeln(' №             r                a              s         ');

Writeln('---------------------------------------------------------');

For i:=1 to 5 do

Writeln(i, r[i]:17:1,a[i]:17:2,s[i]:17:14);

Readln;

end.


Решение.

введите радиус круга r[1]=15.7

введите длину дуги сегмента a[1]=0.5

введите радиус круга r[2]=10.4

введите длину дуги сегмента a[2]=1.1

введите радиус круга r[3]=12.8

введите длину дуги сегмента a[3]=0.76

введите радиус круга r[4]=8.2

введите длину дуги сегмента a[4]=0.4

введите радиус круга r[5]=9.3

введите длину дуги сегмента a[5]=1.2

---------------------------------------------------------

№             r                a              s

---------------------------------------------------------

1             15.7            0.50    0.09859212439

2             10.4            1.10    0.02214053650

3             12.8            0.76    0.04293500082

4               8.2            0.40    0.70273015694

5               9.3            1.20    0.02157409847




Задание № 9 

Составить программу, содержащую цикл, для вычисления следующей суммы: 

Расчет выполнить по двум вариантам: 1. В качестве αk принять значения α из таблицы 10.1; 2. В качестве αk принять значения R из таблицы 10.1.


Ход программы.

Program zadacha_9;

Var c,a:real;

z,n:integer;

Begin

  Write('Введите количество значений а   ');

  Readln(n);

   For z:=1 to n do

  Begin

  Write('a=');

  Readln(a);

  c:=3*a+c;

   end;

  c:=1+c;

  Writeln('С=',c:1:2);

  Readln;

end.

Решение 1.

Введите количество значений а   4

a=0.5

a=0.4

a=0.7

a=0.8

С=8.20

Решение 2.

Введите количество значений а   5

a=15.7

a=14.2

a=16.4

a=10.3

a=8.1

С=195.10



Задание № 10 

Загрузить в оперативную память компьютера программу, разработанную в задании 5.1. На ее основе составить программу с организацией вложенного цикла типа FOR для определения всех возможных значений Sсегм при изменении параметров R и α. Значения параметров R и α приведены в таблице 10.1. Организовать вывод на печать в виде таблицы значений R, α и Sсегм. Записать программу на диск под новым именем.

Таблица 10.1 

Параметр

    1    

    2    

    3    

    4    

    5   

   R   

   15,7  

   14,2  

   16,4  

   10,3  

   8,1  

   α 

    0,5  

    0,4  

    0,7  

    0,8  

   ───  


Ход программы.


Program zadacha_10;

Var r,a :array [1..5] of real;

s:array [1..5,1..5] of real;

i,j:integer;

Begin

For i:=1 to 5 do

Begin

Write('Введите r[',i,']=');

Read(r[i]);

end;

For i:=1 to 4 do

Begin

Write('Введите a[',i,']=');

Readln(a[i]);

end;

Writeln('r  a  s');

For i:=1 to 5 do

For j:=1 to 4 do

Begin

s[i,j]:=1/(2*r[i]*r[i]*(a[j]-sin(a[j])));

end;

Writeln('---------------------------------------------------------');

Writeln('   №            r               a             s          ');

Writeln('---------------------------------------------------------');

For i:=1 to 5 do

For j:=1 to 4 do

Writeln(i:3,j:2,r[i]:15:1,a[j]:15:1,s[i,j]:16:8);

Writeln('---------------------------------------------------------') ;

Readln;

end.


Решение.


Введите r[1]=15.7

Введите r[2]=14.2

Введите r[3]=16.4

Введите r[4]=10.3

Введите r[5]=8.1

Введите a[1]=0.5

Введите a[2]=0.4

Введите a[3]=0.7

Введите a[4]=0.8

---------------------------------------------------------

   №            r               a             s

---------------------------------------------------------

  1 1           15.7            0.5      0.09859212

  1 2           15.7            0.4      0.19169774

  1 3           15.7            0.7      0.03636421

  1 4           15.7            0.8      0.02454482

  2 1           14.2            0.5      0.12052159

  2 2           14.2            0.4      0.23433632

  2 3           14.2            0.7      0.04445256

  2 4           14.2            0.8      0.03000423

  3 1           16.4            0.5      0.09035534

  3 2           16.4            0.4      0.17568254

  3 3           16.4            0.7      0.03332620

  3 4           16.4            0.8      0.02249425

  4 1           10.3            0.5      0.22906940

  4 2           10.3            0.4      0.44539142

  4 3           10.3            0.7      0.08448878

  4 4           10.3            0.8      0.05702755

  5 1            8.1             0.5      0.37040044

  5 2            8.1            0.4      0.72018863

  5 3            8.1            0.7      0.13661659

  5 4            8.1            0.8      0.09221236

---------------------------------------------------------




Задание № 11

Изменить программу, разработанную в задании № 10, использовав для ввода массивов процедуру.

Ход программы.

Program zadacha_11;

Type massiv=array [1..5] of real;

Procedure q(var z:massiv; n:integer; x:char);

Var i:integer;

Begin

For i:=1 to n do

Begin

Write('Введите  ',x,'[',i,']=');

Readln(z[i]);

end;

end;

Var r,a :massiv;

s:array [1..5,1..5] of real;

i,j,n:integer;

Begin

n:=5;

q(r,n,'r');

n:=4;

q(a,n,'a');

Writeln('r  a  s');

For i:=1 to 5 do

For j:=1 to 4 do

Begin

s[i,j]:=1/(2*r[i]*r[i]*(a[j]-sin(a[j])));

end;

Writeln('---------------------------------------------------------');

Writeln('  №              r              a              s         ');

Writeln('---------------------------------------------------------');

For i:=1 to 5 do

For j:=1 to 4 do

Writeln(i:3,j:2, r[i]:15:1,a[j]:15:1,s[i,j]:16:8);

Writeln('---------------------------------------------------------') ;

Readln;

end.


Решение.

Введите  r[1]=15.7

Введите  r[2]=14.2

Введите  r[3]=16.4

Введите  r[4]=10.3

Введите  r[5]=8.1

Введите  a[1]=0.5

Введите  a[2]=0.4

Введите  a[3]=0.7

Введите  a[4]=0.8

---------------------------------------------------------

  №              r              a             s

---------------------------------------------------------

  1 1           15.7            0.5      0.09859212

  1 2           15.7            0.4      0.19169774

  1 3           15.7            0.7      0.03636421

  1 4           15.7            0.8      0.02454482

  2 1           14.2            0.5      0.12052159

  2 2           14.2            0.4      0.23433632

  2 3           14.2            0.7      0.04445256

  2 4           14.2            0.8      0.03000423

  3 1           16.4            0.5      0.09035534

  3 2           16.4            0.4      0.17568254

  3 3           16.4            0.7      0.03332620

  3 4           16.4            0.8      0.02249425

  4 1           10.3            0.5      0.22906940

  4 2           10.3            0.4      0.44539142

  4 3           10.3            0.7      0.08448878

  4 4           10.3            0.8      0.05702755

  5 1            8.1             0.5      0.37040044

  5 2            8.1             0.4      0.72018863

  5 3            8.1             0.7      0.13661659

  5 4            8.1             0.8      0.09221236

---------------------------------------------------------




Задание № 12

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

S = ex1-x2/ey1-y2 ,

где х1, х2 корни уравнения 3.х2 + 4.х 2 = 0;

у1, у2 корни уравнения 6.у2 2.у 5 = 0;

Результат округлить до двух десятичных знаков.

Корни уравнения вычисляются по формуле:


где а, b, с коэффициенты уравнения а.x2 + b.х + с = 0.

Для вычисления корней уравнения использовать:

а) процедуру;

б) модуль.

В случае получения комплексных корней (при b2 - 4а.с < 0) предусмотреть вывод на экран сообщения:

“Комплексные корни. Выполнение программы прекращено”.

Записать программу на диск.


Министерство образования Р.Ф.

Архангельский Государственный Технический Университет.






Курсовая работа по информатике.

Программирование на языке Turbo Pascal.











                                                       Выполнила студентка 1 курса

                                                       Факультета МТД

                                                       Усова Елизавета

                                                       Проверил: Старкова АВ





















Архангельск 2004.

 
Дружить
Uchit.net в социальных сетях