Сделай Сам Свою Работу на 5

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





Программирование в Delphi алгоритмов, содержащих базовую алгоритмическую структуру «Ветвление»

1. Цель и содержание работы

В данной лабораторной работе изучаются составной и условный оператор языка Delphi.

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

Общие сведения

Составной оператор

Составной оператор имеет синтаксическую структуру:

Begin

оператор

[; оператор; ... ]

End

Т.е. представляет собой группу операторов, разделенных друг от друга точкой с запятой и помещенную между служебными словами Begin и End.

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

Условный оператор

 
 

Условный оператор в языке Delphi предназначен для реализации базовой алгоритмической структуры «Ветвление» (рис.1).

 

Рис.1 Базовая алгоритмическая структура «Ветвление».

Синтаксическая структура условного оператора имеет следующий вид:

IF <выражение> THEN <оператор 1> ELSE <оператор 2> ;



<выражение> должно иметь значение логического типа.

После служебных слов THEN и ELSE можно записать только один оператор. Если по логике алгоритма необходимо записать несколько операторов, то необходимо использовать составной оператор.

Перед служебным словом ELSE нельзя ставить точку с запятой.

При записи <выражения> могут использоваться операции отношений:

>, >=, <, <=, =, <>

и логически операции:

Not, And, Or, Xor

Приоритет операций:

Not

And

Or, Xor

>, >=, <, <=, =, <> .

Семантика условного оператора:

Вычисляется значение <выражения>, если полученное значение - True («истина»), то выполняется <оператор 1>, в противном случае (значение False– «ложь») выполняется <оператор 2>.

Пример 1:

X := 4; Y := 2; Z := 5;

If X >0 Then

Begin

Y : = l;

Z: = Y+2;

End

Else

Begin

Y := Z+2;

Z := 0;

End

Так как значение выражения X >0 будет ложно, то будет выполняться составной оператор, расположенный после служебного слова Then. Поэтому переменная Y получит значение 1, а переменная Z получит значение 4 .



Сокращенный условный оператор реализует сокращенную базовую алгоритмическую структуру «Ветвление», изображенную на рис. 3 и имеет следующую синтаксическую структуру:

IF <выражение> THEN оператор;

 
 

Рис. 2 Сокращенная базовая алгоритмическая структура «Ветвление».

 

Семантика сокращенного условного оператора:

Вычисляется значение <выражения>, если полученное значение - True («истина»), то выполняется <оператор>, в противном случае выполняется оператор, непосредственно следующий за сокращенным условным оператором.

Пример 2:

IF Y>0 THEN X := Sqrt( Y);

Пример программирования разветвленного алгоритма

Задание: Дано четырехзначное число. Определить, кратна ли трем сумма его цифр.

Разработка алгоритма

Входные данные: X-целое четырехзначное число.

Выходные данные: сообщение о кратности или не кратности суммы цифр исходного числа.

Промежуточные переменные:

a, b, c, d – цифры четырехзначного числа;

S – сумма цифр исходного числа

Схема алгоритма приведена на рис. 3.

 

 
 

Рис.3 Схема алгоритма.

 


Разработка интерфейса пользователя

Расположим на форме следующие компоненты:

Label1 – для вывода подсказки;

Edit1 – для ввода исходного четырехзначного числа;

Button1 – для ввода числа;

Button1 – для очистки свойства Text компонента Edit1.

Результат выводится в диалоговом окне.

 
 

На рис. 4 показаны объекты, расположенные на форме.

Рис.4. Дерево объектов.

 
 

Форма с размещенными на ней компонентами изображена на рис 5.

Рис. 5. Форма на этапе проектирования.



 

Текст модуля

unit Unit_2;

interface

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

 

type

TForm1 = class(TForm)

Label1: TLabel;

Edit1: TEdit;

Button1: TButton;

Button2: TButton;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form1: TForm1;

 

implementation

 

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var x,a,b,c,d,s:integer;

begin

x:=StrToInt(Edit1.Text);

if(x>999)and(x<=9999) then

begin

a:=x div 1000; {старшая цифра}

b:=x div 100 mod 10;

c:=x mod 100 div 10;

d:=x mod 10; {младшая цифра}

s:=a+b+c+d;

if s mod 3=0 then

Showmessage('Сумма цифр кратна 3')

else

Showmessage('Сумма цифр не кратна 3')

end

else

begin

Showmessage('Число не четырехзначное');

edit1.SetFocus;

end;

end;

 

procedure TForm1.Button2Click(Sender: TObject);

begin

Edit1.Clear;

Edit1.SetFocus;

end;

 

end.

 

Результаты вычислений

 

 

 

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

1. Получить у преподавателя задание.

2. Разработать алгоритм и представить его в виде схемы.

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

4. Написать на Delphi программу.

5. Отладить программу.


Содержание отчета

1. Титульный лист.

2. Задание.

3. Схема алгоритма.

4. Текст программы.

5. Результаты вычислений.

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

1. Для чего предназначен составной оператор?

2. Для чего предназначен условный оператор?

3. Укажите ошибки в следующих операторах:
If 2< Y < 5 Then

Y := Y+1;

Z := Z+5;

Else

Y := 0;

Z := Z – 1;

 

IfX > 5 AndX<10 Then

Begin

X := X *X;

Y := Y+1

End

Else

Begin

X := 0;

Y :=Y+1

End;

 

IfX > 10 Then

X:=X+2;

Y:=Y+1

ElseX:=0;

4. Какое значение будет иметь переменная В после выполнения следующего фрагмента программы:

B := 0; X := 2; Y := 2;

IfY >0Then

If X > 0 Then B :=2

ElseB := 3;

Задания к лабораторной работе

1. Определить, удовлетворяет ли введенная пара чисел системе неравенств

2. По введенным числам a1,b1,c1,a2,b2,c2 найти решение системы уравнений , если оно единственно.

3. По введенным координатам вершин треугольника определить, является ли треугольник равносторонним.

4. По введенным координатам вершин треугольника определить, является ли треугольник равнобедренным.

5. По введенным координатам вершин треугольника определить, является ли треугольник прямоугольным.

6. По введенным координатам вершин четырехугольника определить, является ли он квадратом.

7. По введенным координатам трех точек определить, лежат ли они на одной прямой.

8. Определить, удовлетворяют ли два введенных числа неравенству ax2+by2<c; числа a,b,c также вводятся пользователем и должны быть больше нуля.

9. По заданным стороне равностороннего треугольника и радиусу круга определить, площадь какой фигуры больше.

10. По заданным стороне квадрата и радиусу круга определить, площадь какой фигуры больше.

11. По заданным сторонам квадрата и треугольника определить, площадь какой фигуры больше.

12. По заданным стороне квадрата и радиусу окружности определить, вместится ли квадрат в такую окружность

13. По заданным стороне квадрата и радиусу окружности определить, вместит ли квадрат такую окружность

14. По заданным стороне треугольника и радиусу окружности определить, вместится ли треугольник в такую окружность

15. По заданным стороне треугольника и радиусу окружности определить, вместит ли треугольник такую окружность

16. Задана точка своими координатами на плоскости. Определить, к какой координатной четверти, или на какой оси расположена точка.

17. Даны целые числа a, b, c, d. Определить, делителем каких первых трех чисел является число d.

18. Определить, пройдет ли график функции y=ax2+bx+c через заданную точку с координатами (x1,y1).

19. Даны три числа a, b, c. Считая их длинами сторон треугольника, определить, является ли треугольник прямоугольным.

20. заданы три точки своими координатами на плоскости. Определить, расположены ли они на одной прямой.

21. Дан круг радиуса R. Определить, поместится ли правильный треугольник со стороной b в этот круг.

22. Заданы размеры a и b прямоугольного отверстия и размеры x, y, z кирпича. Определить, пройдет ли кирпич через это отверстие.

23. Задана точка на плоскости с координатами x и y. Определить, принадлежит ли точка закрашенной области.

24.

 
 

Задана точка с координатами x, y и радиус R. Определить, попадает ли точка в круг с координатами центра (0,0) и заданного радиуса.

25. Определить, являются ли цифры заданного четырёхзначного числа различны.

26. Определить, есть ли в заданном натуральном трехзначном числе четные цифры.

27. Заданы радиус круга и сторона квадрата. Определить, помещается ли круг в квадрате, помещается ли квадрат в круге или фигуры пересекаются.

28. Определить, удовлетворяет ли введенная пара чисел системе неравенств

29. Определить, попадает точка на плоскости, заданная координатами x и y в треугольник, заданный координатами вершин.

30. Определить, попадает точка на плоскости, заданная координатами x и y в четырехугольник, заданный координатами вершин.

31. Треугольник задан длинами сторон. Определить, является ли он равнобедренным.

32. Треугольник задан длинами сторон. Определить, является ли он равносторонним.

33. Четырехугольник задан координатами вершин. Определить, является ли четырехугольник ромбом.

34. Четырехугольник задан координатами вершин. Определить, является ли четырехугольник параллелограммом.

35. Четырехугольник задан длинами сторон. Определить, является ли четырехугольник параллелограммом.

36. Четырехугольник задан координатами вершин. Определить, является ли четырехугольник равнобокой трапецией.

37. Четырехугольник задан длинами сторон. Определить, является ли четырехугольник равнобокой трапецией.

38. Определить, принадлежит ли точка с координатами x,y окружности, заданной координатами центра и радиусом.

39. Две прямые описываются уравнениями a1x+b1y+c1=0, a2x+b2y+c2=0. Определить координаты точки пересечения прямых, либо сообщить, что эти прямые совпадают, не пересекаются или не существуют.

40. Два треугольника заданы координатами вершин. Определить, подобны ли эти треугольники.

41. Два треугольника заданы длинами сторон. Определить, подобны ли эти треугольники.

42. Вычислите, в какой координатной четверти расположен треугольник, образованный прямой, заданной уравнением y=ax+b, и осями координат.

43. Пусть D - заштрихованная часть плоскости (верхний полукруг радиуса 0.6 с центром в точке O, из которого вырезана правая верхняя четверть круга с тем же центром радиуса 0.3). Функция определяется следующим образом: U = x+y, если (x,y) принадлежит D; U = x-y в противном случае. Даны числа x,y. Найти U.

44. Даны координаты начала и конца двух отрезков в декартовой системе координат. Надо вычислить пересекаются эти отрезки или нет.

45. Даны числа x и y. Вычислите число z, равное x+y, если x<=y, и 1 - х + y в противном случае

46. Если данное число х меньше нуля, то z присвойте значение большего из двух чисел х и у, иначе z присвойте значение полусуммы этих чисел.

47. Ввести три числа. Выбрать и вывести наибольшее из них.

48. Даны три числа а, b, с. удвойте эти числа, если они являются упорядоченными по возрастанию.

49. Проверьте, есть ли среди трех заданных чисел равные.

50. Дано двузначное число. Определить, какая из его цифр больше, первая или вторая.

51. Известны площади круга и квадрата. Определить, уместится ли круг в квадрате

52. Известны площади круга и квадрата. Определить, уместится ли квадрат в круге.

53. Дано трехзначное число. Выяснить, является ли оно полиндромом («перевертышем»), т.е. таким числом, десятичная запись которого читается одинаково слева направо и справа налево.

54. Дано трехзначное число. Определить, является ли сумма его цифр двузначным числом

55. Дано трехзначное число. Определить, является ли произведение его цифр трехзначным числом.

56. Дано трехзначное число. Определить, больше ли числа А произведение его цифр.

57. Дано трехзначное число. Определить, кратна ли пяти сумма его цифр

58. Дано трехзначное число. Определить, кратна ли сумма его цифр числу А.

59. Дано трехзначное число. Верно ли, что все его цифры одинаковы?

60. Дано четырехзначное число. Определить, равна ли сумма двух первых его цифр сумме двух его последних цифр.

61. Дано четырехзначное число. Определить, кратна ли трем сумма его цифр.

62. Дано четырехзначное число. Определить, кратно ли четырем произведение его цифр.

63. Дано четырехзначное число. Определить, кратно ли произведение его цифр числу А.

64. Дано натуральное число. Выяснить, верно, ли что оно заканчивается нечетной цифрой.

65. Дано натуральное число. a. Выяснить, верно, ли что оно заканчивается четной цифрой?

66. Является ли число А делителем числа В и наоборот?

67. Дано четырехзначное число N. Выяснить, является ли число полиндромом («перевертышем»), т.е. таким числом, десятичная запись которого читается одинаково слева направо и справа налево..

68. Дано четырехзначное число N. Выяснить, верно, ли что все 4 цифры этого числа различны.

69. Трамвайный билет имеет шестизначный номер. Выяснить, является ли билет «счастливым». Билет назовем «счастливым», если сумма первых трех цифр равна сумме последних трех цифр.

70. Выяснить пройдет ли кирпич в круглое отверстие.

 

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.