введите радиус круга 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 = 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.