- •ГЛАВА 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. Обработка текстовых файлов
- •ЛИТЕРАТУРА
- •ТЕСТЫ
- •Тесты по основам алгоритмизации
- •Тесты по программированию на С++
- •Учебное издание
173
case 1: named="понедельник"; break;
case 2: named="вторник"; |
break; |
case 3: named="среда"; |
break; |
case 4: named="четверг"; |
break; |
case 5: named="пятница"; |
break; |
case 6: named="суббота"; |
break; |
} |
|
label2->Text+=" \n"+named; |
|
} |
|
Второе событие создадим для Timer – событие Tick:
private: System::Void timer1_Tick(System::Object^ sender, System::EventArgs^ e)
{ // получить системное время
label1->Text = DateTime::Now.ToLongTimeString();
}
Обратите внимание, что для получения даты и времени служит класс DateTime и его элемент Now. Для получения сегодняшней даты применяют метод Today. А для перевода даты в строку (причем в сокращенном представлении ) датыприменяют метод ToShortDateString(). Для перевода времени в строку - ис пользуют метод ToLongTimeString() Для получения номера дня недели применяют метод DayOfWeek, он дает номер дня недели в «американском» виде – у них счет дней недели идет с воскресенья: 0 – воскресенье, 1 – понедельник и т.д. Далее, используя структуру множественной развилки, получаем название дня недели.
4.2. Компонент CheckBox
Данный компонент (а это просто окошко, в котором ставят «галочку») удобно использовать в том случае, когда требуется ответить: да или нет. У этого компонента есть свойствоChecked, которое принимает значениеtrue (истина) или false (ложь) в зависимости от того стоит галочка на этом компоненте(true) или нет (false).
Пример 4.3. Создать приложение вида (рис. 9.13).В нем кнопка «Нажми меня» служит для закрытия данного окна, но при условии, что стоит «галочка» напротив «Разрешить закрытие программы». Если же поставить галочку напротив «Отключить кнопку», то кнопка вовсе становится недоступной.
Рис. 9.13
Создадим новое приложение
и оформим такие функции:
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{// кнопка «Нажми меня»
if (checkBox1->Checked) this->Close();
}
private: System::Void checkBox2_CheckedChanged (System::Object^ sender, System::EventArgs^ e)
{ // «Отключить кнопку» button1->Enabled=!checkBox2->Checked; }
Пример 4.4. Создать приложение вида(рис. 9.14). Такое приложение позволяет рассчитать затраты для поездки на дачу на автомобиле. Как видим, нужно будет вводить расстояние и цену на бензин, а также потребление бензина(на 100 км пути). Здесь же
потребуется |
использовать |
|
компонент |
CheckBox, а |
|
значит – если там |
стоит |
|
«галочка» – полученные |
||
затраты |
будут |
удваи- |
ваться. |
|
|
Здесь нужно, по сути, |
||
разработать |
только |
функ- |
цию для щелчка по кнопке «Вычислить»:
Рис. 9.14
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{ // кнопка "Вычислить"