Задания для самостоятельной подготовки

Задание

1. Изучить возможности языка программирования для реализации

- условной и безусловной передачи управления;

- вычислительного процесса разветвляющейся структуры.

2.Разработать алгоритм решения в соответствии с заданием.

3.Разработать интерфейс проекта

4. Подготовить тесты для проверки правильности функционирования программы (число тестов равно числу ветвей вычислительного процесса).

 

Пример выполнения работы

Задание

Разработать проект для решения двух задач:

1. Даны три переменные. Составить алгоритм, который отрицательные - возведет в квадрат, а из положительных извлечет корень квадратный.

2. Составить алгоритм находящий значение y, если

5, при x^2 - четное

У= 0, при sqrt(х)<20

-5, при cos x - 0.3<0.2

tg x, при х - нечетное

 

Процесс выполнения проекта:

1. Каждая задача решается на своей панели (Panel).

2. В момент запуска программы, на форме видна только одна кнопка «начать решение»:

 

3. После нажатия на кнопку появляется панель первой задачи:

 

4. По нажатию кнопки «пуск» первая задача инициализируется. После выполнения всех вариантов решения, предусмотренных условием, задача завершается нажатием кнопки «завершить задачу 1». Действия, выполняемые программой при этом:

- закрывается панель задачи 1;

- открывается панель задачи 2.

 

5. Выполнение задачи 2 начинается кнопкой «пуск». Кнопка «Close», размещенная на Panel2, завершает выполнение программы.

 

Вид формы во время разработки проекта:

 

Дерево, использованных компонентов:

 

Написать программный код, реализующий исходные задачи.

Функциональность задачи 1:

procedure TForm1.Button1Click(Sender: TObject);

var x,y,z:real;

Begin

x:=strToFloat(LabeledEdit1.Text);

y:= strToFloat(LabeledEdit2.Text);

z:=strToFloat(LabeledEdit3.Text);

if x<0

then LabeledEdit4.Text := FloatToStr(sqr(x))

Else

if x>0

then LabeledEdit4.Text := FloatToStr(sqrt(x))

Else

Begin

ShowMessage(' нельзя вводить ноль ');

LabeledEdit1.SelectAll;

LabeledEdit1.SetFocus

end;

if y<0

then LabeledEdit5.Text := FloatToStr(sqr(y))

Else

if y>0

then LabeledEdit5.Text := FloatToStr(sqrt(y))

Else

Begin

ShowMessage(' нельзя вводить ноль ');

LabeledEdit2.SelectAll;

LabeledEdit2.SetFocus

end;

if z<0

then LabeledEdit6.Text := FloatToStr(sqr(z))

Else

if z>0

then LabeledEdit6.Text := FloatToStr(sqrt(z))

Else

Begin

ShowMessage(' нельзя вводить ноль ');

LabeledEdit3.SelectAll;

LabeledEdit3.SetFocus

end;

end;

Функциональность задачи 2:

procedure TForm1.Button4Click(Sender: TObject);

var x:integer;

Begin

x:=strToInt(LabeledEdit7.Text);

if not odd(sqr(x))

Then begin

Edit1.Text:= 'x^2 - четное'; LabeledEdit8.Text:= ' y=5 '

End

else if sqrt(x)<20

Then begin

Edit1.Text:= 'sqrt(x)<20' ; LabeledEdit8.Text:= ' y=0 '

End

else if (cos(x)-0.3)<0.2

Then begin

Edit1.Text:= '(cos(x)-0.3)<0.2' ;

LabeledEdit8.Text:= ' y= -5 '

End

else if odd(x)

Then begin

Edit1.Text:= 'x - нечетное' ;

LabeledEdit8.Text:=FloatToStr(sin(x)/cos(x))

End

end;

Литература для подготовки к занятию:

1. Конспект лекций по Программированию.

2. В.В. Фаронов DelphiПрограммирование на языке высокого уровня