лекция по программированию 6 (972264)
Текст из файла
Лекция по программированию № 6
Кодирование алгоритмических конструкций на языке Pascal
Простейшая условная конструкция
Псевдокод
если <условие> то
<действия>
все
Pascal
If <условие> then
<оператор>
-
Оператор может быть простым, либо составным.
-
Если используется несколько условий, связанных логическими связками, то каждое из них заключается в круглые скобки.
-
Логические связки: не – not, или – or, и – and.Выполняются в указанном порядке.
<Оператор> выполняется только при истинном условии.
Расширенная условная конструкция
Псевдокод
если <условие> то
<действия 1>
иначе
<действия 2>
все
Pascal
If <условие> then
<оператор 1>
else
<оператор 2>
При истинном условии выполняется только <оператор 1 >, а при ложном - только <оператор 2>.
Например, рассмотрим программу решения линейного уравнения
Program solution;
Var a, b, c, d:real;
Begin
Write(‘Введите коэффициенты a, b,c:’);
Read(a,b,c);
If a=0 then
Writeln(‘ Линейное уравнение’)
Else
Begin
D:=sqr(b)-4*a*c;
If d<0 then
Writeln(‘нет действительных корней’)
Else
If d=0 then
Begin
X1:=-b/(2*a);
Writeln(‘один корень x=’,x1:10:5);
End
Else
Begin
X1:=(-b+sqrt(d))/(2*a);
X2:=(-b-sqrt(d))/(2*a);
Writeln(‘два корня x=’,x1:10:5, ‘ x2=’,x2:10:5);
End;
End;
End.
Как видно из примера, точка с запятой не ставится перед else, т. к. условный оператор при наличии ветви иначе заканчивается там, где кончается <оператор 2>.
Конструкция выбора
Псевдокод
выбор (n)
n=1:< действия 1>
n=2:< действия 2>
…
n=k:< действия k>
[иначе < действия k+1> ]
квыбор
Pascal
Case(n) of
1: <оператор 1>
2: <оператор 2>
…
k: <оператор k>
[else <оператор k+1>
end
, где n – значение переменной или выражение порядкового типа.
Оператор выбора выполняется следующим образом.
-
Вычисляется значение n.
-
Отыскивается константа, равная полученному значению и выполняется записанный за ней оператор. Оператор может быть как простым, так и составным.
-
Если соответствующее значение не найдено, то при наличии ветви иначе будет выполнен <оператор k+1>. Если ветвь иначе отсутствует, то никаких действий не выполняется.
Операторы в конструкции выбора можно пометить несколькими метками одновременно, например
Var I: integer;
…
case I of
0, 1,2: y:=x;
3,4: y:=z;
end;
Порядок следования меток-констант может быть произвольным, но все они должны быть различны, Например, недопустима конструкция
Case I of
1: x:=1;
3,2,1: x:=2;
end;
, т.к. константа 1 повторяется 2 раза.
Циклы
Цикл от… до (со счетчиком)
Псевдокод
цикл от i:=<н.з.> до <к.з.> [ шаг <приращение>]
<действия>
кц
Pascal
for i:=<н.з.> to | downto<к.з.>do
<оператор>
, где
i – переменная (счетчик) цикла должна обязательно иметь порядковый тип,
<н.з.> - начальное значение счетчика,
<к.з.> - конечное значение счетчика,
<приращение> - шаг, с которым изменяется значение счетчика.
Если действий в цикле несколько, необходимо использовать составной оператор. В языке Pascal для этого цикла можно использовать значение приращения только равное 1 (ключевое слово to), либо –1 (ключевое слово downto). При использовании других шагов необходимо использовать другой цикл, либо выражать значение переменной цикла через другие переменные. Например, рассмотрим фрагмент алгоритма
S:=0
Цикл от I:=1 до 5 шаг 0.5
S:=s+I2
кц
Этот фрагмент можно закодировать одним из следующих способов:
Вариант 1
I:=1; s:=0;
For k:=1 to 9 do
Begin
S:=s+sqr(i);
I:=I+0.5
End;
Вариант 2
I:=1; s:=0;
While I<=9 do
Begin
S:=s+sqr(i);
I:=I+0.5
End;
При выходе из этого цикла значение переменной цикла считается неопределенным.
Переменная цикла, а также ее конечное и начальное значение не должны изменяться в теле цикла.
Тип начального и конечного значения должен соответствовать типу переменной цикла.
В качестве примера использования цикла со счетчиком и конструкции выбора рассмотрим вычисление заданного количества чисел Фибоначчи.
Числа Фибоначчи вычисляются по формуле
F (1)=F(2)=1
F(k)=F(k-1)+F(k-2), при k>2.
Вычислим несколько первых чисел Фибоначчи: 1, 1, 2, 3, 5, 8 и т.д.
Для хранения этой последовательности использовать массив не обязательно. Достаточно трех переменных. Обозначим f1, f2 – два предыдущих числа Фибоначчи, f3 – текущее число. Изобразим несколько начальных шагов цикла. Стрелками показано перемещение значений переменных для следующего шага.
F1 | F2 | F3 |
1 | 1 | 2 |
1 | 2 | 3 |
2 | 3 | 5 |
Progran Fibonachi;
Var f1, f2, f3, n, I: integer;
{ f1, f2 – два предыдущих числа Фибоначчи, f3 – текущее число ,
n – количество чисел, i – номер текущего числа.}
begin
writeln(‘Числа Фибоначчи’);
writeln(‘Введите количество чисел’);
read(n);
if n<=0 then
wruteln(‘ Неверные данные’)
else
begin
f1:=1; f2:=1;
case n of
1:writeln(‘1’);
2: writeln(‘1 2’);
else begin
writeln(f1:3, f2:3);
for I:=3 to n do
begin
f3:=f1+f2;
f1:=f2;
f2:=f3;{для следующего шага перемещаем
числа в соответствующие ячейки }
writeln(f3:6);
end;{для цикла for}
end;{для else}
end;{для case}
end.{конец программы}
Цикл-пока (с предусловием)
Псевдокод
цикл-пока <условие>
<действия>
кц
Pascal
While <условие> do
<оператор>
Выполнение цикла продолжается пока условие истинно и завершается, когда условие станет ложным. То есть в заголовке цикла указывается условие его продолжения.
Цикл_до (с постусловием)
Псевдокод
цикл
<действия>
до <условие>
кц
Pascal
Repeat
<оператор>
until условие
Выполнение цикла продолжается пока условие ложно и завершается, когда условие станет истинным. То есть в конце цикла указывается условие его завершения.
Примеры использования двух последних циклов рассмотрим на следующей лекции.
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.