- •ГЛАВА 7. ОСНОВЫ АЛГОРИТМИЗАЦИИ
- •1. ПОНЯТИЕ ОБ АЛГОРИТМЕ
- •2. ОСНОВНЫЕ СТРУКТУРЫ
- •2.1. Структура «следование»
- •2.2. Структура «развилка»
- •2.3. Структура «цикл»
- •3. ОСНОВНЫЕ ТИПЫ АЛГОРИТМОВ
- •3.1. Линейный алгоритм
- •3.2. Разветвленный алгоритм
- •3.3. Циклический алгоритм
- •Практические задания
- •1. Алгоритмы линейной структуры
- •2. Алгоритмы разветвляющейся структуры
- •3. Алгоритмы циклической структуры (цикл «ПОКА»)
- •4. Алгоритмы циклической структуры (цикл «ДО»)
- •ГЛАВА 8. ОСНОВЫ ПРОГРАММИРОВАНИЯ В СРЕДЕ VISUAL С++ 2005
- •ВВЕДЕНИЕ
- •1. РАЗРАБОТКА ПРОГРАММЫ
- •2. ПЕРЕМЕННЫЕ
- •3. ЛИНЕЙНАЯ ПРОГРАММА
- •3.1. Оформление линейной программы
- •3.2. Программирование в стандартизованной среде CLR
- •Практические задания
- •Русская система мер
- •4. ПРОГРАММА С ВЕТВЛЕНИЕМ
- •Практические задания
- •5. ЦИКЛ С ПАРАМЕТРОМ
- •6. ЦИКЛ «ПОКА»
- •Практические задания
- •7. ОДНОМЕРНЫЕ МАССИВЫ
- •7.1. Понятие об одномерном массиве
- •7.2. Сортировка в одномерном массиве
- •Практические задания
- •8. ДВУМЕРНЫЕ МАССИВЫ
- •8.1. Понятие о двумерном массиве
- •8.2. Датчик случайных чисел
- •Практические задания
- •9. ФУНКЦИИ
- •9.1. Понятие о пользовательских функциях
- •Рис. 8.20. Пятиугольник со сторонами a, b, c, d, f и диагоналями h,g.
- •9.2. Рекурсия
- •9.3. Вызов функции из функции
- •9.4. Функция типа void и глобальные переменные
- •9.5. Передача в функцию имени функции
- •Практические задания
- •10. СОБСТВЕННАЯ БИБЛИОТЕКА ПРОГРАММИСТА
- •10.1. Перегрузка функций
- •Рис. 8.25. Результат работы программы примера
- •11. ПЕРЕЧИСЛИМЫЙ ТИП
- •11.1. Понятие о перечислимом типе
- •11.2. Множественный выбор
- •12. УКАЗАТЕЛИ
- •12.1. Понятие об указателях
- •12.2. Указатели и функции
- •12.3. Указатели и динамические массивы
- •12.4. Указатели и перегрузка операций
- •13. ОБРАБОТКА СИМВОЛЬНЫХ СТРОК
- •13.1. Символьные переменные
- •13.2. Символьные строки (как массивы символов)
- •13.3. Обработка массивов строк
- •Практические задания
- •14. СТРУКТУРЫ
- •Практические задания
- •15. КЛАССЫ
- •15.1. Понятие класса
- •15.2. Открытые и закрытые члены класса
- •15.3. Конструкторы и деструкторы
- •Практические задания
- •Раздел А
- •Раздел Б
- •16. ФАЙЛЫ
- •16.1. Работа с текстовыми файлами
- •16.2. Работа со структурами в файлах
- •16.3. Работа с классами в файлах
- •Практические задания
- •Раздел А
- •Раздел Б
- •ПРИЛОЖЕНИЯ
- •Приложение 1. Список библиотечных функций
- •Математические функции
- •Строковые функции (для работы с символьными массивами)
- •Приложение 2. План лабораторных работ
- •ГЛАВА 9. ПРИЛОЖЕНИЯ WINDOWS FORMS
- •ВВЕДЕНИЕ
- •1. РАЗРАБОТКА ПРИЛОЖЕНИЯ
- •3. ДИНАМИЧЕСКИЕ ССЫЛКИ НА ОБЪЕКТЫ
- •3.1 Понятие о динамических ссылках.
- •3.2. Программа «Калькулятор»
- •4. ИСПОЛЬЗОВАНИЕ ТАЙМЕРА. КОМПОНЕНТ CHECKBOX
- •4.1 Таймер
- •4.2. Компонент CheckBox
- •5. СПИСКИ ВЫБОРА И ПОЛОСЫ ПРОКРУТКИ. ГРАФИЧЕСКИЕ КОМПОНЕНТЫ В C++Builder
- •5.1. Список выбора ListBox
- •5.2. Полосы прокрутки
- •5.3. Графика
- •6. РАБОТА С ТЕКСТОВЫМИ ФАЙЛАМИ.
- •6.1. Чтение и запись текстового файла
- •ИНДИВИДУАЛЬНЫЕ ЗАДАНИЯ
- •Раздел 1. Кнопки, метки и окна редактирования
- •Раздел 2. Радиокнопки
- •Раздел 3. Полосы прокрутки
- •Раздел 4. Обработка текстовых файлов
- •ЛИТЕРАТУРА
- •ТЕСТЫ
- •Тесты по основам алгоритмизации
- •Тесты по программированию на С++
- •Учебное издание
27
2. ПЕРЕМЕННЫЕ
Ясно, что всякая программа, так или иначе, обрабатывает данные. Эти данные, как правило, размещаются в переменных. Каждая переменная имеет имя, тип, размер и значение. Основные типы с указанием размеров занимаемой памяти и областью значений приведены в табл. 1.
|
|
|
|
Т а б л и ц а 1 |
|
Основные типы переменных в C++ |
|||
|
|
|
|
|
тип |
Тип (по-русски) |
Размер |
Интервал допустимых значе- |
|
|
|
памяти |
ний |
|
bool |
логический |
1 |
байт |
true или false |
char |
символьный |
1 |
байт |
От–128 до 127 (код символа) |
int |
целый |
4 |
байта |
От–2 147 483 648 |
|
|
|
|
до 2 147 483 647 |
long |
целый |
4 |
байта |
От–2 147 483 648 |
|
|
|
|
до 2 147 483 647 |
short |
Короткий целый |
2 |
байта |
От–32 768 до 32 767 |
unsigned char |
Беззнаковый сим- |
1 |
байт |
От 0 до 255 |
|
вольный |
|
|
|
unsigned int |
Беззнаковый це- |
4 |
байта |
От 0 до 4 294 967 295 |
|
лый |
|
|
|
unsigned short |
Беззнаковый ко- |
2 |
байта |
От0 до 65535 |
|
роткий целый |
|
|
|
float |
Вещественный |
4 |
байта |
От »3,4е – 38 до »3,4е+38 |
|
плавающий |
|
|
|
double |
Вещественный |
8 |
байтов |
От »1,7е – 308 до »1,7е + 308 |
|
двойной точности |
|
|
|
Объявление типов переменных делается соответствующим служебным словом с последующим перечислением имен переменных: int i, j, k, l, m – перечисленные переменные будут целого типа и т.п. Причем, объявление типов можно совместить с присваиванием.
Присваивание значения переменным делается с помощью - ко манды присваивания (в С++ используется знак равенства). Значения для символьных переменных заключаются в одинарные кавычки:
int i=33; float a=.156; char f =’5’, f2=’$’, ff=’1’
Основные арифметические и логические операции, допустимые в С++, приведены в табл. 2.
28
Т а б л и ц а 2
Основные арифметические и логические операции в C++
|
|
|
|
|
Арифметические операции |
символы |
Логические операции |
символы |
|
сложение |
+ |
равно |
= = |
|
вычитание |
– |
Не равно |
!= |
|
умножение |
* |
больше |
> |
|
деление |
/ |
Меньше |
< |
|
Вычисление остатка |
% |
Больше или равно |
>= |
|
присваивание |
= |
Меньше или равно |
<= |
|
отрицание |
! |
Логическое умножение |
&& |
|
|
|
Логическое сложение |
| | |
|
Присваивание значений переменных делается командой присваивания: j = 5; i = j. Кстати, в C++ можно такие операции совмещать: i = j = 5;
В С++ имеются помимо привычных и сокращенные формы записи арифметических операций. Примеры:
Операция присваивания
a+ = 3 эквивалентно a = a + 3 a– = 3 эквивалентно a = a – 3 a* = 3 эквивалентно a = a*3 a/ = 3 эквивалентно a = a/3 a% = 3 эквивалентно a = a%3
Операции инкремента
i++ постфиксная формаi=i+1; ++i префиксная форма i=i+1;
Операции декремента
i– – постфиксная форма i=i–1
– – i префиксная форма i=i–1
Операции инкремента и декремента применяются к целым числам. Различие между постфиксной и префиксной формами иллюстрируется приведенным ниже примером.
Например, пусть имеем переменные целого типаt и c. Если с = 5, тогда при записи t = ++c + 6 получим, что t равно 12.
Если же применить постфиксную форму(при том жеc = 5): t = c++ + 6, то получим, что t = 11, потому что начальное значение c используется для вычисления выражения до того, как c увеличится на единицу операцией инкремента. Этот оператор эквивалентен следующим двум: t = c+ 6; ++c;
Эти же правила применимы и к операции декремента– – . Например, если с = 5, то t = – –c +6 даст значение 10 для t, в то время как t = 6 + с– – даст значение 11 для переменной t.