Поиск по этому блогу

вторник, 11 апреля 2017 г.

Кирпичики алгоритмов

Выделение последней цифры числа
125 mod 10= 5
Удаление последней цифры числа
125 div 10 =12
Условный оператор IF
Синтаксис инструкции IF:
If  условие
       then
            begin
                {инструкции выполняемые, если условие истинно};  
            end
                else
                     begin
                         {инструкции выполняемые, если условие ложно};
                      end;
Инструкция if выполняется следующим образом:

1.      вычисляется значение условия (выражение логического типа или переменная логического типа boolean).
2.      Если значение выражения условия равно true, то выполняются инструкции, следующие за словом then. Если значение выражения условия равно false, то выполняются инструкции, следующие за словом else.
Примечание:
1.      Если при выполнении (невыполнении) условия надо выполнить только одну инструкцию, то слова begin и end после then (else) могут быть опущены.
    Большая из величин
 
Пример: необходимо вывести на экран значение большего из двух введенных с клавиатуры чисел. Пусть первое число х, а второе число у, тогда фрагмент программы будет выглядеть так:
if x>y then writeln (x)
      else writeln (y);
 

 



 



Если какое-либо действие нужно выполнить только при выполнении условия, инструкция if может быть записана так:
If  условие
       then
            begin
                {инструкции выполняемые, если условие истинно};  
            end;
 


 Условные операторы чаще всего используются при работе с массивами  в таких задачах как, поиск максимального или минимального элемента массива, фильтр элементов массива по некоторому условию, сортировка элементов массива.

Циклы. Цикл FOR
По-другому называется цикл с параметром. Параметром называют внутреннюю переменную цикла. Чаще всего используются имена переменных I и J.
            FOR i:={начальное значение} TO (DOWNTO) {конечное значение}DO
                        {тело цикла};
Под телом цикла понимают оператор, который выполняется внутри цикла. Он может быть простым – любой одиночный оператор языка Паскаль, или составным – когда несколько простых операторов заключены в операторные скобки beginend;
TO применяется когда «начальное значение» меньше «конечного значения», оно означает, что при каждом шаге(повторе) цикла ко значение переменной цикла будет увеличиваться на 1.
 DOWNTO применяется когда «начальное значение» больше «конечного значения», оно означает, что при каждом шаге(повторе) цикла ко значение переменной цикла будет уменьшаться на 1.
На блок схеме такой вид цикла обозначается так:

Данная схема не раскрывает механизм работы данного цикла. Расшифруем ее:


1. Переменной цикла i присваивается начальное значение.
2. Выполняется тело цикла.
3. Значение переменной цикла увеличивается на 1.
4. Проверяется условие: если переменная цикла больше конечного значения (да) цикл заканчивается, иначе (нет) идти к пункту 2, т.е. опять выполняется тело цикла.
Для цикла с использованием downto будет все тоже самое, только поменяется условие на «переменная цикла меньше конечного значения»
В основном такой вид цикла используют для работы с массивом. Переменная цикла в этом случае используется как индекс элемента массива. Например.
Ввод значений элементов массива с клавиатуры
var a: array [1..10] of integer;
      i: integer;
begin
for i:=1 to 10 do
     readln (a[i]);
end.
Вывод значений элементов массива на экран
var a: array [1..10] of integer;
      i: integer;
begin
for i:=1 to 10 do
     writeln (a[i]);
end.
Поиск наибольшего значения среди элементов массива
var a: array [1..10] of integer;
      i, max: integer;
begin
max:=a[1];
for i:=2 to 10 do 
  if max<a[i] then max:=a[i];
     writeln (max);
end.
Поиск наименьшего значения среди элементов массива
var a: array [1..10] of integer;
      i, min: integer;
begin
min:=a[1];
for i:=2 to 10 do 
  if min>a[i] then min:=a[i];
     writeln (min);
end.

Оператор цикла с предусловием while.

Оператор цикла while используется в программе, если надо провести некоторые повторные вычисления (цикл), однако число повторов заранее неизвестно и определяется самим ходом вычисления.
В общем виде оператор выглядит так:
while условие do
    begin
        {последовательность операторов};
     end;
где условие – выражение логического типа или логическая .
Оператор цикла while работает следующим образом:
1.      Вычисляется условие.
2.      Если условие ложно, то вход в цикл не выполняется и управление передается оператору, следующему непосредственно за операторами тела цикла.
3.      Если же условие истинно, то происходит вход в цикл и однократное выполнение операторов. Как только достигнут конец тела цикла, управление передается на его заголовок, где снова вычисляется его условие.
Примечание:
1.      Для того чтобы последовательность инструкций между begin и end была выполнена хотя бы один раз, необходимо, чтобы перед выполнением инструкции  while условие было истинно;
2.      Для того чтобы цикл завершился, необходимо чтобы последовательность инструкций между begin и end изменяла значения переменных, входящих в выражение условие.




 Примеры.
while s < 111 do         -пока s меньше 111 будет выполняться тело цикла

while 2*s*s < 123 do      - пока 2s² меньше 123 будет выполняться тело цикла

while s <= 1200 do     -пока s меньше или равно 1200 будет выполняться тело цикла


Комментариев нет:

Отправить комментарий