Несколько замечаний перед тем, как
приступить к выполнению задания...
Задание необходимо сдать до 26 октября включительно.
- Задача "Вычисление функции" (Pdf).
Указания
- Изучите справку по оператору IF.
- Оформите нахождение максимума из двух чисел в виде функции
Max.
- Оформите нахождение минимума из двух чисел в виде функции
Min.
- Оформите вычисление функции Z(x,y) в виде соответствующей
функции. В реализации данной функции используйте вложенный оператор
if и написанные ранее
подпрограммы Max и
Min.
- Задача "Вид треугольника" (Pdf).
Указания
- Изучите справку по оператору CASE.
- Оформите в виде функции определение вида треугольника:
function TypeOfTriangle(A, B, C:
Real): Integer;
{ По длинам сторон треугольника A, B, C возвращает целое число (вид
треугольника):
0, если треугольник с такими сторонами построить нельзя
3, если треугольник равносторонний
2, если треугольник равнобедренный
1, иначе (треугольник общего вида). }
- Треугольник существует, если сумма длин двух любых его сторон больше
длины третьей стороны. В реализации функции
TypeOfTriangle
используйте вложенный оператор if
.
- В реализации вывода результатов используйте оператор
case.
- Задача "Квадратное уравнение" (Pdf).
Указания
- Оформите в виде процедуры вычисление действительных корней квадратного
уравнения и их количества:
procedure Equation(A, B, C: Real;
var X1, X2: Real; var N: Integer);
{ Вычисление действительных корней квадратного уравнения и их числа.
A, B, C - коэффициенты квадратного уравнения, A<>0.
Возвращает:
X1, X2 - значения действительных корней. Побочный эффект: если
действительных корней нет, возвращает в качестве X1 и X2 нули.
N - число действительных корней:
0, если действительных корней нет,
1, если есть действительные корни и X1=X2
2, если есть действительные корни и X1<>X2.}
- Задача "Копейка рубль бережет" (Pdf).
Указания
- Оформите в виде процедуры перевод копеек в рубли и копейки.
- Оформите в виде функции подбор для заданного числа соответствующей формы
слова "рубль". В реализации функции используйте оператор
case.
- Оформите в виде функции подбор для заданного числа соответствующей формы
слова "копейка". В реализации функции используйте оператор
case.
Следующие задачи являются дополнительными и не являются
обязательными для выполнения, но решение подобных задач стоит определенное
количество баллов (баллы указаны в скобках).
Набравшие более 25 баллов в конце года получат зачет автоматом (при условии
сдачи ВСЕХ лабораторных) по дисциплине "Практикум на ЭВМ".
Набравшие менее 6 баллов в конце года получат дополнительное задание на
экзамене по дисциплине "Основы программирования".
Дополнительные задачи:
- Задача "Файл" (Pdf)
(1).
- Задача "Время прибытия" (Pdf)
(2).
- Задача "Шахматы" (Pdf)
(3).
- Задача "Ремонт" (Pdf)
(3).
- Задача "Прибытие самолета" (Pdf)
(2).
Контрольные вопросы и задания
- Напишите, какое значение будет иметь переменная
Z после выполнения
операторов
Z:=0;
if X>0 then if Y>0 then Z:=1 else Z:=2;
при следующих значениях переменных
X и Y:
a) X=1, Y=1
b) X=1, Y=-1
c) X=-1, Y=1
- Пусть имеется оператор присваивания
X:=A or B and C, где
переменные X,
A,
B,
C имеют тип
Boolean. Напишите условный
оператор, который эквивалентен данному (например, оператору присваивания
X:=not A эквивалентен
условный оператор if A then X:=False
else X:=True).
- Пусть имеется условный оператор
if A then X:=B else X:=C,
где переменные X,
A,
B,
C имеют тип
Boolean. Напишите оператор
присваивания, который эквивалентен данному.
- Какие из следующих фрагментов программ содержат синтаксические ошибки?
Обоснуйте ответ.
- var
S: String;
case S of
'Zero': WriteLn('Ноль');
'One': WriteLn('Один');
'Two': WriteLn('Два');
else
WriteLn('Много!');
end;
- var
B: Boolean;
case B of
True: WriteLn('Истина');
False: WriteLn('Ложь');
else
WriteLn('Неизвестно');
end;
- var
R: Real;
case R of
3.14159: WriteLn('Число Пи');
2.71828: WriteLn('Число E');
else
WriteLn('Неизвестная константа');
end;
- var
I: Integer;
S: String;
case I div 100 mod 10 of
0, 5..9: S:='копеек';
1: S:='копейка';
2..4: S:='копейки';
else
S:='????';
end;
- type
DayOfWeek=(Mon, Tue, Wed, Thu, Fri, Sat, Sun);
var
D: DayOfWeek;
case D of
Sat..Sun: WriteLn('Выходной день');
else
WriteLn('Рабочий день');
end;