РефератыКибернетикаКуКурсовая

Курсовая

ВАРИАНТ


Задание

N
5


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


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





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





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


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


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


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


Таблица 5.1










Парметры расчета R a
Числовые значения 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
;


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


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


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


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


Таблица 5.2
















Параметры расчета E J m 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 a
Числовые значения 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;


Constp=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;


Constp=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 a
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. В качестве ak
принять значения aиз таблицы 10.1; 2. В качестве ak
принять значения 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 и a. Значения параметров R и a приведены в таблице 10.1. Организовать вывод на печать в виде таблицы
значений R, a и Sсегм
. Записать программу на диск под новым именем.


Таблица 10.1























Параметр 1 2 3 4 5
R 15,7 14,2 16,4 10,3 8,1
a 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


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


Задание


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


S = ex
1-
x2
/ey
1-
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.

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Курсовая

Слов:2023
Символов:21855
Размер:42.69 Кб.