Файл: Сравнительный анализ операторов для различных языков программирования.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 28.03.2023

Просмотров: 80

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Для примера использования неполного ветвления реализована проверка периметра треугольника. Так, если он больше 50, программа выдаст соответствующее сообщение, в противном случае просто завершит свою работу (см. рисунок 16).

Рисунок 15 – Пример работы оператора полного ветвления

Рисунок 16 – Пример работы оператора неполного ветвления

2.4 Операторы выбора

В том случае, когда в условном операторе необходимо использовать больше, чем две ветви, можно пойти двумя путями:

  • использовать вложенные условия;
  • использовать оператор выбора.

Очевидно, использование вложенных условий является не самым удобным способом решения подобных задач, поэтому в языке Паскаль был создан оператор выбора Case, синтаксис которого выглядит следующим образом:

Case<ключ>of

C_1: <операторы_1>;

C_2: <операторы_2>;

C_N: <операторы_N>;

else<операторы 0>

end;

В данной записи ключом называется выражение порядкового типа, в зависимости от значения которого и принимается решение. Значениями C_1, C_2, …, C_N обозначены константы - возможные варианты значения ключа, которые необходимо рассмотреть при вычислениях. Данным значениям соответствуют блоки операторов, которые исполняются, если значение ключа совпадает со значением C. Если же значение ключа не совпало ни с одной из указанных констант, выполнится блок <операторы_0>. Важно отметить, что этот блок может отсутствовать [15].

В качестве примера использования оператора выбора рассмотрим задачу определения времени года по введенному месяцу[13]:

Program Op_vybor;

uses crt;

var

m: integer;

begin

write('Введите номер месяца: ');

readln(m);

case m of

1,2,12: writeln('Время года - зима');

3,4,5: writeln('Время года - весна');

6,7,8: writeln('Время года - лето');

9,10,11: writeln('Время года - осень');

elsewriteln('Такого месяца не существует!');

end;

end.

В данной программе реализован оператор выбора, который в качестве констант использует сразу несколько значений, операторы для которых идентичны. Данный подход является очень удобным и позволяет сократить число ветвей программы с 13 до 5. Результат выполнения приведенного кода представлен на рисунке 17.

Рисунок 17 – Пример работы с оператором выбора

2.5 Операторы цикла

Циклическим называется такой алгоритм, в котором задана некоторая последовательность действий для многократного исполнения. Эта последовательность действий называется телом цикла. Заметим, что тело цикла указано в алгоритме один раз, но исполняться оно может многократно. Однократное исполнение тела цикла называется итерацией. В языках программирования высокого уровня, как правило, используют три вида циклов:


  • цикл с предусловием – while. Состоит из условия цикла и его тела (см. рисунок 18). Пока условие цикла будет иметь значение «истина», тело цикла будет исполняться.

Рисунок 18 – Блок-схема цикла с предусловием

Как видно из блок-схемы, если условие цикла с самого начала имеет значение «Ложь», то тело цикла ни разу не будет исполнено. Если в процессе исполнения цикла условие всегда принимает значение «Истина», то цикл начинает исполняться бесконечно – происходит зацикливание. Это означает, что в алгоритме допущена ошибка. Пример использования цикла с предусловием:

Program Op_pred;

uses crt;

var

N, p: integer;

begin

write('Введитецелоечисло N = ');

readln(N);

writeln('Степени числа 2, не превосходящие ', N);

p:= 2;

while p <= N do

begin

write(p,' ');

p:= p * 2;

end;

writeln();

end.

Данная программа запрашивает у пользователя целое число, а затем выводит все степени двойки, которые не превосходят заданное число. Результат работы программы представлен на рисунке 19 [1];

Рисунок 19 – Пример работы цикла с предусловием

  • цикл с постусловием – repeat-until. В данном случае сначала выполняется тело цикла, после чего проверяется выражение, записанное в блоке until (см. рисунок 20).

Рисунок 20 – Блок-схема цикла с постусловием

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

ProgramOp_post;

usescrt;

varm, N, sum: integer;

begin

write('N = ');

read(N);

m:=0;

sum:=0;

repeat

m:=m+1;

sum:=sum+m;

until m=N;

writeln ('Сумма первых ',N,' чисел равна ', sum);

end.

В данной программе определяется сумма первых N натуральных чисел. N задается пользователем с клавиатуры [12];

Рисунок 21 - Пример работы цикла с постусловием

  • цикл с параметром – for. Данный цикл выполняется заданное количество раз. Существует две формы записи данного цикла в зависимости от того, каким образом должна изменяться переменная цикла. Если она должна увеличиваться, используется запись:

for<переменная_цикла>:= <начальное_значение>to<конечное_значение>do<операторы>.

Если же переменная цикла должна уменьшаться, используется другая запись:

for<переменная_цикла>:= <начальное_значение>downto<конечное_значение>do<операторы> [14].


Чаще всего данный цикл используется при обработке массивов. Рассмотрим пример подобной программы:

Program Op_param;

uses crt;

var i, n, sum, a: integer;

begin

write('N = ');

readln(n);

write('Введите ',n,' элементов массива: ');

sum:=0;

for i:=1 to n do

begin

read(a);

sum:=sum+a;

end;

writeln('Сумма введенных элементов = ', sum);

end.

В данной программе у пользователя запрашивается размерность массива, а затем и сам массив. В результате выполнения программы считается сумма введенных элементов. Результат выполнения приведенного кода представлен на рисунке 22.

Рисунок 22 - Пример работы цикла с параметром

2.6 Выводы

В данной главе рассмотрены основные операторы языков программирования высокого уровня на примере языка Паскаль.

ЗАКЛЮЧЕНИЕ

В данной работе была рассмотрена тема основных операторов программирования высокого уровня.

Первая глава работы носит теоретический характер, описывая общее понятие языков программирования, их историю развития, которая прошла несколько этапов:

  • машинные коды;
  • ассемблеры;
  • алгоритмические языки;
  • процедурные языки;
  • объектно-ориентированные языки.

В зависимости от абстракции аппаратуры, к которой применимы языки программирования, их принято делить на следующие группы:

  • низкого уровня:
    • машинно-зависимые – представляют собой команды, записанные непосредственно на языке конкретного процессора;
    • машинно-ориентированные – команды, записанные на языке близком к процессору в виде буквенных обозначений;
  • высокого уровня – машинно-независимые языки, имитирующие естественный человеческий язык;
  • сверхвысокого уровня – еще один вид машинно-независимых языков программирования. Команды таких языков исполняются на абстрактных машинах, при этом доступ к памяти полностью скрыт.

Также в первой главе описывается ключевое понятие любой компьютерной программы – алгоритм. Алгоритмом принято называть систему четких однозначных указаний, определяющих последовательной действий над некоторыми объектами, за конечно количество итераций приводящих к желаемому результату.

Существует несколько способов записи алгоритмов:

  • словесное описание;
  • построчная запись;
  • блок-схема;
  • запись на языке программирования.

Во второй главе описаны основные операторы языка программирования Паскаль:


  • оператор присваивания – реализует запись значения выражения в переменную;
  • операторы ввода-вывода - служат для обмена данными между программой и внешними устройствами. Так, например, можно ввести данные с клавиатуры, из файла, вывести данные на экран или в файл;
  • операторы перехода – в языке Паскаль принято выделять два вида переходов – условный и безусловный. При этом в первом случае также возможно два варианта – полное и неполное ветвление;
  • операторы выбора – используются в тех случаях, когда нелогично использование условных операторов. Это объясняется наличием нескольких возможных вариантов выбора;
  • операторы цикла – Паскаль, как и любой другой язык программирования высокого уровня, содержит три вида циклов:
    • цикл с предусловием;
    • цикл с постусловием;
    • цикл с параметром.

Описание данных операторов сопровождается примерами, демонстрирующими решение простых задач.

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

  1. Анисимов А.Е. Практикум по основам программирования. – Ижевск: Изд-во «УУДмуртский университет», 2014. – 95 с.
  2. Баженова И.Ю. Языки программирования. – М.: Издательский центр «Академия», 2012. – 368 с.
  3. Бузыкова Ю.С. Языки и технологии программирования / Ю.С. Бузыкова, Т.А. Жданова, М.А. Шувалова. – Хабаровск: Изд-во Тихоокеан. гос. ун-та, 2014. – 44 с.
  4. Волкова И.А. Основы объектно-ориентированного программирования. Язык программирования С++ / И.А. Волкова, А.В. Иванов, Л.Е. Карпов. – М.: Издательский отдел факультета ВМК МГУ, 2011. – 112 с.
  5. Грациановаа Т.Ю. Программирование в примерах и задачах. – М.: БИНОМ, 2015. – 354 с.
  6. Диканев Т.В. Принципы и алгоритмы прикладного программирования / Т.В. Диканев, С.Б. Вениг, И.В. Сысоев. – Саратов: Изд-во Сарат. ун-та, 2012. – 140 с.
  7. Долинер Л.И. Основы программирования в среде PascalABC.NET. – Екатеринбург: Изд-во Урал. ун-та, 2014. – 128 с.
  8. Дронова Е.Н. Основные алгоритмические модели: учебное пособие. – Барнаул: АлтГПУ, 2016. – 158 с.
  9. Зюзьков В.М. Программирование. – Томск: Эль Контент, 2013. – 186 с.
  10. Котликова В.Я. Введение в Турбо Паскаль. – Курган: Изд-во Курганского гос. ун-та, 2016. – 32 с.
  11. Лучников В.А. Программирование на языке Паскаль. – Иркутск: ИрГУПС, 2014. – 168 с.
  12. Овчинников А.А. Основы программирования на Паскаль ABC. – Волгоград: Изд-во МОУ СОШ № 95, 2012. – 27 с.
  13. Ожикенов К.А. Сборник задач для проведения лабораторно-практических занятий по дисциплине «Программирование». – Алматы: Изд-во УИЯиДК, 2011. – 135 с.
  14. Попов Е.А. Экспресс курс программирования в Lazarus. - СПб.: Университет ИТМО, 2015. – 76 с.
  15. Ревенко М.А. Практикум по программированию на языке TurboPascal. – Воронеж: ВГПУ, 2012. – 65 с.
  16. Стенгач М.С. Лекционный курс электронного курса «Информатика». – Самара: Минобрнауки России, Самар. гос. аэрокосм. ун-т им. С.П. Королева. – 35 с.
  17. Тюгашев А.А. Основы программирования. – СПб.: Университет ИТМО, 2016. – 160 с.
  18. Федоров Д.Ю. Основы программирования на примере языка Python. – СПб.: Питер, 2016. – 176 с.
  19. Цветков А.С. Язык программирования Pascal. Система программирования ABCPascal. – Санкт-Петербург: Павловск, Изд-во Царского лицея, 2016. – 46 с.
  20. Ширяева Е.В. Практикум по курсу «Основы информатики» / Е.В. Ширяева, М.Н. Романов, Т.Ф. Долгих. – Ростов-на-Дону: Изд-во ЮФУ, 2015. – 233 с.