Составление программ разветвляющейся структуры
КОМИТЕТ ПО ОБРАЗОВАНИЮ МОСКОВСКОЙ ОБЛАСТИ
ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧЕРЕЖДЕНИЕ
СРЕДНЕГО ПРОФЕССИОНАЬНОГО ОБРАЗОВАНИЯ МОСКОВСКОЙ ОБЛАСТИ
«СЕРПУХОВСКИЙ ТЕХНИЧЕСКИЙ КОЛЛЕДЖ»
Лабораторная работа №2
По дисциплине «Основы программирования»
Составление программ разветвляющейся структуры
Выполнил:
Студент 2-го курса 2-П гр.
Исаев Виктор
Проверил:
Щербаков Кирилл Вадимович
Серпухов 2014
Цель работы:
- Изучить правила записи операторов ветвления.
- Разработать алгоритм решения задачи.
- Составить программу решения задачи.
Оборудование:
- Персональный компьютер
- программа Turbo Pascal
Задание.
Решить задание в соответствии с вариантом задания. Исходные данные должны вводиться в режиме диалога и сопровождаться комментариями. Результат вывести на экран, сопровождая вывод комментариями.
1) На плоскости XOY задана своими координатами точка A. Узнать в какой четверти или на какой оси она расположена.
2) F(x)= x4+9, если x<3.2
F(x) = (54*x4) / (-5*x2+7), если x>=3.2
Блок-схема программы.
1)
2)
Листинг программы.
а) Program Pr1;
var x,y: real;
Begin
writeln('Введите x');
readln(x);
writeln('Введите y');
readln(y);
Write('Точка расположена');
if x=0 then
Begin
Write(' на оси OY');
end;
if y=0 then
Begin
Write(' на оси OX');
end;
if (x>0) and (y>0) then
Begin
Write(' в первой четверти');
end;
if (x<0) and (y>0) then
Begin
Write(' во второй четверти');
end;
if (x<0) and (y<0) then
Begin
Write(' в третьей четверти');
end;
if (x>0) and (y<0) then
Begin
Write(' в четвертой четверти');
end;
end.
Результат выполнения программы:
б) Program Pr2;
Var x, F : real;
Begin
writeln('Введите x');
readln(x);
if x<3.2 then
begin
F:=(x*x*x*x)+9;
writeln('F(x)=', F:4:1);
end
else
Begin
F:=(54*(x*x*x*x))/(-5*(x*x)+7);
writeln('F(x)=', F:4:1);
end;
end.
Результат выполнения программы:
Контрольные вопросы:
- Операторы разветвлений.
- Операторы множественного выбора.
- Форматированный вывод данных.
- Операторы разветвлений:
- Условный оператор if.
Условный оператор if используется для разветвления процесса вычислений на два направления. Структурная схема оператора приведена на рисунке.
Формат оператора:
if выражение then оператор_1 [else оператор_2;]
Сначала вычисляется выражение, которое должно иметь логический тип. Если оно имеет значение true, выполняется первый оператор, иначе - второй. После этого управление передается на оператор, следующий за условным.
- Оператор варианта case.
Оператор варианта (выбора) предназначен для разветвления процесса вычислений на несколько направлений. Структурная схема оператора приведена на рисунке.
Формат оператора:
case выражение of
константы_1 : оператор_1;
константы_2 : оператор_2;
*
константы_n : оператор_n;
[ else : оператор ]
end;
- Операторы множественного выбора.
Оператор варианта case.
Если количество разветвлений программы больше 2, то используется оператор варианта case.
Оператор case выполняет один из нескольких операторов в зависимости от значения селектора. Если селектор не совпадает ни с одним из значений, то выполняется оператор после else или следующий после case, если else отсутствует
- Форматированный вывод данных.
Информация, выводимая любой программой должна быть легко читаемой, понятной для пользователя. Для этого, в частности, нужно, чтобы действительные числа были выведены в алгебраической форме, как число с точкой, а также в записях содержались пробелы, отделяющие числа от текста и др. Для этого в языках программирования используются форматы вывода.
При использовании форматов для вывода значений в текстовые файлы или на экран около имени, выводимого данного явно указывается размер поля для размещения его значения (после знака :), в виде переменная:ширина поля.
Форматы для данных различных типов
1. Для целых данных (integer и др.) - формат задается одним числом, определяющим число позиций, отводимых на это число. Например:
Writeln(i:5);
выведет на экран значение переменной i, используя для этого 5 позиций (даже если число занимает меньше 5 позиций, свободные позиции все равно будут отображаться).
Если переменная i:=34, то на экран будут выведены 3 пустых позиции (они для наглядности показаны знаком подчеркивания) и число 34, т.е. всего 5 позиций.
_ _ _ 34
Если переменная i:=2345666, то данный формат (i:5) не может быть использован (выводимое число занимает больше позиций) и будет просто игнорироваться и все значение переменной отобразиться на экране.
2345666
2. Для вещественных данных (real и др.) - формат задается либо одним числом, определяющим число позиций, отводимых на это число в экспоненциальной форме; либо двумя числами, первое из которых обозначает общий размер поля, отведенного под это число, второе - число знаков после запятой, т.е. точность. Например:
Writeln(p:12); или Writeln(p:6:2);
Если переменная p:=1234.,6789, то в первом случае на экране появится
_1.2346E+004
а во втором
1234.68
Еще один пример. Пусть значение переменной X равно 123.45678, тогда оператор
Write(X); выведет "_1.23456780000000000E+02"
Write(X:8:2); выведет "_ _123.46"
Write(X:10:5); выведет "_123.45678"
Write(X:10); выведет "_1.23E+002"
Write(X:8); выведет "_1.2E+002"
Write(X:1); выведет "_1.2E+002"
Пример программы, демонстрирующей возможности форматированного вывода числовых данных (3_1_7.exe).
3. Для строковых и символьных данных (string, char) - формат задается одним числом, определяющим число позиций, отводимых на значение этих данных (т.е. на символ или набор символов). Например, для строковой переменной ss:=СТРОКА и для символьной переменной c:=C, операторы
Writeln(ss:8); Writeln(c:4);
выведут на экран
_ _ СТРОКА
_ _ _ С
Т.е. в первой строчке две первые позиции из восьми отводимых будут пустыми, а остальные занимаются словом СТРОКА. Во второй строке из 4 позиций отводимых под переменную, первые три будут свободными, а последняя занята символом С.
Может оказаться полезным, что оператор Write(' ':n) выведет на экран n пробелов. При n=6 будет
_ _ _ _ _ _
Если в разобранной выше задаче переписать оператор writeln, который выводит на экран значение времени и скорости троллейбуса, таким образом:
writeln( За ,t:6:2, сек. скорость троллейбуса v=,v:5:1, м/с,);
то на экране появится (знак подчеркивания показан для демонстрации пустых позиций форматированного вывода):
За _ _1.00 сек. скорость троллейбуса v= _ _1.5 м/c,
Вывод: Изучил правила записи операторов ветвления. Научился разрабатывать алгоритм решения задачи. Научился составлять программу решения задачи .
Составление программ разветвляющейся структуры