Часть 2(2 часа): Подготовка и решение на пэвм задач линейного характера
Цель лабораторной работы – приобретение практических навыков по подготовке, отладке и выполнению линейных программ.
Содержательный смысл практической задачи – вычисление производной в точке, вычисление значения выражения.
Перед выполнением лабораторной работы студент должен знать:
- классификацию базовых типов данных и их основные характеристики;
- лексические основы языка С++ - понятия: переменная, выражение, операнд, константа, оператор;
- приоритеты операций;
- правила преобразования типов;
- основные библиотечные математические функции языка С++.
После выполнения лабораторной работы студент должен уметь:
- составлять линейные программы с использованием стандартных библиотечных функций;
- выполнять отладку и пошаговое тестирование линейных программ.
2.1. Алфавит языка С++, идентификаторы и ключевые слова
Для программирования задач линейного характера (рис. 16), в которых операции выполняются в естественном порядке, то есть в порядке их записи в программе, необходимо знать следующие конструкции языка С++: идентификаторы, служебные слова, описания данных, выражения, операторы, встроенные функции.

Рис. 16. Линейный алгоритм
Выражения в языке C++ записываются с помощью 26 строчных букв английского алфавита:
abcdefghijkImnopqrstuvwxyz
26 прописных букв английского алфавита:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
десяти цифр:
0123456789
и следующих специальных символов:
+ - * / =, . _ : ; ? \ " ’~ | ! # $ & ( ) [ ] { } ^ @
К специальным символам относится также пробел. Комбинации некоторых символов, не разделенных пробелами, интерпретируются как один значимый символ:
++ -- || << >> >= <= += -= *= /= .?: :: /* */ //
Идентификаторами называются имена, присваиваемые переменным, константам, типам данных и функциям, которые используются в программах. После описания идентификатора можно ссылаться на обозначаемый им объект в любом месте программы.
Идентификатор представляет собой последовательность символов произвольной длины, содержащую буквы, цифры и символы подчеркивания, которая обязательно должна начинаться с буквы или символа подчеркивания.
В C++ учитывается регистр букв. Компилятор воспринимает прописные и строчные буквы как разные символы. Так, переменные NM_LEN и Nm_Len рассматриваются как два разных идентификатора.
Использование символа подчеркивания в начале имени идентификатора не рекомендуется, так как данный способ записи применяется в именах системных подпрограмм и переменных. Совпадение имени идентификатора с зарезервированным именем вызовет конфликт в работе программы. Два символа подчеркивания (__) в начале имени идентификатора применяются в стандартных библиотеках языка C++.
В процессе формирования имен переменных и функций принято соглашение начинать их с префикса типа данных этого идентификатора (например, идентификатор ia соответствует типу int), идентификаторы с плавающей запятой — буквой f (float), строки, завершающиеся нулевым символом, — буквами sz (string zero), указатели — буквой р (pointer) и т. д. Это существенно упрощает восприятие текстов программ.
Ключевые слова являются зарезервированными идентификаторами, каждому из которых соответствует определенное действие. Изменить назначение ключевого слова нельзя. (Директива препроцессора #define позволяет создать «псевдоним» ключевого слова, который дублирует его действия, возможно, с некоторыми изменениями.) Имена идентификаторов, создаваемых в программе, не должны совпадать с ключевыми словами языков C++ (таблица 1).
Таблица 1. Ключевые слова C/C++
|
__alignof |
__stdcall |
else |
return |
|
__asm |
__super |
enum |
short |
|
__assume |
__try __except |
explicit |
signed |
|
__based |
__try __finally |
extern |
sizeof |
|
__cdecl |
__unaligned |
false |
static |
|
__declspec |
__uuidof |
float |
static_cast |
|
__alignof |
__virtual_inheritance |
for |
struct |
|
__except |
auto |
friend |
switch |
|
__fastcall |
__unaligned |
goto |
template |
|
__finally |
bool |
extern |
this |
|
__forceinline |
break |
if |
throw |
|
__inline |
case |
inline |
true |
|
__int16 |
catch |
int |
try |
|
__int32 |
char |
long |
typedef |
|
__int64 |
class |
mutable |
typeid |
|
__int8 |
const |
namespace |
typename |
|
__interface |
const_cast |
new |
union |
|
__leave |
continue |
operator |
using |
|
__multiple_inheritance |
default |
private |
unsigned |
|
__noop |
delete |
protected |
virtual |
|
__pragma |
do |
public |
void |
|
__ptr64 |
double |
register |
volatile |
|
__sealed |
dynamic_cast |
reinterpret_cast |
wchar_t |
|
__single_inheritance |
|
|
while |
Ключевые слова, начинающиеся со знаков подчеркивания, определены компанией Microsoft.
