РУБРИКИ

Курсовая

 РЕКОМЕНДУЕМ

Главная

Валютные отношения

Ветеринария

Военная кафедра

География

Геодезия

Геология

Астрономия и космонавтика

Банковское биржевое дело

Безопасность жизнедеятельности

Биология и естествознание

Бухгалтерский учет и аудит

Военное дело и гражд. оборона

Кибернетика

Коммуникации и связь

Косметология

Криминалистика

Макроэкономика экономическая

Маркетинг

Международные экономические и

Менеджмент

Микроэкономика экономика

ПОДПИСАТЬСЯ

Рассылка

ПОИСК

Курсовая

Курсовая

ВАРИАНТ 58

Задание N 5

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.Определить свободную длину винта из условия работы на продольный

изгиб.

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

[pic][pic][pic][pic][pic]

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

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

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

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

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

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

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

Таблица 5.2

|Параметры | E | J | ( | n | F |

|расчета | | | | | |

|Числовые |2,15.10| | 2,0| 4,0 | 104|

|значения |5 |3,9.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

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

[pic]

Расчет выполнить по двум вариантам: 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.

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

a

[pic]

Начало.

)

sin

(

R

2

1

S

2

сегм

?

-

?

?

?

2

c

a

4

b

b

k

2

2

,

1

?

?

?

-

±

-

Ввод r, a.

S=1/(2*r*r*(a-sina)

Вывод S

Конец

Начало.

Ввод e, j, m, n, f.

P=3.14

[pic]

Вывод h

Конец.

Начало.

Ввод a1, r1, a2, r2

s1=1/(2*r*r*(a-sina))

s2=1/(2*r*r*(a-sina))

S1>s2

нет

да

S1>S2

S2>S1

Конец.


© 2008
Полное или частичном использовании материалов
запрещено.