Курсовая
ВАРИАНТ 58
Задание N 5
Cоставить простейшие программы по условиям приведенных ниже задач и записать их на диск.
5.1.Найти площадь сегмента.
Р![]()
sin
2
асчетная формула:
)
(
R
2
1
S
сегм
где 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
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
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
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
Ход программы. 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 Ход
программы. 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
№
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

Параметр
1
2
3
4
5
R
15,7
14,2
16,4
10,3
8,1
0,5
0,4
0,7
0,8
───