Объекты алгоритмов

Величины

Алгоритмы описывают последовательность действий, производи­мых над некоторыми объектами, определёнными условием задачи. Например, при решении задачи о начислении зарплаты сотрудникам предприятия такими объектами могут быть табельный номер сотруд­ника, его фамилия, имя, отчество, оклад, отработанное время и т. д.

В информатике отдельный информационный объект (число, символ, строка, таблица и др.) называется величиной.

Величины делятся на постоянные (константы) и переменныеПо­стоянной (константой) называется величина, значение которой ука­зывается в тексте алгоритма и не меняется в процессе его исполне­ния. Переменной называется величина, значение которой меняется в процессе исполнения алгоритма. При исполнении алгоритма в каж­дый момент времени переменная обычно имеет значение, называе­мое текущим значением.

Пример 1. Величины, выражающие количество дней в неделе, ускорение свободного падения, количество дней в первой декаде ме­сяца, являются константами. Величины, выражающие количество дней в месяце, пульс человека, количество дней в третьей декаде ме­сяца, являются переменными.

В алгоритмах над величинами выполняются некоторые операции. Например:

  • арифметические операции +, -, * (умножение), / (деление);
  • операции отношения <, >, <=, >=, =, < >;
  • логические операции И, ИЛИ, НЕ.

Объекты, над которыми выполняются операции, называются опе­рандами. Не всякий объект может быть операндам для выполнения любой операции. Например, текст не может быть объектом для вы­полнения арифметических операций; отрицательное число не может быть операндом для извлечения квадратного корня и т. д.

Множество величин, объединённых определённой совокупностью допустимых операций, называют величинами определённого типа. При составлении алгоритмов используют величины числового (цело­го и вещественного), символьного, литерного и логического типов.

В математике и физике оперируют числовыми величинами — на­туральными, целыми, действительными числами. При составлении алгоритмов чаще всего используют числовые величины целого и ве­щественного типов, которые в алгоритмическом языке обозначают­ся цел и вещ соответственно. (Слово «вещественный» принято использовать вместо слова «действительный»).

В задачах, возникающих в повседневной жизни, встречаются и нечисловые величины, значениями которых являются символы, сло­ва, тексты и др. При составлении алгоритмов обработки текстовой информации используют величины символьного (сим) и литерного (лит) типов. Литерные величины иногда называют строковыми (стр). Значением символьной величины является один символ: русская или латинская буква, цифра, знак препинания или другой символ. Значением литерной, строковой величины является последовательность символов. Иногда эту последовательность называют строкой или це­почкой. Литерные, строковые значения в алгоритме записывают в кавычках, например: 'алгоритм', 'литерная величина', '2011'.

Величины логического (лог) типа могут принимать всего два зна­чения:

  • ДА (ИСТИНА, TRUE, 1);
  • НЕТ (ЛОЖЬ, FALSE, 0).

Для ссылок на величины используют их имена (идентификато­ры). Имя величины может состоять из одной или нескольких латин­ских букв, из латинских букв и цифр: Al, М, АР. Рекомендуется выбирать мнемонические имена, т. е. имена, отражающие суть объектов решаемой задачи, например SUMMA, PLAN, CENA и т. д.

Если величину представить как домик, жильцом которого является некоторое значение, то имя величины — это адрес домика.

 

Выражения

Выражение — языковая конструкция для вычисления значения с помощью одного или нескольких операндов.

Важно помнить, что:

  • Выражения состоят из операндов (констант, переменных, функ­ций), объединённых знаками операций.
  • Выражения записываются в виде линейных последовательностей символов (без подстрочных и надстрочных символов, обыкновенных дробей и т. д.).
  • Знаки опера­ций пропускать нельзя.
  • Порядок выполнения операций определяет­ся скобками и приоритетом (старшинством) операций.
  • Операции оди­накового приоритета выполняются слева направо.

Различают арифметические, логические и строковые выражения.

Арифметические выражения служат для определения числового значения. Например, 2*х+3 — арифметическое выражение, значе­ние которого при х = 1 равно пяти, а при х = -1 — единице. Выраже­ние sqrt(х) служит для обозначения операции извлечения квадратно­го корня из х.

Логические выражения описывают некоторые условия, которые могут удовлетворяться или не удовлетворяться. Логическое выраже­ние может принимать одно из двух значений — ИСТИНА или ЛОЖЬ. Например, логическое выражение >5)И(х<10) опреде­ляет принадлежность точки х интервалу (5; 10):

 

При х = 6 значение этого выражения ИСТИНА, а при х = 12 – ЛОЖЬ.

Строковые выражения состоят из величин литерного, строкового, символьного типов, соответствующих функций и операций склеивания (сцепления, конкатенации) и вырезания. Операция склеивания  обозначается знаком «+» (плюс) или «&» (амперсанд). Значениями строковых выражений являются последовательности символов. Например, если А =‘том’ то значение строкового выражения 'а'+А есть ’атом’.

Команда присваивания

Задать конкретное значение величины можно с помощью команды присваивания, которая обозначается «:=» и записывается так:

<имя переменной>:= <выражение>

Например, запись А:=В+5 чи­тается так: «переменной А присвоить значение выражения В плюс 5».

Знаки присваивания «:=» и равенства «=» — разные знаки:

знак «=» означает равенство двух величин, записанных по обе сто­роны от этого знака;

знак «:=» предписывает выполнение операции присваивания. Например, запись А:=А+1 означает, что в домике А то значение, которое там было, увеличили на единицу.

При записи присваивания необходимо следить, чтобы тип выражения был совместим с типом пе­ременной.

Свойства присваивания:

  • пока переменной не присвоено значение, она остаётся неопре­делённой;
  • значение, присвоенное переменной, сохраняется в ней до выполнения следующего присваивания этой переменной нового значения;
  • если мы присваиваем некоторой переменной очередное значе­ние, то предыдущее её значение теряется безвозвратно.

Пример 2. Составим алгоритм, в результате которого переменные А и В литерного типа обменяются своими значениями.

Для решения этой задачи введём промежуточную перемен­ную М. Зачем? Воспользуемся аналогией. Если требуется перелить жидкость из сосуда 1 в сосуд 2, а из сосуда 2 в сосуд 1, то без дополнительного сосуда 3 здесь не обойтись. Алгоритм переливаний представлен на рис. 3.4.

Алгоритм обмена значениями переменных А и В запишем так:

  • алг обмен значениями (лит А, В)
  •        арг А, В
  •        рез А, В
  • нач лит М
  •        М:=А
  •        А: =В
  •        В: =М
  • кон

Если A и B — числовые величины, то обмен их значениями можно организовать и без промежуточной переменной, например так: 

A:=A+B

B:=A−B

A:=A−B.

Табличные величины

В практической деятельности человека часто используются все­возможные таблицы. Это, например, список учащихся в классном журнале, табель успеваемости, таблица результатов спортивных со­ревнований и т. д. При этом наиболее часто встречаются линейные и прямоугольные таблицы.

Линейная таблица (одномерный массив) представляет собой на­бор однотипных данных, записанных в одну строку или один стол­бец. Элементы строки (столбца) всегда нумеруются. Например, с по­мощью линейной таблицы могут быть представлены дни недели (рис. 3.5, а) или количество уроков, пропущенных учеником в тече­ние 5-дневной учебной недели (рис. 3.5, б).

1

Понедельник

1        

2

3

4

5

2

Вторник

Васечкин

6

6

1

0

0

3

Среда

 

 

 

 

 

4

Четверг

 

б

 

 

5

Пятница

 

 

 

 

 

6

Суббота

 

 

 

 

 

7

Воскресенье

 

 

 

 

 

               

Рис. 3.5. Примеры линейных таблиц

Прямоугольная таблица (двумерный массив) — это упорядочен­ный некоторым образом набор строк (столбцов), содержащих одинако­вое количество элементов. Строки прямоугольных таблиц имеют свою нумерацию, столбцы — свою. Например, с помощью прямоугольной таблицы можно представить количество уроков, пропущенных всеми учениками 9 класса в течение 5-дневной учебной недели (рис. 3.6).

 

1

2

3

4

5

1. Васечкин

6

6

1

0

0

2. Ионов

0

0

0

0

6

3. Радугина

0

0

1

0

0

 

 

19. Чабанюк

0

0

0

0

0

Рис. 3.6. Пример прямоугольной таблицы

Всей совокупности элементов табличной величины даётся одно имя. Элементы различают по их номерам, называемым индексами. Индекс записывается в квадратных скобках сразу за именем таблицы.

Если первую из рассмотренных нами таблиц (см. рис. 3.5, а) на­звать WEEK, то WEEK[1] = ’понедельник’, WEEK[6] = 'суббота'.

Назовём третью из рассмотренных таблиц LES. Тогда LES[1,1] = 6, LES[2,5] = 6, LES[3,4] = 0.