Слайд 1Курс «Основы алгоритмизации и программирование»
кафедра
«Вычислительные методы и программирование»
Слайд 2консультации по курсу
1, 3 суббота месяца
аудитория 410б-5к
c 9.30
почта
tatianarak@bsuir.by
Слайд 3Выбор варианта:
Последние одна или две цифры зачетки после номера группы
делим
на 15, вариант – остаток от деления
например:
624400 4 ->
4 вариант
724400 31-> 1 вариант
Слайд 4К экзамену выполнить
контрольную работу,
состоящую из 4 заданий:
Линейный вычислительный процесс
Реализация
разветвляющихся алгоритмов
Реализация циклических алгоритмов
Обработка одномерных массивов
Слайд 5Первое задание желательно сделать как в оконном, так и в
консольном приложении
Слайд 6среда разработки:
Borland C++ Builder 6.0
RAD Studio Tokyo (10.2.3)
Visual Studio 2017
Слайд 7 Базовые понятия
Программа состоит из последовательности инструкций, оформленных в строгом
соответствии с правилами, составляющими синтаксис данного языка.
При создании программ
могут быть допущены синтаксические или логические ошибки.
Синтаксические ошибки – это нарушение правил написания программы.
Логические ошибки разделяются на ошибки алгоритма и семантические ошибки.
Ошибка алгоритма – это несоответствие построенного алгоритма ходу получения результата поставленной задачи.
Семантическая ошибка – неправильное понимание смысла (семантики) операторов выбранного языка программирования.
Слайд 8 Алфавит языка Си:
– прописные и строчные буквы латинского алфавита и
знак подчеркивания (код 95);
– арабские цифры от 0 до 9;
–
специальные символы, смысл и правила использования которых будем рассматривать по тексту;
– разделительные символы: пробел, символы табуляции, новой страницы и новой строки.
Каждому из множества значений, определяемых одним байтом (от 0 до 255), в таблице кодов ставится в соответствие символ.
Символы с кодами от 0 до 127 (первая половина таблицы) одинаковы для всех компьютеров, коды 128 – 255 (вторая половина) может отличаться и обычно используется для национального алфавита, коды 176 – 223 - символы псевдографики, а коды 240 – 255 – специальные знаки (можно посмотреть в приложении 1 [1,2]).
Слайд 9Лексемы
Из символов алфавита формируются лексемы (элементарные конструкции) языка – минимальные
значимые единицы текста в программе:
– идентификаторы (имена объектов);
– ключевые (зарезервированные)
слова;
– знаки операций;
– константы;
– разделители (скобки, точка, запятая, точка с запятой, пробельные символы).
Границы лексем определяются другими лексемами, такими как разделители или знаки операций, а также комментариями.
Слайд 10 Идентификатор (ID) – это имя программного объекта (константы, переменной, метки,
типа, функции и т.д.).
В идентификаторе могут использоваться латинские буквы,
цифры и знак подчеркивания; первый символ ID – не цифра; пробелы и другие специальные символы внутри ID не допускаются.
В Си прописные и строчные буквы – различные символы. Идентификаторы Name, NAME, name – различные объекты.
Ключевые (зарезервированные) слова не могут быть использованы в качестве идентификаторов.
Слайд 11 При именовании объектов следует придерживаться общепринятых соглашений:
– имена переменных и
функций обычно пишутся строчными (малыми) буквами;
– имена типов пишутся с
большой буквы;
– имена констант – большими буквами;
– идентификатор должен нести смысл, поясняющий назначение объекта в программе, например, birth_date – день рождения, sum – сумма;
– если ID состоит из нескольких слов, как, например, birth_date, то принято либо разделять слова символом подчеркивания, либо писать каждое следующее слово с большой буквы – BirthDate.
Слайд 12Комментарии
Базовый элемент языка программирования – комментарий – не является лексемой.
Внутри комментария можно использовать любые допустимые на данном компьютере символы,
т.к. компилятор их игнорирует.
В Си комментарии ограничиваются парами символов /* и */, а в С++ введен вариант комментария, который начинается символами // и заканчивается символом перехода на новую строку.
Слайд 13 Простейшая программа
Рассмотрим кратко основные части структуры программ.
Перед компиляцией программа обрабатывается
препро-цессором, который работает под управлением директив.
Препроцессорные директивы начинаются символом
#, за которым следует ее наименование, указывающее выполняемое действие.
Препроцессор выполняет предварительную обработку программы, в основном это подключение (include) так называемых заголовочных файлов (обычных текстов) с объявлением стандартных библиотечных функций, использующихся в этой программе.
Общий формат:
#include < Имя_файла.h >
где h – расширение заголовочных файлов.
Слайд 14 Если имя файла заключено в угловые скобки (< >), то
поиск данного файла производится в стандартной папке, если в двойные
кавычки (” ”), то в текущей папке.
К наиболее часто используемым библиотекам относятся:
stdio.h – содержит стандартные функции ввода-вывода данных;
conio.h – функции для работы с консолью (клавиатура, дисплей);
math.h – математические функции;
iostream.h – ввод-вывод в потоке;
Слайд 15Второе основное назначение препроцессора – обработка макроопределений.
Макроподстановка определить (define)
имеет общий вид:
#define ID строка
Например:
#define PI 3.1415927
–
в ходе препроцессорной обработки программы идентификатор PI везде будет заменяться значением 3.1415927.
Слайд 16Пример простейшей программы:
#include
void main () // Заголовок
функции
{ // Начало функции
cout
the best mark ! ” << endl;
} // Конец функции
Отличительный признак функции – скобки ( ) после ее имени, в которых заключается список параметров.
Если параметров нет, указывают атрибут void (пустой, отсутствующий).
Перед функцией указывается тип возвращаемого результата, если результата нет – void.
Слайд 17
В фигурных скобках записывается текст (код) функции, т.е. набор выполняемых
ею инструкций, каждая из которых оканчивается символом «;».
Если параметров нет,
атрибут void можно не писать.
cout (class output) – вывод данных в потоке с помощью операции побитового сдвига <<;
endl (end line) – перевод курсора на новую строку.
Слайд 18Типы данных
Данные в языке Си разделяются на две категории: простые
(скалярные) и сложные (составные) типы данных.
Тип данных определяет:
– внутреннее представление
в памяти;
– диапазон допустимых значений;
– набор допустимых операций.
Базовые типы данных: символьный – char (character), целый – int (integer), вещественный обычной точности – float, вещественный удвоенной точности – double.
Слайд 19Данные целого типа могут быть короткими – short, длинными –
long, со знаком – signed и беззнаковыми – unsigned.
Атрибут unsigned
может использоваться для типа char.
Атрибут long может использоваться для типа double.
Тип void указывает его отсутствие.
Сложные типы данных: массивы, структуры – struct, объединения – union, перечисления – enum.
Слайд 21Декларация объектов
Все объекты программы (кроме самоопре-деленных констант) необходимо декларировать,
т.е. объявить компилятору об их присутствии.
Общий формат объявления:
Атрибуты Список-Объектов;
Элементы
Списка разделяются запятыми, а Атрибуты – разделителями (хотя бы одним пробелом), например:
long int i, j, k;
Слайд 22Атрибуты могут быть следующими:
Класс памяти – определяет способ размещения в
памяти (статическая, динамическая), область видимости и время жизни (по умолчанию
– auto), данные атрибуты будут рассмотрены позже;
Тип – базовый тип, или созданный ранее тип Пользователя (по умолчанию – тип int).
Класс памяти и тип – атрибуты необязательные и при отсутствии одного из них (но не обеих одновременно) устанавливаются по умолчанию.
Примеры декларации простых объектов:
char ss; int i, j, k; double a, b, x;
Слайд 23Данные целого типа (integer)
Тип int – целое число, обычно соответствующее
естественному размеру целых чисел.
Квалификаторы short и long указывают на
различные размеры и определяют объем памяти, выделяемый под них, например:
short x;
long x;
unsigned x = 8;
– декларация с инициализацией числом 8;
атрибут int в этих случаях может быть опущен.
Слайд 24Для определения константных значений можно использовать атрибут const, указывающий запрет
изменения введенной величины в программе, например
const N = 20;
или const double PI = 3.1415926;
Атрибуты signed и unsigned показывают, как интерпре-тируется старший бит – как знак или как часть числа:
Слайд 25Данные символьного типа (char)
Любой символ в памяти занимает один байт
и соответствует конкретному коду.
Для персональных компьютеров (ПК) наиболее распространена
ASCII (American Standard Code for Information Interchenge) таблица кодов (см. Приложение 1).
Данные типа char рассматриваются компилятором как целые, поэтому можно использовать величины со знаком signed char (по умолчанию) – символы с кодами от –128 до +127 и unsigned char – беззнаковые символы с кодами от 0 до 255.
Примеры:
char res, simv1, simv2;
char sim = 's';
– декларация символьной переменной с инициализацией символом s.
Слайд 26Данные вещественного типа (float, double)
Характеристика данных:
Переменная типа double формально соответствует
типу long float.
Внутреннее представление этих данных состоит из мантиссы и
порядка, т.е.
< Мантисса > * 10 < Порядок >
Слайд 27КОНСТАНТЫ
Константами называют величины, которые не изменяют значений во время выполнения
программы.
Константа – это неадресуемая величина и, хотя она хранится
в памяти, определить ее адрес невозможно!
Константы нельзя использовать в левой части операции присваивания.
В языке Си константами являются:
– самоопределенные константы;
– имена (идентификаторы) массивов и функций;
– элементы перечислений.
Слайд 28Целочисленные константы
Десятичные константы – это набор цифр 0...9, первая из
которых не 0 (со знаком или без него).
Для длинных
целых констант указывается признак L(l) – 273L (273l). Константа, которая слишком длинна для типа int, рассматривается как long.
Восьмеричные константы – это набор цифр от 0 до 7, первая из которых 0, например: 020 = 16 – десятичное.
Шестнадцатеричные константы – набор цифр от 0 до 9 и букв от A до F (a...f), начинающаяся символами 0Х (0х), например: 0X1F (0х1f) = 31 – десятичное.
Восьмеричные и шестнадцатеричные константы также могут быть long, например, 020L или 0X20L.
Примеры целочисленных констант:
1992 777 1000L – десятичные;
0777 00033 01L – восьмеричные;
0x123 0X00ff 0xb8000L – шестнадцатеричные.
Слайд 29Константы вещественного типа
Данные константы размещаются в памяти по формату double
и могут иметь две формы:
1) с фиксированной точкой:
n.m (n, m
– целая и дробная части числа);
2) с плавающей точкой (экспоненциальная форма) представляется в виде мантиссы и порядка:
n.mEp
где n.m – мантисса (n, m – целая и дробная части числа), Е (или е) – знак экспоненты, р – порядок. Например, 1,2510–8 можно записать 1.25E–8 или 0.125E–7
Примеры:
1.0 –3.125 100Е–10 –0.12537е+5
Пробелы внутри чисел не допускаются. Для разделения целой и дробной части используется точка. Дробную или целую часть можно опустить, но не обе сразу, например,
1. (или 1.0) .5 (или 0.5)
Слайд 30Символьные константы
Символьная константа – это символ, заключенный в одинарные кавычки
(апострофы), например: 'а'.
Так же используются специальные управляющие симво-лы (escape
последовательности), например (первый символ обратный слеш):
\n – новая строка;
\t – горизонтальная табуляция;
\0 – нулевой символ.
При присваивании символьной переменной они должны быть заключены в апострофы.
Текстовые символы непосредственно вводятся с клави-атуры, а специальные и управляющие – представляются в исходном тексте парами символов, например: \\ – обратный слеш; \' – апостроф; \" – кавычки.
Примеры символьных констант: 'А' '9' '$' '\n'
Слайд 31Строковые константы
Строковая константа – символы, заключенные в кавычки (”). Кавычки
не являются частью строки, а служат только для ее ограничения.
Строка в языке Си представляет собой массив символов. Внутреннее представление константы "1234ABC":
'1' '2' '3' '4' 'A' 'B' 'C' '\0'
В конец строковой константы компилятор автоматически добавляет нулевой символ '\0', называемый нуль-терминатор, который на печать не выводится и является признаком окончания строки.
Примеры строковых констант:
"Summa" "\n \t Result = \n" " \" EXIT \" "
Длинную строковую константу можно разбить на несколько с помощью обратного слеша (\). Например:
"Вы учитесь в Белорусском государственном \
университете информатики и радиоэлектроники"
Компилятор воспримет такую запись, как единое целое.
Слайд 32Операции, выражения
Выражения используются для вычисления значений определенного типа и состоят
из операндов, операций и скобок. Операнд может быть, в свою
очередь, выражением (константой или переменной).
Операции задают действия, которые необходимо выполнить.
В языке Си используются четыре первичных операции:
– операция доступа к полям структур и объединений при помощи идентификаторов «.» (точка);
– операция доступа к полям структур и объединений при помощи указателей «->» (стрелка);
– операция индексации «[ ]» при обращении к элементам массива;
– операция «( )» при обращении к функции.
Слайд 33Операции делятся на унарные, бинарные и тернарные – по количеству
участвующих операндов, и выполняются в соответствии с приоритетами. Для изменения
порядка выполнения операций используются круглые скобки.
Унарные операции имеют больший приоритет над бинарными.
Большинство операций выполняются слева направо. Унарные операции, операции присваивания и условная операция (?:) выполняются справа налево.
Арифметические операции
Бинарные арифметические операции:
+ (сложение); – (вычитание); / (деление, для int операндов – с отбрасыванием остатка); * (умножение); % (остаток от деления целочисленных операндов со знаком первого операнда – деление «по модулю»).
Слайд 34 Операндами традиционных арифметических опера-ций (+, –, *, /) могут быть
любые объекты, имеющие допустимые типы (константы, переменные, функции, элементы массивов,
арифметические выражения).
Унарные операции +,– (знак) определены только для числовых операндов, при этом «+» носит только информационный характер, «–» меняет знак операнда на противоположный (не адресная операция).
Порядок выполнения операций:
1) выражения в круглых скобках;
2) вычисление функций (стандартные функции и функции пользователя);
3) операции * , / , %;
4) операции – , + .
Слайд 35При записи сложных выражений нужно использовать общепринятые математические правила:
Т.е.
использовать круглые скобки.
Единственной исключительной ситуацией при выполнении арифметических операций является
деление на ноль, другие ситуации (переполнение, исчезновение порядка или потеря значимости) компилятором игнорируются.
Слайд 36Операция присваивания
Общий формат:
Операнд_1 = Операнд_2 ;
Операндом_1 (L–значение – Left-Value) может
быть только адресное выражение, т.е. именованная, либо косвенно адресуемая указателем
переменная.
Операндом_2 (R–значение – Right-Value) может быть константа, переменная и любое выражение, составленное в соответствии с синтаксисом языка Си.
Операция выполняется справа налево.
Тип результата определяется типом левого операнда.
Слайд 37Присваивание значения в языке Cи рассматривается как выражение, имеющее значение
левого операнда после присваивания.
Поэтому присваивание может включать несколько операций,
изменяя значения нескольких операндов, например:
i = j = k = 0; k = 0, j = k, i = j;
x = i + (y = 3) – (z = 0); y = 3, z = 0, x = i + y – z;
Примеры недопустимых выражений:
– присваивание константе: 2 = x + y;
– присваивание функции: getch() = i;
– присваивание результату операции: (i + 1) = 2 + y;
Слайд 38Сокращенные формы операции присваивания
В языке Си используются два вида сокращенной
записи операции присваивания:
1) вместо записи v = v # e;
где # – любая арифметическая операция; рекомендуется использовать запись v #= e;
Например, s = s + 2; s += 2;
знаки операций записываются без пробелов;
2) вместо записи x = x # 1;
где # – символы, обозначающие операцию инкремента (+1), либо декремента (–1), рекомендуется использовать запись:
префиксную ##x; ++х; --х;
или
постфиксную x##; х++; х--;
Слайд 39Операции инкремента (++) и декремента (--) – унарные.
Если эти операции
используются отдельно, то различий между постфиксной и префиксной формами нет.
Если же они используются в выражении, то
1) в префиксной форме (##x) сначала значение x изменится на 1, а затем x будет использовано в выражении;
2) в постфиксной форме (x##) сначала значение x используется в выражении, а затем изменяется на 1.
Например,
int x, a = 2, b = 5;
1) x = ++a * --b;
a = 3, b = 4, x = 12;
2) x = a++ * b--;
x = 10, a = 3, b = 4;
Слайд 40Преобразование типов
Если операнды арифметических операций имеют один тип, то результат
операции будет иметь такой же тип.
Если в операциях участвуют операнды
различных типов, то они преобразуются к «большему» типу (в смысле объема памяти), т.е. неявные преобразования идут от «меньших» объектов к «большим»:
– значения char и short преобразуются в int;
– если один операнд double, то и другой преобразуется в double;
– если один операнд long, то и другой преобразуется в long.
Внимание! Результат операции 1 / 3 значение НОЛЬ, т.к. и 1 и 3 имеют тип int !!!
Чтобы избежать такого рода ошибок необходимо явно изменить тип хотя бы одного операнда, т.е. записывать, например: 1. / 3, т.к. 1. вещественная константа !!!
Слайд 41Типы char и int могут свободно смешиваться в арифметических выражениях.
Переменные char автоматически преобразуются в int.
При присваивании значение правой
части преобразуется к типу левой, который и является типом результата. Поэтому необходимо быть внимательным, т.к. при некорректной записи могут возникнуть неконтролируемые ошибки.
При преобразовании int в char старший байт просто отбрасывается.
Если double x; int i;
то i = x; приведет к преобразованию double в int с отбрасыванием дробной части.
Тип double преобразуется во float округлением.
Длинное целое преобразуется в целое и char посредством отбрасывания лишних битов более высокого порядка.
Слайд 42Операция явного приведения типа
Формат операции:
(Тип) Выражение;
ее результат
– значение Выражения, преобразованное к заданному Типу.
Рекомендуется использовать эту операцию
в исключительных случаях, например:
double x;
int n = 6, k = 4, m = 3;
x = (n + k) / m; x = 3;
x = (double)(n + k) / m; x = 3.333333.
Слайд 43Стандартные библиотечные файлы
В любой программе кроме инструкций используются стандартные функции,
входящие в библиотеку языка Си, которые облегчают создание программ.
В стандартных
библиотечных файлах описаны прототипы функций, макросы, глобальные константы. Это заголовочные файлы с расширением *.h, которые хранятся в папке include и подключаются на этапе предпроцессорной обработки.
Математические функции языка Си декларированы в файле math.h (некоторые в stdlib.h). В файле math.h описаны макроконстанты, такие как, например , это M_PI (и другие).
У большинства математических функций аргументы и возвращаемый результат имеют тип double. Аргументы тригонометрических функций должны быть заданы в радианах (2π радиан = 3600).
Слайд 45Из библиотеки conio.h при создании КОНСОЛЬНЫХ приложений мы будем пользоваться
только функцией
getch( );
Которая выполняет ожидание нажатия любой клавиши;
ее результат
– код нажатой клавиши.
Слайд 46Пример использования функции getch:
char s;
s = getch();
cout
<< endl;
cout << “Code = " << (int) s << endl;
переменная s – символ нажатой клавиши, а (int)s – код этого символа.
При запуске программы автоматически открываются стандартные потоки ввода – stdin (по умолчанию связан с клавиатурой) и вывода – stdout (экран монитора).
Внимание! Ввод данных функциями gets, getch выпол-няется с использованием потока stdin. Если указанная фу-нкция не выполняет своих действий (проскакивает), перед ее использованием необходимо очистить поток (буфер) ввода с помощью функции (stdlib.h)
fflush (stdin);
Слайд 47Потоковый ввод-вывод
Для ввода-вывода в языке С++ используются два класса: cin
(класс ввода), cout (класс вывода). Для их работы необходимо подключить
файл iostream.h.
Стандартный поток вывода cout по умолчанию связан со стандартным устройством вывода stdout (дисплей монитора), а ввода cin – со стандартным устройством ввода stdin (клавиатура).
Вывод на экран (помещение в поток <<): cout << Имя-Объекта-Вывода;
Ввод с клавиатуры (извлечение из потока >>):
cin >> Имя-Переменной;
Слайд 48Пример:
#include < iostream.h >
void main ()
{
int i, j, k;
cout
> i >> j
;
k = i + j ;
cout << “ Sum i + j = “ << k << endl;
/* end line – переход на новую строку и очистка буферов ввода-вывода */
}
Слайд 49Интегрированная среда разработчика C++ Builder
Слайд 50Главное окно предназначено для управления процессом создания программы. Основное меню
содержит все необходимые средства для управления проектом. Пиктограммы облегчают доступ
к наиболее часто применяемым командам основного меню. Через меню компонент осуществляется доступ к набору стандартных сервисных программ среды, которые описывают некоторый визуальный элемент (компоненту), помещенный программистом в окно формы. Каждая компонента имеет определенный набор свойств, которые задаются Пользователем, например, заголовок окна, надпись на кнопке, стиль выводимого текста и т.п.
Слайд 51Окно инспектора объектов (вызывается нажатием клавиши F11) предназначено для изменения
свойств выбранных компонент и состоит из двух страниц. Страница Properties
(свойства) предназначена для изменения необходимых свойств компоненты, страница Events (события) – для определения реакции компоненты на то или иное событие, например, нажатие определенной клавиши или щелчок кнопкой мыши.
Слайд 52Окно формы представляет собой проект Windows-окна программы, в которое помещаются
необходимые компоненты для решения поставленной задачи, причем при выполнении программы
помещенные компоненты будут иметь тот же вид, что и на этапе проектирования
Слайд 53Окно текста (имя Unit1.cpp), предназначено для написания, редактирования и просмотра
текста программы. При первоначальной загрузке в окне текста программы находится
текст, содержащий минимальный набор операторов для нормального функционирования пустой формы в качестве Windows-окна.
Переключение между окном формы и окном текста программы осуществляется с помощью клавиши F12.
Слайд 54Структура программ C++ Builder
Программа в Builder состоит из множества функций,
объединяемых в один проект с помощью файла проекта Project1.bpr, который
создается автоматически, обрабатывается средой Builder и не предназначен для редактирования.
При создании как консольного, так и оконного приложений системой программирования автоматически формируется текстовый файл с именем Unit1.cpp.
Слайд 55В оконном приложении объявления классов, переменных (объектов) и функций-обработчиков (методов)
находятся в заголовочном файле, имеющем то же имя, что и
текстовый файл, только с расширением .h. Описание окна формы находится в файле с расширением .dfm. Файл проекта может быть только один, файлов с другими расширениями может быть несколько.
Внимание! Для того чтобы перенести проект на другой компьютер, необходимо переписать все файлы с расширениями: *.bpr, *.h, *.cpp, *.dfm.
Слайд 56 Создание оконного приложения
Настройка формы
Пустая форма в правом верхнем
углу имеет кнопки управления, предназначенные для свертывания формы , для
разворачивания формы на весь экран , для возвращения к исходному размеру и для закрытия формы . С помощью мыши, «захватывая» одну из кромок формы или выделенную строку заголовка, можно регулировать размеры формы и ее положение на экране.
Слайд 57Для изменения заголовка после вызова окна инспектора объектов (F11) выбирается
свойство Caption, и в выделенном окошке вместо стандартного текста Form1
набирается нужный текст, например, «Лаб.раб.1. Гр.610101 Иванова А.».
Внимание! Свойства Name (имя) и Сaption (заголовок) у компонент совпадают, но имя менять не рекомендуется, т.к. оно входит в текст программы.
Слайд 58Компоненты, предназначенные для ввода-вывода
Если необходимо ввести из формы в программу
или вывести на форму информацию, которая вмещается в одну строку,
используют окно однострочного редактора текста, представляемого компонентой Edit, для чего в меню компонент Standard выбирается пиктограмма и щелчком кнопкой мыши устанавливается в нужном месте формы. Мышью регулируются размер окошка и его положение на форме.
В заголовочный файл Unit1.h автоматически вставляется переменная Edit* (1,2,…) класса TEdit. В поле Text (Edit1–>Text) такой переменной будет содержаться строка символов (тип AnsiString) и отображаться в соответствующем окне Edit*.
Слайд 59Компоненты, предназначенные для ввода-вывода
Если необходимо ввести из формы в программу
или вывести на форму информацию, которая вмещается в одну строку,
используют окно однострочного редактора текста, представляемого компонентой Edit, для чего в меню компонент Standard выбирается пиктограмма и щелчком кнопкой мыши устанавливается в нужном месте формы. Мышью регулируются размер окошка и его положение на форме.
В заголовочный файл Unit1.h автоматически вставляется переменная Edit* (1,2,…) класса TEdit. В поле Text (Edit1–>Text) такой переменной будет содержаться строка символов (тип AnsiString) и отображаться в соответствующем окне Edit*.
Слайд 60Пример выполнения задания
Cоставить программу вычисления арифметического выражения для заданных значений
x, y, z :
Слайд 61Создание консольного приложения
Чтобы создать проект в консольном приложении, выполняем следующую
последовательность действий: File Close All File New
Other Console Wizard Ok.
Слайд 62До тех пор пока вы не научились основным действиям, необходимым
для изменения настроек и свойств элементов, входящих в проект, советуем
не изменять имен файлов и других элементов, присвоенных им автоматически.
Внимание! Не изменять и не удалять, уже имеющиеся в указанных файлах тексты.
// Директивы препроцессора
#include // Подключение файла библиотеки VCL
#pragma hdrstop // Установки компилятора
Слайд 63Текст программы может иметь следующий вид:
#include
#include
#include
#include
#pragma
hdrstop
#pragma argsused
int main(int argc, char* argv[])
{
double x, y, z, a,
b ,c, rez;
cout << “Input x,y,z= ";
cin >> x >> y >>z;
a = pow( tan( x+y ), 2 );
//a=tan( x+y );
//a=a*a;
Слайд 64b = exp( y-z );
c = sqrt( cos( x*x )+sin(
z*z ) );
// c = pow( cos( x*x )+sin( z*z
), 1/2.);
rez = a-b*c;
cout << “Result = “<< rez << endl;
cout << “Press any key ... “;
getch();
return 0;
}
Слайд 65Для исходных данных x = 3,4; y = 7,410-2; z
= 1,943102, результат выполнения программы выглядит следующим образом: