![]() ![]() ![]() ![]() |
|
|
![]() |
Цели использования компьютеров при решении оптических задач:
Это только цели лежащие на поверхности. Остальное многообразие задач компьютерной, вычислительной оптики откроется перед вами если этим заняться намного более подробно чем предусматривает учебная программа.
Язык программирования служит двум целям:
первая цель требует от языка быть наиболее близким к машинному коду
вторая цель требует от языка быть наиболее близким к решаемой задаче, ключевые слова - термины предметной области.
Связь между языком программирования и решаемой задачи очень тесная.
Интересная аналогия с естественными языками:
Мы думаем только то, что можно воплотить в слове!
Мы решаем задачи на компьютере только в тех терминах и с использованием тех конструкций, которые есть в языке.
Почему С++? Потому что это один из немногих языков достигших второй цели (решение задачи в ее же терминах)
С++ используется сотнями тысяч программистов, во всех прикладных областях. Язык поддерживается десятками независимых реализаций и сотнями библиотек. Огромное количество учебников, руководств, журналов, конференций.
Так же как и любой естественный язык, язык программирования имеет свой
алфавит | (символы, которые можно использовать в программах) |
лексику | (ключевые слова, идентификаторы, операторы) |
синтаксис | (выражения, конструкции) |
пунктуацию | ( ; , . : ( ) { } и т.п.) |
семантику | (что все это значит и что это должно обозначать для компьютера) |
Алфавит С++ включает:
Программа на языке С++ состоит из элементов, называемых лексемами (token). Лексемы - наборы символов, распознаваемые компилятором языка. Между лексемами можно оставить пробельные символы, переходы на новую строку, табуляции и т.п. Текст на языке С++ формируется таким образом, чтобы его можно было легко читать. А вообще компилятор воспринимает текст программы как сплошной поток символов и переходы на новую строку, позиционирование операторов совершенно не важно.
Для читаемости программы текст все же лучше структурировать, я буду приводить примеры в хорошем стиле и рекомендовать его использовать на практических занятиях.
Особо нужно указать способы использования комментариев (т.е. той части текста программы, кот. будет игнорироваться компилятором).
с++; // однострочный комментарий до конца строки.
Ключевые слова - четко определенные зарезервированные слова, имеющие конкретное значение
Группы ключевых слов (раздаточные материалы):
Ключевые слова всегда прописными буквами!
Если if - это ключевое слово для создания условной конструкции, то IF - может быть чем угодно в зависимости от того в каком контексте эта лексема появилась в тексте программы.
Идентификаторы - это последовательность латинских букв, цифр и символов подчеркивания (_), обозначающая имя переменной. Прописные и строчные символы различаются и переменная x не то же, что X.
Идентификаторы могут быть произвольной длины, но лучше покороче и со смыслом
i переменная циклаЛитералы (константы) - постоянные значения
5 05 0х5 5.0 5.f '5'Операторы (раздаточные материалы) - используются для составления арифметических и логических выражений. Они имеют строгий приоритет и порядок выполнения. Один и то же символ может трактоваться по-разному (-).
Пунктуация - ; , () {} постоянно будем сталкиваться. Правила их расстановки достаточно простые.
Алгоритм + структура данных = программа
Раздаточные материалы
Назначая тип данных для переменной, вы тем самым определяете две важные вещи:
Поэтому к назначению типов переменных нужно подойти очень ответственно:
Особо:
boolМодификаторы:
signed | unsigned |
const | volative |
(неизменяема) | (неизменяема внутри программы) |
Оператор sizeof позволяет определить размер памяти в байтах, необходимый для хранения переменной данного типа.
i=sizeof(int); float f=0.5f; int i=(int)f; int i=int(f); | 2 вида: расширение (понижение типа) понижение типа |
Переменные
int i; i=1; int j=1; int i,j;Преобразование типов
Арифметические выражения | Логические выражения |
i + +; + + i; - - i; i - -; + i; - i; j = i%2; | i = (i<0)*(0):(i - -) (i<0 && i>5) i* = 5; i% = 2; |
группировка осуществляется с использованием круглых скобок.
Приоритеты операторов.
Программа на С++ - это набор объявлений и функций, составленный для решения задачи.
Минимальной программой на С++ является следующая:
void main()Она определяет функцию с именем main и ничего не делает.
Каждая программа на С++ должна содержать функцию main(), с которой и начинается выполнение программы.
Один из основных механизмов, который делает программу полезной является ввод/вывод. Все языки программирования имеют такой механизм.
Среди операторов и ключевых слов нет ввода/вывода. Потому что в языке С++ ввод/вывод реализован в виде библиотеки.
Вообще многие механизмы, которые делают язык С++ таким мощным реализованы в библиотеках. (стандартные, специализированные, персональные).
Для использования библиотеки как минимум нужно включить ее описание в текст программы.
подключение библиотек | #include < iostream > (< iostream.h >, "iostream") using namespace std; |
функция main | void main() { cout<<"Data types"<<endl; cout<<"int"<<sizeof(int)<<endl; ... } |
Условные конструкции | |
---|---|
![]() | ![]() |
Селективные конструкции | |
![]() | ![]() |
Циклические конструкции | |
с предусловием![]() | с постусловием![]() |
Пошаговый цикл | |
![]() | ![]() |