Файл: ОСНОВНЫЕ СТРУКТУРЫ АЛГОРИТМОВ: СРАВНИТЕЛЬНЫЙ АНАЛИЗ И ПРИМЕРЫ ИХ ИСПОЛЬЗОВАНИЯ (В C++, PASCALABC, QBASIC).pdf

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

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

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

Добавлен: 02.04.2023

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

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

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

Реализация вывода в языках программирования C++, PascalABC, QBasic представлена в таблице 3.

Таблица – Реализация оператора вывода информации

Язык программирования

Оператор вывода информации

Пример использования

C++

форматированный вывод

printf (<список вывода>);

потоковый вывод

cout<< (<элемент вывода>);

printf("x = %d",x);

cout<<" x = "<<x<<endl;

PascalABC

без переноса курсора на следующую строку

write (<список вывода>);

с переносом курсора на следующую строку

writeln (<список вывода>);

write (‘x = ‘, x);

writeln (‘x = ‘, x);

QBasic

PRINT <список вывода>

PRINT “ x = ”, X

При выполнении данной команды во всех исследуемых языках программирования будет выведено на экран сообщение вида

x = <значение переменной х>.

Список вывода для PascalABC и QBasic представляет собой разделенные запятой элементы вывода:

  • текстовые константы (в PascalABC они заключаются в апострофы – одиночные кавычки, в QBasic – в двойные кавычки) – константа выводится без изменений;
  • имена переменных – выводится значение переменной;
  • выражение, составленное с использованием арифметических операций и функций языка программирования – выводится значение выражения.

Для языка программирования C++ все происходит аналогично, только элементы списка вывода разделяются знаком потокового вывода <<,

Ниже представлена реализация линейного алгоритма решения задачи получения суммы двух введенных пользователем действительных чисел на языках программирования C++, PascalABC, QBasic.

Программа на языке программирования C++ и результат ее реализации представлены на рисунке 17.

Рисунок – Реализация линейного алгоритма на языке C++

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

Рисунок - Реализация линейного алгоритма на языке PascalABC

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

Рисунок - Реализация линейного алгоритма на языке QBasic

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


3.2 Ветвление

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

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

Реализация ветвления в языках программирования C++, PascalABC, QBasic представлена в таблице 4.

Таблица – Реализация оператора условного перехода

Язык программирования

Оператор вывода информации

Пример использования

C++

полная форма

if (<условие>)

{серия команд 1};

else

{серия команд 2};

неполная форма

if (<условие>)

{серия команд 1};

if (a == b) x = a;

else x = b;

if (a == b) x = a;

PascalABC

полная форма

if (<условие>) then

begin <серия команд 1>

else

begin <серия команд 2> end;

неполная форма

if (<условие>) then

begin <серия команд 1;

if (a = b) then {x = a};

else {x = b};//в этом случае фигурные скобки не обязательны

if (a = b) then x = a;

QBasic

полная форма

IF <условие> THEN

<серия команд 1>

ELSE

<серия команд 2>

END IF

неполная форма

IF <условие> THEN

<серия команд 1>

END IF

IF A=B THEN X=A ELSE X=B ‘в этом случае END IF не обязателен

IF A=B THEN X=A

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

Ниже представлена реализация алгоритма решения задачи выбора наибольшего из двух введенных пользователем целых чисел с использованием полной формы ветвления на языках программирования C++, PascalABC, QBasic.

Программа на языке программирования C++ и результат ее реализации представлены на рисунке 20.

Рисунок – Реализация ветвления на языке C++

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


Рисунок - Реализация ветвления на языке PascalABC

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

Рисунок - Реализация ветвления на языке QBasic

Полученные результаты идентичны.

3.3 Повторение

Алгоритмическая структура повторение реализуется в языках программирования при помощи операторов цикла.

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

Также все три языка программирования дают возможность реализовать вложенные циклические структуры и использовать в одной программе несколько встроенных циклов. При использовании нескольких циклических операторов в одной программе важно помнить простое правило: циклы не должны пересекаться (рисунок 23).

Рисунок – Допустимая (а, б) и недопустимая (в) схемы использования нескольких циклов в программе

Реализация повторения в языках программирования C++, PascalABC, QBasic представлена в таблице 5.

Таблица – Реализация операторов цикла

Язык программирования

Синтаксис оператора цикла

C++

цикл с предусловием

while (<условие>)

{

<тело цикла>;

}

цикл с постусловием

do

{

<тело цикла>;

}

while (<условие>);

цикл с параметрами

for (i = a; i<=b; i++)

{

<тело цикла>;

}

PascalABC

цикл с предусловием

while (<условие>) do

begin

<тело цикла>;

end;

цикл с постусловием

repeat

<тело цикла>;

until (<условие>)

цикл с параметрами

for i:=a to b do

begin

<тело цикла>;

end;

QBasic

цикл с предусловием

DO WHILE <условие>

<тело цикла>

LOOP

цикл с постусловием

DO

<тело цикла>

LOOP WHILE <условие>

цикл с параметрами

FOR I=A TO B STEP S

<тело цикла>

NEXT I

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

I – переменная (счетчик) цикла;

a – начальное значение переменной цикла;


b – конечное значение переменной цикла;

s – шаг цикла.

Для цикла с параметрами в C++ и PascalABC допускается только целое значение шага цикла.

В PascalABC шаг цикла с параметрами задается по умолчанию:

  • при использовании служебного слова to шаг цикла равен 1;
  • при использовании служебного слова downto шаг цикла равен -1.

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

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

Традиционными задачами, которые решаются при помощи операторов цикла, являются:

  • табулирование значений функции, т.е. получение значений определенной функции на заданном промежутке изменения аргумента с заданным шагом;
  • обработка массивов:
    • поиск наибольшего/наименьшего элемента массива;
    • вычисление суммы элементов массива;
    • вычисление среднего арифметического элементов массива;
    • сортировка массива и др.

Ниже представлена реализация решения задачи вычисления квадратов натуральных чисел в границах промежутка [a; b], определенного пользователем с использованием оператора цикла с параметрами на языках программирования C++, PascalABC, QBasic.

Программа на языке программирования C++ и результат ее реализации представлена на рисунке 24.

Рисунок – Реализация повторения на языке C++

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

Рисунок - Реализация повторения на языке PascalABC

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

Рисунок - Реализация повторения на языке QBasic

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

В курсовой работе изучены основные структуры алгоритмов и их реализация на языках программирования высокого уровня C++, PascalABC и QBasic. Также представлены примеры использования этих структур.

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

ЗАКЛЮЧЕНИЕ

Курсовая работа на тему «Основные структуры алгоритмов: сравнительный анализ и примеры их использования» выполнена в соответствии с намеченным планом.


В курсовой работе рассмотрен алгоритмический подход к разработке программ, внимательно изучены основные алгоритмические структуры, отображающие их блок-схемы и реализация в языках программирования высокого уровня C++, PascalABC И QBasic. В процессе изучения реализации алгоритмических структур на рассмотренных языках программирования проведен их сравнительный анализ.

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

По итогам выполнения курсовой работы можно сделать следующие выводы:

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

Можно отметить также, что все языки программирования развиваются в соответствии с эволюцией современных взглядов на программирование.

СПИСОК ЛИТЕРАТУРЫ

  1. Антонов Т.Е. Введение в язык Паскаль. – М.:Наука, 2013. - 320 c.
  2. Бобровский С. Программирование на языке QBasic для школьников и студентов. – М.:Инфорком-Пресс, ДЕСС, 2011. – 427 с.
  3. Васильев А.Н. Программирование на С++ в примерах и задачах. – М.: Издательство Э, 2017. – 368 с.
  4. Голубь Н.Г., Кириленко Е.Г. Алгоритмические языки и программирование: Методические рекомендации по выполнению контрольных и лабораторных работ, часть 1. – Харьков:ХАИ, 2017. – 31 с.
  5. Грогоно П. Программирование на языке Паскаль. М.: Высшая школа, 2014.- 239 с.
  6. Дедков А.Ф. Абстрактные типы данных в языке Паскаль. - М.: Наука, 2016. - 200 c.
  7. Довбуш Галина Visual C++ на примерах / Галина Довбуш, Анатолий Хомоненко. - СПб.: БХВ-Петербург, 2012. - 528 c.
  8. Емелина Е.И. Основы программирования на языке ПАСКАЛЬ. -М.:Наука, 2014. – 311 с.
  9. Есаян А.Р. Информатика. - М.: Просвещение, 2015. - 288 c.
  10. Зельднер Г. А. Программируем на языке QBasic 4.5, 4-е издание. – М.: ABF, 2014. – 448 с.
  11. Зиборов В. MS Visual C++ 2010 в среде .NET / В. Зиборов. - СПб.: Питер, 2012. - 320 c.
  12. Йенсен К., Вирт Н. Паскаль: руководство для пользователя. М.:Наука, 2012.- 207 с.
  13. Ишкова Э.А. Изучаем С++ на задачах и примерах. – М.: Наука и техника, 2016. – 240 с.
  14. Касаткин, А. И. Профессиональное программирование на языке си. Управление ресурсами / А.И. Касаткин. - М.: Высшая школа, 2009. – 432 c.
  15. Каспер Э. Освоим QBasic играючи!- М.:Радио и связь. – 2012.- 263 с.
  16. Касьянов В.Н., Сабельфельд В.К. Сборник заданий по практикуму на компьютере. М.: Наука, 2016.-200 с.
  17. Мельникова О. И., Бонюшкина А. Ю. Начала программирования на языке QBasic: Учебное пособие. - М.: ЭКОМ, 2012. - 200с.
  18. Пильщиков В.Н. Сборник упражнений по языку Паскаль. - М.: Наука, 2014. – 340 с.
  19. Потопахин В.В. Язык С. Освой на примерах. – СПб.: БХВ – Петербург, 2012. – 320 с.
  20. Прайс Д. Программирование на языке Паскаль: Практическое руководство. - М.: Наука, 2016. – 209 с.
  21. Рендольф, Н. Visual Studio 2010 для профессионалов / Ник Рендольф и др. - М.: Диалектика, 2014. - 584 c.
  22. Сафронов И. К. Бейсик в задачах и примерах, 2-е издание .-СПб.: БХВ-Петербург , 2016. – 639 с.
  23. Семашко, Г.Л.; Салтыков, А.И. Программирование на языке Паскаль. - М.: Наука, 2015. - 128 c.
  24. Ставнистый Н.Н. Qbasic в математике. Решение задач с помощью компьютера. Ч1. – М.: СОЛОН-Р, 2014. – 143 с.
  25. Фаронов В.В. Турбо Паскаль 7.0. Начальный курс. Учебное пособие. - М.: Прогресс, 2014. – 481 с.
  26. Цветков А.С. Язык программирования Pascal. - СПб.: Павловск, 2016. – 46 с.