Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Programmirovanie_-_1_kurs / Лекции (опорный конспект)

.pdf
Скачиваний:
69
Добавлен:
09.06.2015
Размер:
2.39 Mб
Скачать

1.6.Подготовка программы к выполнению

1.6.1.Компиляторы

Компилятор – транслятор, преобразующий код программы на языке высокого уровня в эквивалентный код на машинном языке (либо, на языке виртуальной машины)

Исходный код программы

____________

____________

____________

____________

____________

____________

____________

____________

____________

____________

Сообщения об ошибках в коде

Компилятор

Объектные

 

 

модули

 

 

 

 

Исполнимый

Obj

 

файл

 

 

 

Компоновщик

Exe

 

 

Obj

 

 

11

1.6.2.Интерпретаторы

Интерпретатор – транслятор, осуществляющий пооператорную (покомандную) обработку и выполнение исходной программы

Простой

Компилирующего типа

Исходный код программы

____________

____________

____________

____________

____________

Оператор

 

Выполнение

программы

Интерпретатор

 

 

 

 

 

Сообщения об ошибках в коде

12

1.7.Технологии программирования

Технология программирования – это совокупность методов и средств разработки (написания) программ и порядок применения этих методов и средств

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

Объектно-ориентированное программирование – программирование, основанное на представлении предметной области в виде системы

взаимосвязанных классов и их реализаций – объектов.

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

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

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

13

1.7.1. Структурное программирование

функция (процедура) должна иметь один вход и один выход

функция должна решать самостоятельную задачу

функция может вызывать другую функцию

работа функции не должна зависеть

от входных данных;

от того, какой функции предназначены ее выходные данные;

от предыстории вызовов функции;

функция должна возвращать управление той функции, которая ее вызывала;

модульность

иерархическое

строение

нисходящая

разработка

14

1.7.2. Пример структурной программы

f(a,b) =

a2 + b

a + b2

ab

13

2 8

7 -3

Главный алгоритм

Алгоритм расчета значения функции

f(a,b) =

a2

+ b

=

f

2

(a,b)

a + b2

f2

(b,a)

 

 

Алгоритм расчета значения функции f2 (x, y) = x2 + y

15

2. Язык С/С++. Основные понятия

Язык С

язык

программирования общего назначения

является

алгоритмическим языком высокого уровня

создан во второй половине 70-х годов Брайаном Керниганом и Деннисом Ритчи

Язык С++

создан Бьерном Страуструпом в начале 80-х годов

расширяет возможности языка С:

поддержка объектноориентированного программирования

новые типы данных

механизм обработки исключительных ситуаций

операторы управления свободной памятью

дополнения к стандартной библиотеке

пространства имен

16

2.1.Алфавит языка С++

2.2.Лексемы языка С++

Алфавит:

прописные и строчные латинские буквы

знак подчеркивания

арабские цифры от 0 до 9

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

специальные символы

Лексемы языка:

идентификаторы

ключевые слова

константы

знаки операций

комментарии

"

{ }

,

|

[ ]

( )

'

:

?

<

=

>

+

-

/ \

%

* .

!

&

#

~

;

^

17

2.2.1Идентификаторы

2.2.2.Ключевые слова

2.2.3.Комментарии

Идентификаторы – имена программных объектов

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

могут начинаться с латинской

буквы или знака

подчеркивания

чувствительны к регистру

Комментарии – примечания к тексту программы, игнорируемые компилятором

1.Строчные – начинаются с символов \\ и заканчиваются переходом на новую строку

2.Блочные – заключены между символами /* и */. Могут распространяться на несколько строк

Ключевые слова

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

asm auto bool break case catch char class const const_cast continue default delete do double dynamic_cast else enum explicit export extern false float for friend goto if inline int long mutable namespace new operator private protected public register reinterpret_cast return short signed sizeof static static_cast struct switch template this throw true try typedef typeid typename union unsigned using virtual void volatile wchar_t while

18

2.2.4.Знаки операций

2.2.5.Константы

Знаки операций – последовательность символов, определяющих действия над операндами

Константы – неизменяемые величины, представленные своим значением

Константа

Формат

 

 

 

 

Пример

 

 

 

Целая

Десятичная: последовательность десятичных цифр,

8, 0, 199226

 

начинающаяся не с нуля, если это не число ноль.

01, 020, 07155

 

Восьмеричная:

ноль,

за

которым

следуют

0хА, 0x1В8, 0X00FF

 

восьмеричные цифры (0,1,2,3,4,5,6,7)

 

 

 

Шестнадцатеричная: 0х или 0Х,

 

 

 

 

за которым следуют шестнадцатеричные

 

 

 

цифры (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)

 

 

 

 

 

 

 

Вещественная

Десятичная: [цифры].[цифры]

 

 

5.7, .001, 35.

 

Экспоненциальная:

 

 

 

0.2Е6, .11е-З, 5Е10

 

[цифры][.][цифры]{Е|е}[+|-][цифры]

 

 

 

 

 

Символьная

Один или два символа, заключенных в апострофы

'А', 'ю', '*', '\0'

 

 

 

Строковая

Последовательность символов, заключенная в кавычки

"Hello, world"

 

 

 

 

 

 

 

19

2.3. Типы данных

Тип данных определяет:

внутреннее

представление данных в памяти компьютера

множество

значений, которые могут принимать величины этого типа

операции и функции, которые можно применять к данным этого типа

Типы данных:

int (целый)

char (символьный)

wchar_t (расширенный символьный)

bool (логический)

float (вещественный)

double (вещественный с двойной точностью)

void («пустой» тип)

Спецификаторы типов:

short (короткий)

long (длинный)

signed (знаковый)

unsigned (беззнаковый)

20