Алфавит, структура программы. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Алфавит, структура программы.



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

Алфавит.

Предложения любого языка пишутся на основе некоторого алфавита, т.е. набора символов, используемых для записи инструкций языка, которые компилятор переводит в машинный код. В С++ к алфавиту относятся все буквы латинского алфавита, цифры от 0 до 9, символы кириллицы и специальные символы, а именно все, которые есть на клавиатуре ЭВМ, в частности:.,;: ' "? / * + - _! @ & { } () [ ] и др. Необходимо отметить, что компилятор языка С++ отличает большие и маленькие буквы латинского алфавита.

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

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

Комментарии в C++ предназначены для удобства чтения программы и содержат пояснения к тексту инструкций. Они игнорируются транслятором и обозначаются в программе следующими символами:

¨ // в любом месте строки, действителен до конца строки

¨ /* в начале комментария и */ в конце, действителен в любом месте текста

Операторы языка делятся на исполняемые и неисполняемые. Неисполняемые содержат дополнительные инструкции компилятору для перевода текста в машинный код. Эти инструкции отсутствуют в exe-модуле. Исполняемые операторы непосредственно переводятся в машинный код.

Операторы состоят из лексем - наименьших единиц языка, несущих смысловую нагрузку. В Си существует 6 классов лексем: идентификаторы, ключевые слова, константы, строковые константы, операции и разделители (пробелы, табуляции и некоторые другие).

Основными видами операторов, определяющих структуру программы, являются:

¨ директивы препроцессора;

¨ объявления функций;

¨ описания переменных - (для хранения данных);

¨ описания (определения) функций - (описывают вычисления);

 

Сразу напишем пример программы.

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

#include <io stream.h> // Директива препроцессора

float pl (float a, float b); //Объявление (прототип) функции pl()

   // Описание функции main

имя
void main()                        // Заголовок описания функции main

{

float katet 1, katet 2; // описание переменных

cout << "Введите катеты (в см): ";        // Инструкции,

cin >> a, b;                      // описывающие

cout << "Площадь треугольника ="         // действия

  << Pl (katet 1, katet 2) << "см*см\n";

}

                 // Описание функции pl()

/**** Расчет площади прямоугольного треугольника ***********

****по его катетам a и b. Возвращает площадь ********/

Список пар-ров
float pl (float a, float b) // Заголовок описания функции pl()

{

Тело

функции

pl()

float s; // объявление переменной s

s = a * b /2; // Инструкции,

return s; // описывающие

}          // действия

Рассмотрим указанные выше типы операторов.

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

Описания (или определения, definition) функций следуют одно за другим в произвольном порядке и имеют вид (синтаксис)

 

Тип имя ( [ список параметров ] )          -заголовок

{

Тело

функции

описания переменных (переменные хранят значения)                                

исполняемые операторы (инструкции,                                              

                                          описывающие действия)                      

}

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

Имя (идентификатор) - последовательность латинских букв и цифр, начинающихся с буквы, символ "_" - тоже буква. Строчные и прописные буквы различаются. Длина имени - не больше 32 символов.

Имена функциям дает программист, однако одна из них должна иметь имя main(), поскольку именно с нее всегда начинается выполнение программы. В примере описаны 2 функции - main() и pl(). Выполнение начинается с функции main(), из которой вызывается функция pl().

Тип указывает на тип вычисляемого (возвращаемого) функцией значения. Если функция ничего не возвращает, то в качестве типа пишется слово void.

Любая функция должна быть описана до обращения к ней (до вызова), чтобы компилятор мог понять, правильно ли это обращение. Если описание указано после обращения, в начале программы (до функции main()) должен быть указано объявление этой функции (прототип, declaration) в виде ее заголовка с ";" в конце.

Для стандартных функций прототипы уже имеются в специальных header-файлах, которые поставляются вместе с другими файлами пакета Си++ и имеют расширение ".h". Чтобы не указывать самостоятельно прототипы используемых стандартных функций, можно с помощью директивы препроцессора # include включить этот файл в текст программы. Например, прототипы стандартных потоков ввода и вывода cin и cout находятся в файле io stream.h. При выполнении директивы

# include < iostream. h >

препроцессор вставит на место этой строки содержимое файла io stream.h, не изменяя нумерацию строк в тексте. Таким образом соответствующие прототипы появятся в тексте программы.



Поделиться:


Последнее изменение этой страницы: 2020-12-09; просмотров: 55; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.221.245.196 (0.006 с.)