Операторы if и case языка паскаль
7.
При x=0.1722, y=6.33, z=3.25 =-172.025.
8.
При x=-2.235, y=2.23, z=15.221 =39.374.
9.
При x=1.825, y=18.225, z=-3.298 =1.2131.
10.
При x=3.981, y=-1.625, z=0.512 a=1.26185.
11.
При x=6.251, y=0.827, z=25.001 b=0.7121.
12.
При x=3.251, y=0.325, z=0.466 c=4.025.
13. .
При x=17.421, y=10.365, z=0.828 f=0.33056.
14. .
При x=12.3, y=15.4, z=0.252 g=82.8257.
15. .
При x=2.444, y=0.869, z=-0.13 -0.49871.
16. Вывести на экран 1 или 0 в зависимости от того, имеют три заданных целых числа одинаковую четность или нет.
17. Найти сумму цифр заданного четырехзначного числа.
18. Определить число, полученное выписыванием в обратном порядке цифр заданного трехзначного числа.
19. Вывести на экран 1 или 0 в зависимости от того, равна ли сумма двух первых цифр заданного четырехзначного числа сумме двух его последних цифр.
20. Вывести на экран 1 или 0 в зависимости от того, равен ли квадрат заданного трехзначного числа кубу суммы цифр этого числа.
21. Вывести на экран 1 или 0 в зависимости от того, есть ли среди первых трех цифр дробной части заданного положительного вещественного числа цифра ноль.
22. Вывести на экран 1 или 0 в зависимости от того, есть ли среди цифр заданного трехзначного числа одинаковые.
23. Присвоить целой переменной k третью от конца цифру в записи положительного целого числа n.
24. Присвоить целой переменной k первую цифру из дробной части положительного вещественного числа.
25. Целой переменной S присвоить сумму цифр трехзначного целого числа k.
26. Идет k-я секунда суток. Определить, сколько полных часов (h) и полных минут (m) прошло к этому моменту.
27. Определить f – угол (в градусах) между положением часовой стрелки в начале суток и ее положением в h часов, m минут и s секунд (0<=h<=11, 0<=m, s<=59).
28. Определить h – полное количество часов и m – полное количество минут, прошедших от начала суток до того момента( в первой половине дня), когда часовая стрелка повернулась на f градусов(0<=f<360, f – вещественное число).
29. Пусть k – целое от 1 до 365. Присвоить целой переменной n значение 1,2,…6 или 7 в зависимости от того, на какой день недели ( понедельник, вторник,…, суббота или воскресенье) приходится k— й день невисокосного года, в котором 1 января — понедельник.
30. Поменять местами значения целых переменных x и y, не используя дополнительные переменные.
Тема 2. Программирование разветвляющихся алгоритмов
Цель лабораторной работы: научиться пользоваться простейшими компонентами организации переключений (TСheckBox, TRadioGroup). Написать и отладить программу разветвляющегося алгоритма.
2.1. Операторы if и case языка Паскаль
Для программирования разветвляющихся алгоритмов в языке Pascal используются специальные переменные типа boolean, которые могут принимать только два значения — true и false (да, нет), а также операторы if и case. Оператор if проверяет результат логического выражения, или значение переменной типа boolean, и организует разветвление вычислений.
Например, если bl: boolean, x, y,u:integer, то фрагмент программы с оператором if может быть таким:
bl:=x>y;
if bl then u:=x-y;
else u:=x-y;
Оператор выбора case организует разветвления в зависимости от значения некоторой переменной перечисляемого типа.
Например, если In: integer, то после выполнения
case in of
0: u:=x+y;
1: u:=x-y;
2: u:=x•y;
else u=0;
end;
в соответствии со значением in вычисляется u. Если in=0, то u=x+y, если in=1, то u=x-y, если in=2, то u=x*y и, наконец, u=0 при любых значениях in отличных от 0, 1 или 2.
2.2. Кнопки-переключатели в Delphi
При создании программ в DELPHI для организации разветвлений часто используются компоненты в виде кнопок-переключателей. Состояние такой кнопки (включено — выключено) визуально отражается на форме. На форме (рис.2.1) представлены кнопки-переключатели двух типов (TCheckBox, TRadioGroup ).
Компонент TCheckBox организует кнопку независимого переключателя, с помощью которой пользователь может указать свое решение типа да/нет. В программе состояние кнопки связано со значением булевской переменной, которая проверяется с помощью оператора if.
Компонент TRadiogroup организует группу кнопок — зависимых переключателей. При нажатии одной из кнопок группы все остальные кнопки отключаются. В программу передается номер включенной кнопки (0,1,2,..), который анализируется с помощью оператора case.
2.3. Пример написания программы
Задание: ввести три числа — x, y,z. Вычислить по усмотрению u=sin(x) или u=cos(x), или u=tg(x). Найти по желанию максимальное из трех чисел: max(u, y,z), или max (|u|,|y|,|z|).
Cоздать форму, представленную на рис. 2.1, и написать соответствующую программу.
2.3.1. Coздание формы
Создайте форму, такую же как в первом задании, скорректировав текст надписей и положение окон TEdit.
2.3.2.Работа с компонентом TСheckBox
Выберите в меню компонентов Standard пиктограмму и поместите ее в нужное место формы. С помощью инспектора объектов измените заголовок (Caption) на “maxabs”. В тексте программы появилась переменная CheckBox1 типа TСheckBox. Теперь в зависимости от того, нажата или нет кнопка, булевская переменная CheckBox1.Checked будет принимать значения true или false.
2.3.3. Работа с компонентом TRadioGroup
Выберите в меню компонентов Standard пиктограмму и поместите ее в нужное место формы. На форме появится окаймленный линией чистый прямоугольник с заголовком RadioGroup1. Замените заголовок ( Caption ) на U(x). Для того чтобы разместить на компоненте кнопки, необходимо свойство Columns установить равным единице (кнопки размещаются в одном столбце). Дважды щелкните по правой части свойства Items мышью, появится строчный редактор списка заголовков кнопок. Наберите три строки с именами: в первой строке — cos(x), во второй — sin(x), в третьей — tg(x), нажмите ОК.