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

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

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

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

Добавлен: 01.04.2023

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

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

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

Современному продвинутому пользователю пакета прикладных программ Microsoft Office хорошо известна версия VBA (Visual Basic for Applications) – встроенная в программы пакета полноценная система программирования, делающая возможной разработку на базе любой из программ качественного приложения с использованием всего потенциала возможностей обработки данных.[18]

1.3 Алгоритмический язык программирования Pascal

Язык программирования Pascal разработан профессором Высшей федеральной технической школы в Цюрихе (Швейцария) Николаусом Виртом – рисунок 5. Автор дал созданному языку программирования имя в честь известного французского математика и философа Блеза Паскаля.

Рисунок 5 – Никлаус Вирт

Начало создания Pascal датируют 1968 годом – именно в этот период был подготовлен проект будущего языка программирования языка. Транслятор Pascal для вычислительной машины CDC 6400 был готов в 1970, а в 1971 году было представлено первое официальное описание языка.[16]

Наиболее интенсивное развитие и распространение язык получил в 1972-1975 годы. За это время он стал общепризнанным языком программирования и стал основным языком публикации программ и преподавания дисциплины программирования. Нашлись и критики, которые были не удовлетворены слишком строгими ограничениями некоторых конструкций языка.

С 1977 г. была работает группа по разработке стандарта языка Паскаль, первый международный стандарт языка был объявлен 1 декабря 1983 года.

Новую жизнь язык получил в 1992 году, когда фирмой Borland International были представлены два новых пакета программирования - Borland Pascal 7.0 и Turbo Pascal 7.0.[4]

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

Огромной популярностью у программистов во всем мире пользуется интегрированная среда программирования Delphi, программирование объектов в которой осуществляется на одноименном языке программирования, основой которого является Object Pascal. В Delphi используется современный объектно-ориентированный подход.[17]


1.4 Алгоритмический язык программирования C++

Алгоритмический язык программирования С разработан начале 70х годов Кеном Томпсоном и Дэннисом Ритчи (рисунок 6) в процессе разработки операционной системы для компьютера PDP-11 (разработка компании DEC — Digital Equipment Corporation).[13]

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

Рисунок 6 - Кен Томпсон и Дэннис Ритчи

Открытое распространение исходного кода программы создало из операционной системы UNIX уникальный феномен, так как давало возможность любому программисту изменить операционную систему и перенести исходный код с одной аппаратной платформы на другую. В настоящее время это стало общепризнанным стандартом.[19]

В 1989 стандарт был утвержден первый стандарт языка, а в 1990 году стандарт был принят в международном масштабе. Этот стандарт совершенствуется и поддерживается и в настоящее время.[8]

Первый коммерческий транслятор нового языка, получившего название C++, появился в 1983 году. Главное нововведение C++ - механизм классов, дающий возможность определять и использовать новые типы данных. Программист описывает внутреннее представление объекта класса и набор функций-методов для доступа к этому представлению. [11]

Дочерними по отношению с C являются и популярные сегодня языки программирования C# и Java.

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

Индекс TIOBE- индекс, демонстрирующий популярность языков программирования среди профессионалов. Индекс обновляется раз в месяц и основывается на количестве поисковых запросов на таких ресурсах как Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube and Baidu. По идее создателей TIOBE демонстрирует не самый «лучший» язык, а самый «популярный» язык за тот или иной промежуток времени.

На рисунке 7 представлен индекс TIOBE на июль 2019 года по сравнению с июлем 2018года. Позиция С++ усилилась за прошедший год на 2,55%, хотя по популярности язык и уступил третье место, на котором уверенно держался в течение нескольких последних лет, языку Python.


При этом языки C и C++ , представляющие фактически одно семейство языков, совместно держат в этом рейтинге первое место.

Индекс TIOBE является авторитетным в профессиональной среде индикатором популярности языков программирования, ему доверяют многие уважаемые эксперты в области программирования.

Рисунок 7 - Топ-20 (индекс TIOBE) на июль 2019 года

По представленным данным можно судить, что исследуемые в рамках курсовой работы языки программирования, хотя и колеблются в рейтинге в течение года, но всего на 1 – 2 позиции, то есть имеют свою устойчивую позицию в топ-20.

На основании изученного материала можно сделать вывод о том, что выбор языков для программирования сделан правильно. Basic, C++ и Pascal – популярные языки, прошедшие проверку временем и развивающиеся в соответствии с современными концепциями разработки программного обеспечения.

2. ОСНОВЫ ПРОГРАММИРОВАНИЯ НА С\С++, PASCAL, BASIC

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

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

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

2.1 Линейный алгоритм

Линейный алгоритм (следование) описывает последовательное выполнение команд и представляется алгоритмически последовательностью блоков «процесс». Линейный алгоритм представлен на рисунке 8.[21]

Рисунок 8 – Линейная алгоритмическая конструкция

Реализация линейного алгоритма на языках программирования C (среда MS Visual Studio 2010) , Pascal (версия PascalABC) и Basic (версия QBasic) представлены на рисунках 7, 8 и 9. Программа вычисляет сумму двух целых чисел.

Код программы

Результат выполнения программы

#include "stdafx.h"

#include <fstream>

#include <iostream>

using namespace std;

int main()

{

int a, b;

cout <<"a = "; cin>>a; cout <<endl;

cout <<"b = "; cin>>b; cout <<endl;

cout <<"a + b ="<< a + b<<endl<<endl;

system("Pause");

}


Рисунок 9 – Линейный алгоритм на языке программирования C

Код программы

Результат выполнения программы

var

a, b:integer;

begin

write ('a = ');

readln (a);

write ('b = ');

readln (b);

writeln('a + b = ',a+b);

end.

Рисунок 10 - Линейный алгоритм на языке программирования Pascal

Код программы

Результат выполнения программы

Рисунок 11 - Линейный алгоритм на языке программирования Basic

Для реализации линейного алгоритма во всех алгоритмических языках программирования используются три основных оператора:

  • оператор ввода информации (предназначен для передачи программе значений переменных с клавиатуры или из файлов);
  • оператор вывода информации (предназначен для вывода обработанной информации на устройства вывода - экран монитора, принтер, файл в удобной для пользователя форме);
  • оператор (предназначен для присваивания переменным как конкретных значений, так и значений некоторых выражений).[14]

Сводная таблица операторов ввода, вывода информации и присваивания представлена на рисунке 12.

Рисунок 12 - Сводная таблица операторов ввода, вывода информации и присваивания

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

Следует отметить, что все языки имеют средства для форматирования вывода, тог есть для организации вывода, например, определенного количества знаков в десятичной части числа и т.п.

2.2 Разветвляющийся алгоритм

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

Оператор безусловного перехода в языках программирования Pascal, C++, Basic реализуются одинаково:

goto <метка>

с точностью до синтаксических особенностей (например, в Pascal и C++ строка должна быть завершена точкой с запятой).

Оператор безусловного перехода передает управление строке, помеченной как метка. [10]

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


Алгоритм разветвляющегося вычислительного процесса это алгоритм, в котором, в зависимости от выполнения или невыполнения заданного логического условия, производится выбор одного из нескольких направлений, называемых ветвями. [22]

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

Рисунок 13 – Полная форма разветвляющегося алгоритма

Рисунок 14 - Неполная форма разветвляющегося алгоритма

Реализация полной формы разветвляющегося алгоритма на языках программирования C, Pascal и Basic представлена на рисунках 15, 16 и 17. Программа определяет четность введенного пользователем числа.

Франгмент программы

Результат выполнения программы

int main()

{

int a;setlocale (LC_ALL, "Russian");

cout <<"a = "; cin>>a; cout <<endl;

if (a%2==0)

cout <<a<<" - четное число "<<endl;

else cout <<a<<" - нечетное число "<<endl<<endl;

system("Pause");

}

1)

2)

Рисунок 15 – Разветвляющийся алгоритм на языке программирования C

Фрагмент программы

Результат выполнения программы

var

a:integer;

begin

write ('a = ');

readln(a);

if odd(a) then

writeln(a, ' - нечетное число')

else

writeln(a, ' - четное число')

end.

1)

2)

Рисунок 16 - Разветвляющийся алгоритм на языке программирования Pascal

Фрагмент программы

Результат выполнения программы

1)

2)

Рисунок 17 - Разветвляющийся алгоритм на языке программирования QBasic

Сводная таблица операторов условного перехода в полной и неполной форме представлена на рисунке 18.

Рисунок 18 - Сводная таблица оператора условного перехода

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