Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Delphi.doc
Скачиваний:
52
Добавлен:
16.05.2015
Размер:
539.14 Кб
Скачать

Контрольные вопросы

  1. Условный оператор: общий вид, выполнение, блок-схема.

  2. Оператор выбора: общий вид, выполнение.

  3. Что понимают под алгоритмом ветвления?

  4. Какие операторы используются для программирования разветвлений?

  5. В каких случаях используется оператор выбора?

  6. Какую из функций: Sin(x), Abs(x), Trunc(x) можно заменить условным оператором if x<0 then x := -x?

Лабораторная работа №3. Программирование алгоритмов циклической структуры.

Примеры программ

1)Задание:

1a) Используя операторы цикла составить программу вычисления таблицы значений функции в указанном диапазоне значений(sqrt - функция вычисления квадратного корня). Написать вариант программы, с использование оператора “while”.

y=sqrt(x*(x-3)4) A=1, B=6, H=0.25

На форме размещены следующие объекты со свойствами:

  • Кнопка Button1 для выполнения действия со значением «Результат» свойства Caption.

  • Компонент StringGrid1 для вывода результата, со свойствами:

FixedRows=0;

FixedCols=1;

ColCount =1;

RowCount=2;

Options goEditing=true.

procedure TForm1.Button1Click(Sender: TObject);

Const A=-2;

B=2;

H=0.25;

var x,y:real;

i:integer;

s1, s2: string;

begin

StringGrid1.Cells[0,0]:='x';

StringGrid1.Cells[0,1]:='y';

x:=A;

i:=1;

while x<=B do begin

y:=sqrt(x*sqr(x-3)*sqr(x-3)); StringGrid1.ColCount:=StringGrid1.ColCount+1;

str(x:3:2,s1);

str(y:3:2,s2);

StringGrid1.Cells[i,0]:=s1;

StringGrid1.Cells[i,1]:=s2;

x:=x+H;

i:=i+1;

end

end;

1b) Используя операторы цикла составить программу вычисления таблицы значений функции в указанном диапазоне значений(sqrt - функция вычисления квадратного корня). Написать вариант программы, с использование оператор “repeat”.

y=sqrt(x*(x-3)4) A=-2, B=2, H=0.25

Блок-схема:

Программа:

procedure TForm1.Button1Click(Sender: TObject);

const A=-2;

B=2;

H=0.25;

var x,y:real;

i:integer;

s1,s2:string;

begin

StringGrid1.Cells[0,0]:='x';

StringGrid1.Cells[0,1]:='y';

x:=A;

i:=1;

repeat

y:=sqrt(x*sqr(x-3)*sqr(x-3)); StringGrid1.ColCount:=StringGrid1.ColCount+1;

str(x:3:2,s1);

str(y:3:2,s2);

StringGrid1.Cells[i,0]:=s1;

StringGrid1.Cells[i,1]:=s2;

x:=x+H;

i:=i+1;

until x>B;

end;

2)Задание: Составить программу вычисления суммы произведений с помощью цикла с параметром. Проверить правильность работы программы, взяв верхние пределы для суммы и произведения (1,2).

Блок-схема:

Программа:

i=1,n

j=1,m

procedure TForm1.Button1Click(Sender: TObject);

var

m,n,j,i:integer;

S,P:real;

BEGIN

n:=StrToInt(Edit1.Text);

m:=StrToInt(Edit2.Text);

S:=0;

for i:=1 to n do

begin

P:=1;

for j:=1 to m do

P:=P*(1/(sqr(i)+sqr(j)));

S:=S+P;

end;

Label4.Caption:=FloatToStr(S);

END;

Список вариантов

Задание :

Используя операторы цикла составить программу вычисления таблицы значений функции в указанном диапазоне значений. Написать два варианта программы, с использование операторов “while”, “repeat”.

1. Y = xSinx/Cosx; A = -1.6, B = 1.6, H = 0.2

2. Y = tgx2 + ctgx2; A = -2, B = 2, H=0.3

3. Y = Ln(x2 -9)/x; A = 4, B = 8, H = 0.5

4. Y = ; A = -3, B = 3, H = 0.3

5. Y = tgx/x; A = -2, B = 2, H = 0.3

6. Y = Sinx/(x-5); A = -6, B = 4, H = 0.5

7. Y = x/(1-Cosx); A = -4, B = 4, H = 0.7

8. Y = 1/xtg(x/2); A = -3, B = 3, H = 0.6

9. Y = 1/(x2 -3); A = -4, B = 4, H = 0.5

10. Y = 1/Ln(x2/8); A = -3, B = 3, H = 0.6

11. Y = 1/x ctg(x/3); A = -4, B = 4 , H = 0.6

12. Y = Ln(16-x2)/x ex; A = -3, B = 3, H = 0.3

13. Y = x tg x/ Lnx; A = 3, B = 8, H = 0.5

14. Y = x2Ln|x|/Sinx; A = -2, B = 2, H = 0.7

Задание :

Составить программу вычисления суммы произведений с помощью цикла с параметром. Проверить правильность работы программы, взяв верхние пределы для суммы и произведения (1,2).

Вопросы

  1. Понятие цикла. Виды циклов.

  2. Организация оператора цикла?

  3. Какой тип следует задавать параметру цикла?

  4. Как записывается и как работает оператор FOR?

  5. Для организации каких циклов применим оператор FOR?

  6. В чем отличие оператора WHILE от оператора REPEAT?

  7. Как программируются циклические алгоритмы с явно заданным числом повторений цикла?

  8. Как программируются циклические алгоритмы с заранее неизвестным числом повторений цикла?

  9. Напишите оператор цикла, который не выполняется ни разу.

  10. Напишите оператор цикла, который выполняется неограниченное число раз.

  11. Замените оператор "Repeat A Until B" равносильным фрагментом программы с оператором While.

  12. Указать причины зацикливания программы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]