Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ1_Си_Builder.doc
Скачиваний:
20
Добавлен:
02.06.2015
Размер:
4.54 Mб
Скачать

1.8. Вычисления с вещественными числами

Дополните код программы строками:

float fl, a = 1. / 3. , b = 1./9. ;

fl = a * 3 ;

printf("\n\n a = %.20f fl = %.20f \n b = %.20f a*a = %.20f",

a, fl, b, a*a );

if( b == a*a ) printf("\n b == a*a");

else printf("\n b <> a*a");

Результат выполнения программы показан на рис. 11. Машинное слово для типа float имеет размер 4 байта. Поэтому большинство вещественных чисел в компьютере представлены с погрешностью.

Рис.11. Вычисления с вещественными числами

Сравнение на равенство вещественных данных в программе нужно выполнять так: если | f – b | < e, то значения переменных f и b считаются равными, е – заданная малая величина, удовлетворяющая в данной задаче допустимой погрешности значений величин.

Вопросы и упражнения

  1. Как открыть среду программирования Borland C++ Builder 6 для создания консольного приложения?

  2. Можно ли вставлять фрагменты текста в код создаваемой программы из других программ или документов?

  3. Как запустить программу на выполнение?

  4. Какие способы запуска программы на выполнение?

  5. Как можно выполнить отладку консольного приложения при наличии синтаксических ошибок в коде программы?

  6. Какие ошибки обнаруживаются при выполнении программы?

  7. Для каких типов данных будут показаны ошибки при выполнении программы?

  8. Какого типа должна быть переменная z, чтобы программа с оператором if( z < 1e-50) выполнялась успешно?

2. Лексические соглашения в С++

2.1. Лексемы

Лексема – одна из смысловых единиц во входном тексте для компилятора. Имеется пять видов лексем: идентификаторы, ключевые слова, константы, операции и прочие разделители. Для разделения лексем используются пробел, символы новой строки, новой страницы, горизонтальной и вертикальной табуляции и комментарии. Символы лексемы нельзя разделять пробелами!

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

Имена переменных – это последовательность букв и цифр произвольной длины. Первая литера должна быть буквой: символ ‘_’ (подчерк) считается в идентификаторах буквой. Различаются буквы верхнего и нижнего регистров (int x, X; // две переменные). Все литеры значимы.

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

Следующие идентификаторы в Си резервируются для употребления в качестве ключевых слов и не могут быть использованы иначе:

asm continue float new signed try auto default for operator sizeof typedef break delete friend private static union case do goto protected struct unsigned catch double if public switch virtual char else inline register template void class enum int return this volatile const extern long short throw while

Пользователи должны также избегать введения имён, начинающихся с одного или с двух подчерков: первые резервируют для себя реализации языка Си, а вторые употребляются реализациями С++.

Представление программы на языке С++, соответствующее стандарту ASCII, для обозначения операций и в качестве знаков пунктуации используют следующие литеры:

! % ^ & * ( ) – + = { } | ~ [ ] \ ` ; : “ < > ? , . /

Операции обозначаются следующими комбинациями литер:

–> ++ – – . * –> * + – / << >> <= >= = = != && ||

*= /= %= += – = <<= >>= &= ^= \= ::

Лексемы # и ## обрабатывает препроцессор – программа предварительной обработки кода компилируемой программы.