Выполнить два варианта: один – в среде Pascal, другой – в среде Delphi.
№ | Формулировка задания |
1. | 1 унция = 28.353495 г. = 142 карата |
2. | 1 драхм = 1.77185 г = 0.06249 унций |
3. | 1 карат = 0.2 г = 2.9412 гран |
4. | 1 гран = 0.068 г = 0.038378 драхм |
5. | 1 пайп = 54.18 пек = 477.33 л |
6. | 1 галлон (брит.) = 1.2 галлон (США) = 4.546 л. |
7. | 1 галлон (США) = 0.0347 сак = 3.785 л |
8. | 1 стопка = 0.0568 л = 0.00012 пайпа |
9. | 1 квартет = 291 л = 5123.24 стопки |
10. | 1 страйк = 72.73 л = 1280.46 стопок |
11. | 1 челдрон = 1.309 литра = 0.149 пека |
12. | 1 сак = 109 л = 1.499 страйка |
13. | 1 пек = 8.81 л = 0,07929 сака |
14. | 1 корд мал. = 3.624 куб м. = 128 куб. футов |
15. | 1 стандарт = 4,672 куб. м. = 0.165 рода |
16. | 1 род = 28.3 куб. м. = 1000 куб. футов |
17. | 1 чейн строительный = 30.48 м = 100 футов |
18. | 1 фингер = 11.4 см = 4.5 дюймов |
19. | 1 нейл = 5.7 см. = 2.25 дюймов |
20. | 1 фут = 0.3048 м = 12 дюймов |
21. | 1 ярд = 0.9144 м = 3 фута |
22. | 1 кабельт Брит. = 0.138 км = 680 футов |
23. | 1 кабельт США = 219.5 м = 720 футов |
24. | 1 дюйм = 2.54 см = 12 линий |
25. | 1 морская миля = 1.852 км = 6076 футов |
Цикл с предусловием
В случае, когда количество повторений заранее не известно, а задано только условие для продолжения или окончания, используются циклы с предусловием или циклы с постусловием. Синтаксис цикла с предусловием следующий:
While ЛогическоеВыражение do Оператор |
|
Действие: До тех пор, пока ЛогическоеВыражение истинно, выполнятся внутренний Оператор. Истинное ЛогическоеВыражение определяет условие продолжения цикла.
Пример
Пусть х – некоторое число, а е=0.001. Вычислить сумму элементов бесконечно убывающей знакопеременной последовательности {аn}, где аn=(-1)n (2x)n / n!, удовлетворяющих условию |an| > e, n=1,2,…. Определить количество слагаемых. Вывести на экран результаты вычислений.
Блок-схема

Код программы в среде Pascal
program Sum;
uses Crt;
const e=0.001;
var f, sum, x, a, e: real;
n, z: integer;
begin
clrscr;
writeln(‘Введите число x’);
readln(x);
sum:=0;
n:=0;
f:=1;
a:=2*x;
z:=1;
while abs(a) > e do
begin
sum:=sum+a;
n:=n+1; {Вычисляем an+1}
z:=-z; { Вычисляем (-1)n+1, см. Замечание 1.}
f:=f*n; { Вычисляем факториал}
a:=z * exp(n * ln(2 * x))/f; {См. Замечание 2.}
end;
writeln(‘Сумма = ’, sum:5:2);
writeln(‘Количество слагаемых =’, n-1);
readln;
end.
Внешний вид формы в Delphi
В конструкторе | При выполнении |
|
|
Код программы в среде Delphi
procedure TForm1.Button1Click(Sender: TObject);
var f, sum, x, a, e: real;
n, z: integer;
begin
x := StrToFloat(Edit1.Text);
e := StrToFloat(Edit2.Text);
sum:=0;
n:=0;
f:=1;
a:=2*x;
z:=1;
while abs(a) > e do
begin
sum:=sum+a;
n:=n+1;
z:=-z;
f:=f*n;
a:=z * exp(n * ln(2 * x))/f;
end;
Label5.Caption:= FloatToStr(sum);
Label7.Caption:= FloatToStr(n);
end;
Замечание 1. Для вычисления знакопеременной суммы можно использовать следующий алгоритм:
if odd(n) then sum:=sum – a else sum:=sum + a
Замечание 2. Существует более экономный способ вычисления значения переменной а (элемента именно данной последовательности), используя предыдущее значение и команду присваивания вида a:=a*M, где для данного примера M=-2x / (n+1).
Лабораторная работа № 5
Решить задачу тремя способами:
аналогично программе Sum; учитывая Замечание 1 (по возможности); учитывая Замечание 2 (по возможности).В каждой из двух сред (Pascal и Delphi) должен быть реализован как минимум один способ.
№ | Формулировка задания | № | Формулировка задания |
1. |
| 14 |
|
2. |
| 15 |
|
3. |
| 16 |
|
4. |
| 17 |
|
5. |
| 18 |
|
6. |
| 19 |
|
7. |
| 20 |
|
8. |
| 21 |
|
9. |
| 22 |
|
10. |
| 23 |
|
11. |
| 24 |
|
12. |
| 25 |
|
13. |
|
Цикл с постусловием
Синтаксис цикла с постусловием следующий:
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |





