Что такое структура программы

Составные части программы записываются с помощью специальных ключевых слов.
Эти зарегистрированные слова являются индефикаторами, которые имеют специальное
значение для компилятора. Так, заголовок программы состоит из зарезервированного
слова Program, имени программы и заканчивается точкой с запятой. Имена, создаваемые
программистом, не должны совпадать с ключевыми словами.

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

· раздел описания меток;

· раздел описания констант;

· раздел описания типов;

· раздел описания переменных;

· раздел описания процедур и функций;

· раздел подключаемых библиотек (модулей).

Тело программы (раздел операторов) представляет собой последовательность операторов, необходимых для выполнения программы. Операторы должны отделяться друг от друга точкой с запятой. Раздел операторов по сути дела является составным оператором, и содержится между служебными словами BEGIN и END. Слово END и является концом программы. После него ставится точка.

Уроки C# (Для новичков) #3 — Структура программы

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

Модуль в программировании представляет собой функционально законченный фрагмент программы, оформленный в виде отдельного Файла с исходным кодом. Модули могут объединяться в пакеты и, далее, в библиотеки. Часто говорят о модулях, как о библиотеках — наборах полезных подпрограмм, которые могут использоваться несколькими программами.

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

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

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

Основы программирования: структура программ

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

Подпрограммами можно разделить на две категории: процедуры и функции. Отличие функций от процедур:

1. Результат выполнения функции — одно значение, а процедуры — одно или несколько.

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

Если подпрограмма только осуществляет действия над переменными, то такая подпрограмма называется процедурой. Процедуры отличаются от функций тем, что функции возвращают какое-либо значение, а процедуры — нет. Легко заметить схожесть структуры программы целиком и любой из ее процедур. Действительно, ведь и процедура и основная программа реализуют некий алгоритм, просто процедура не дает решения всей задачи. Отличие в заголовке и в знаке после End (а именно, знак;).

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

Читайте также:
Как называется программа для часов фитнес браслета

Рис. 1. Структура языка программирования высокого уровня

В общем случае структуру языка высокого уровня можно представить в виде следующего рисунка (рис. 1).

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

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

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:

Источник: studopedia.ru

Лекции / Глава 2. Структура программы

Для наглядности разберем простой корректный стэйтмент присваивания х = 2 + 3; . Здесь мы вычисляем результат сложения чисел 2 + 3, который затем присваиваем переменной х . В языках программирования стэйтменты объединяются в блоки — функции. Функция — это последовательность стэйтментов.

Каждая программа в C++ должна содержать главную функцию main() (в C# — функцию Main() ). Именно с первого стэйтмента, находящегося в функции main() , и начинается выполнение всей программы. Функции, как правило, выполняют конкретное задание.

Например, функция max() может содержать стэйтменты, которые определяют большее из заданных чисел, а функция calculateGrade() может вычислять среднюю оценку студента по какой-либо дисциплине. Библиотека — это набор скомпилированного кода (например, функций), который был «упакован» для повторного использования в других программах.

С помощью библиотек можно расширить возможности программ. §2.2 Структура программы на С++ С++ — компилируемый язык. Это означает, что для запуска программы сначала необходимо транслировать ее из текстовой формы, понятной для человека, в форму, понятную для машины. Эту задачу выполняет особая программа, которая называется компилятором. То, что вы пишете и читаете, называется исходным кодом или исходным текстом программы, а то, что выполняет компьютер, называется выполняемым , объектным или машинным кодом . Обычно файлы с исходным кодом программы на языке С++ имеют суффикс .срр (например, hello_world.cpp) или .h (например, std_lib_facilities.h), а файлы с объектным кодом имеют суффикс .obj (в Windows) или .о (в Unix). Следовательно, простое слово код является двусмысленным и может ввести в заблуждение: его следует употреблять с осторожностью и только в ситуациях, 3

когда недоразумение возникнуть не может. Если не указано иное, под словом код подразумевается «исходный код» или даже «исходный код за исключением комментариев», поскольку комментарии предназначены для людей и компилятор не переводит их в объектный код. Компилятор читает исходный код и пытается понять, что вы написали.

Он проверяет, является ли программа грамматически корректной, определен ли смысл каждого слова. Обнаружив ошибку, компилятор сообщает о ней, не пытаясь выполнить программу. Рассмотрим стандартную программу «Hello, world!»: Листинг 2.1.

1 #include
2 int main()
3
4 std::cout
5 return 0;
6 >

Эту программу можно разделить на 2 части: директивы препроцессора, которые начинаются с символа # , и основную часть программы, которая начинается с определения сигнатуры главной функции int main() . §2.2.1 Директива препроцессора #include Как и предполагает название, препроцессор – это инструмент, который запускается перед фактическим началом компиляции. Директивы препроцессора – это команды препроцессору, они всегда начинаются со знака «решетка» (#). В строке 1 листинга 2.1. директива #include указывает препроцессору взять содержимое файла (в данном случае – iostream ) и включить его в строку, где расположена директива. iostream – это стандартный файл заголовка, который включается потому, что она содержит определение объекта потока вывода данных cout , используемого в строке 4 для вывода на экран сообщения «Hello, World!». 4

Компилятор смог откомпилировать строку 4 только потому, что мы заставили препроцессор включить определение объекта потока cout в строке 1. §2.2.2 Тело программы – функция main() После директив препроцессора следует тело программы, расположении в функции main() . Исполнение программы С++ всегда начинается здесь, поэтому функцию main() часто называют точкой входа в программу . По стандартному соглашению, перед функцией main() указывается тип int . Тип int в данном случае – это тип данных возвращаемого значения функции main() . Всё, что находится между открывающей фигурной скобкой в строке 3 и закрывающей фигурной скобкой в строке 6, — считается содержимым функции main() . Рассмотрим подробнее строку 4, выполняющую задачу программы, представленной в листинге 2.1. cout («console-out» — вывод на консоль, произносится как «си-аут») – оператор, выводящий на экран строку «Hello, World!» . cout – это поток, определенный в стандартном пространстве имен (поэтому и указывается std::cout) , а то, что мы делаем – это помещаем текст строки Hello, World! в данный поток, используя оператор вывода в поток

Читайте также:
Государственная программа информационное общество основные мероприятия

возвращающая целое число. Традиционно программисты возвращают значение 0 в случае успешного выполнения программы и -1 в случае ошибки.

Язык С++ чувствителен к регистру. Поэтому готовьтесь к неудаче компиляции, если напишете Int вместо int , Void вместо void и Std::Cout вместо std::cout . §2.2.3 Концепция пространства имен Пространства имен – это множество, в рамках которого определяются различные идентификаторы (имена типов, функций, переменных и т. д.).

Пространства имен используются для организации кода в виде логических групп и с целью избежания конфликтов имен, которые могут возникнуть, особенно в таких случаях, когда база кода включает несколько библиотек. Все идентификаторы в пределах пространства имен доступны друг другу без уточнения. Чтобы избежать конфликта имен, разрешается также объявлять собственные пространства имен через ключевое слово namespace . Всё, что объявлено внутри пользовательского пространства имен, — принадлежит только этому пространству имен. Для того, чтобы указать компилятору место поиска идентификатора в определенном пространстве имен необходимо использовать название необходимого пространства имен вместе с оператором разрешения области видимости ( :: ) и требуемым идентификатором. Причина использования в программе синтаксиса оператора std::cout , а не просто cout , в том, что используемый элемент ( cout ) находится в стандартном пространстве имен ( std ). При вызове оператора std::cout вы указываете компилятору использовать именно тот объект, который доступен в стандартном пространстве имен std . В этом пространстве объявлена вся стандартная библиотека С++. Многие программисты находят утомительным регулярный ввод в коде спецификатора при использовании оператора cout и других подобных 6

элементов, содержащих в том же пространстве имен. Объявление using namespace std; , представленное в листинге 2.2, позволит избежать этого повторения.

Листинг 2.2.
1 #include
2 int main()
3
4 //Указать компилятору пространство имен для поиска
5 using namespace std;
6 cout
7 return 0;
8 >

Сообщив компилятору, что предполагается использование пространство имен std , можно не указывать пространство имен явно в строке 6. §2.2.4 Комментарии в коде С++ Строка 4 листинга 2.2 содержит текст на человеческом языке, но программа все равно компилируется. Она также не влияет на вывод программы. Такая строка называется комментарием.

Комментарий – это способ размещения произвольного текста внутри кода программы. Комментарии игнорируются компилятором и обычно используются программистами для объяснений в коде. Различают два вида комментариев: 1. Символ // означает, что следующая строка – комментарий.

Например: // Это комментарий 2. Текст, содержащийся между символами /* и */, также являются комментариями, даже если он занимает несколько строк. Например: /* Это комментарий, Занимающий 2 строки /* 7
§2.2.5 Функции в С++ Функция — это последовательность стэйтментов для выполнения определенного задания. Часто ваши программы будут прерывать выполнение одних функций ради выполнения других.

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

Иногда, когда программа выполняет код, она может столкнуться с вызовом функции. Вызов функции — это выражение, которое указывает процессору прервать выполнение текущей функции и приступить к выполнению другой функции. Процессор «оставляет закладку» в текущей точке выполнения, а затем выполняет вызываемую функцию. Когда выполнение вызываемой функции завершено, процессор возвращается к закладке и возобновляет выполнение прерванной функции. Функция, в которой находится вызов, называется caller , а функция, которую вызывают — вызываемая функция , например, Листинг 2.3.

1 #include // для cout и endl
2 // Объявление функции doPrint(), которую мы будем
вызывать
3 void doPrint()
4 cout
5 >
6 // Объявление функции main()
7 int main()
8
8
9 using namespace std;
10 cout
doPrint(); // прерываем выполнение main() вызовом
11 функции doPrint(). main() в этом случае является
caller-ом
12 cout
13 return 0;
14 >
Результат выполнения программы:

Starting main() In doPrint() Ending main() В строке 3 находится объявление функции (function declaration), которое в основном указывает компилятору, что вы хотите создать функцию по имени doPrint() . Тип возвращаемого значения void указывает компилятору, что функция не возвращает никакое значение , а лишь производить манипуляции над данными. Далее, в строках 3-5, следует определение функции (function definition), т.е. ее реализация.

Читайте также:
Узнать какие файлы создает программа

Программа, представленная в листинге 2.3., начинает выполнение с первой строки функции main() , где выводится на экран следующая строка: Starting main(). Вторая строка функции main() вызывает функцию doPrint() . На этом этапе выполнение стэйтментов в функции main() приостанавливается и процессор переходит к выполнению стэйтментов внутри функции doPrint() . Первая (и единственная) строка в doPrint() выводит текст In doPrint(). Когда процессор завершает выполнение doPrint() , он возвращается обратно в main() к той точке, на которой остановился. Следовательно, следующим стэйтментом является вывод строки Ending main(). 9

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

Поэтому круглые скобки при объявлении функции опускать нельзя. §2.2.6 Простые операторы ввода std::cin и вывода std::cout Ваш компьютер позволяет взаимодействовать с выполняющимися на нем приложениями разными способами, а также позволяет этим приложениям взаимодействовать с вами разными способами. Вы можете взаимодействовать с приложениями, используя периферийные устройства – клавиатуру или мышь.

Рассмотрим самую простую форму ввода и вывода на языке С++ — использование консоли для отображения или ввода информации. Для записи простых тестовых данных на консоль используется оператор std::cout (произносится как standard see-out – «стандарт си-аут») и оператор std::cin (произносится как standard see-in – «стандарт си-ин») для чтения текста и чисел с консоли (как правило, с клавиатуры). Фактически при отображении слов Hello World на экране в листинге 2.1 вы уже встречались с оператором cout : std::cout << «Hello World» << std::endl; Здесь оператор cout сопровождается оператором вывода << (позволяющим вставить данные в поток вывода), который подлежит выводу строковым литералом «Hello World» и символом новой строки в форме оператора std::endl (произносится как standard endline (стандарт енд-лайн)). Применение оператора cin сопровождается указанием переменной, в которую следует поместить вводимые данные: std::cin >> ПЕРЕМЕННАЯ; Оператор сопровождается оператором извлечения значения (данные извлекаются из входного потока) и переменной, в которую следует поместить данные. Если вводимые данные, разделенные пробелом, стоит хранить в двух переменных, то можно использовать один оператор: 10

Источник: studfile.net

Структура программы

[program structure] общая схема построения программы, рассматривающая ее составные компоненты (программные блоки) и взаимосвязи между ними.

Поделиться

  • Telegram
  • Whatsapp
  • Вконтакте
  • Одноклассники
  • Email

Научные статьи на тему «Структура программы»

Способы построения и структура программ

Способы построения учебных программ Практика и теория создания учебных программ выделяет два способа.
В отличие от концентрической структуры, при которой к начальной задаче возвращаются порой даже спустя.
несколько лет, в спиральной структуре нет перерывов такого типа.
Структура учебных программ I. ТИТУЛЬНЫЙ ЛИСТ Наименование образовательного учреждения.
с оценкой логической структуры учебного предмета.

Автор Жанна Хачатуровна Степанян
Источник Справочник
Категория Педагогика
Статья от экспертов

Структура компилятора одноразовой программы

Данной статье описывается структура компилятора для создания одноразовых программ (one-time program) из традиционных программ. В результате выполненного исследования сформулированы основные принципы работы компилятора, рассмотрена структура и способы взаимодействия компилятора с программно-аппаратной системой для контроля числа запуска программы.

Автор(ы) А. И. Стрелец
Е. А. Черникова
Л. В. Малков +1
Источник Международный журнал гуманитарных и естественных наук
Научный журнал

Структура простых программ, классы и процедуры

Определение 1 Структура простых программ — это специально определённые программистом части программного.
Данными могут быть константы, переменные, текстовые символы, числовые структуры, адресные компоненты.
переменных и структур.
Структура языка Паскаль В языке Паскаль программы пишутся с использованием прописных и строчных букв.
Структура простых программ Синтаксис программы содержит необязательный заголовок и блок.

Автор Оксана Богуцкая
Источник Справочник
Категория Информатика
Статья от экспертов

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

В работе рассматривается преобразования структуры программного обеспечения (ПО) на стадии проектирования. Рассмотрение происходит в рамках функциональной парадигмы программирования с использованием расширения нотации UML для функционального анализа и проектирования [1].

Источник: spravochnick.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru