
- •210700 Инфокоммуникационные технологии и системы связи
- •220700 Автоматизация технологических процессов и производств
- •230400 Информационные системы и технологии
- •1. Цели и задачи дисциплины
- •2. Место дисциплины в структуре основной образовательной программы
- •3. Требования к уровню освоения содержания дисциплины
- •Для специальности 210700 Инфокоммуникационные технологии и системы связи
- •4. Объем дисциплины и виды учебной работы
- •5. Содержание дисциплины
- •Для специальности 210700 Инфокоммуникационные технологии и системы связи
- •6. Лабораторный практикум
- •7. Библиографический список
- •8. Материально-техническое обеспечение дисциплины
- •9. Опорный конспект
- •1. Основы алгоритмизации
- •1.1 Этапы решения задач на эвм.
- •1.2. Алгоритм. Свойства алгоритмов
- •1.3. Формы представления алгоритмов
- •1.4. Алгоритмическая конструкция ветвления
- •1.5. Алгоритмическая конструкция цикла
- •2.1. Разработка консольного проекта
- •2.3. Комментарий
- •2.4. Организация ввода и вывода информации
- •Вывод данных
- •Ввод данных
- •2.5. Разработка проекта типа Windows Forms Application
- •3. Основные элементы языка
- •3.1. Алфавит
- •3.2. Идентификаторы
- •3.3. Переменные и константы
- •3.4. Символьные типы данных
- •3.5. Данные типа int
- •3.6. Данные с плавающей точкой
- •3.7. Логический тип данных
- •3.8. Операции и выражения
- •Арифметические операции
- •Операции инкремента и декремента
- •Операции отношения и логические операции
- •Оператор присваивания
- •Составные операторы присваивания
- •Оператор условия ? :
- •Операция sizeof
- •4. Программирование разветвляющих и циклических алгоритмов
- •4.1. Общие сведения
- •4.2. Оператор if
- •4.3. Оператор switch
- •4.4. Оператор цикла for
- •4.5. Оператор цикла while
- •4.6. Оператор цикла do while
- •4.7. Применение оператора continue
- •4.8. Оператор goto
- •5. Массивы и строки
- •5.1. Массивы
- •5.2. Строки
- •6. Функции
- •6.1. Общие сведения
- •6.2. Описание функции и ее тип
- •6.3. Вызов функции
- •6.4. Область действия переменной
- •6.5. Классы памяти
- •Глоссарий
- •10. Задания на лабораторные работы и методические указания к их выполнению
- •11. Задания на контрольную работу и методические указания к их выполнению
- •Оглавление
Глоссарий
Алгоритм – это точное предписание, задающее преобразование исходных данных в конечный результат.
Выражение в языке С++ - это последовательность операндов, операций и символов-разделителей.
Глобальные переменные - это переменные, объявленные вне какой-либо функции.
Декремент – операция декремента (--) уменьшает значение операнда на 1.
Дискретность – последовательное выполнение простых или ранее определённых (подпрограммы) шагов.
Идентификаторы используются как имена переменных, функций и типов данных.
Инкремент - операция инкремента (++) увеличивает значение операнда на 1.
Комментарий – это сообщение для того, кто читает исходный текст программы.
Константы – это данные, которые устанавливаются равными определенным значениям еще до выполнения программы и сохраняют их на протяжении выполнения всей программы.
Корректность - решение должно быть правильным для любых допустимых исходных данных.
Локальные переменные - это переменные, объявленные внутри блока, в частности внутри функции.
Массив – это расположенные вплотную друг за другом в памяти элементы одного и того же типа.
Массовость заключается в возможности применения алгоритма к целому классу однотипных задач, различающихся конкретными значениями исходных данных (разработка в общем виде).
Область действия переменной – это правила, которые устанавливают, какие данные доступны из данного места программы.
Операнды – это переменные, константы либо другие выражения.
Определенность - каждое правило алгоритма должно быть четким, однозначным и не оставлять места для произвольного толкования.
Переменные – это данные, которые могут изменять свои значения в процессе выполнения программы.
Понятность – каждая команда алгоритма должна быть понятна тому, кто исполняет алгоритм; в противном случае, эта команда и, следовательно, весь алгоритм в целом не могут быть выполнены.
Проект – это основная единица, с которой работает программист в среде Visual Studio.
Простой оператор – это оператор, не содержащий другие операторы.
Пространство имен - это область, внутри которой все имена должны быть уникальными.
Результативность означает возможность получения результата после выполнения конечного количества операций.
Событие (Events) – это то, что происходит во время работы программы.
Составной оператор, или блок, - это любая совокупность простых операторов, заключенная в фигурные скобки {}.
Тело_функции - это часть определения функции, ограниченная фигурными скобками и состоящая из операторов языка С++.
Цикл - управляющая структура, организующая многократное выполнение указанного действия.
Формальные параметры - это переменные, объявленные при описании функций как ее аргументы.
Функция - самостоятельная единица программы, спроектированная для решения конкретной задачи.
Функция обработки события - реакция на событие.
10. Задания на лабораторные работы и методические указания к их выполнению
Лабораторная работа
Тема: Разработка калькулятора, выполняющего арифметические операции сложения, вычитания, умножения, деления, получения остатка от деления.
Цель: Научиться разрабатывать простейшие Windows-приложения
Основные теоретические положения
Любое приложение на языке C++, разрабатываемое в среде проектирования Visual Studio.NET, реализуется как отдельный проект.
При создании проекта «Приложение Windows Forms» перед пользователем появляется форма, открывающейся по умолчанию (рис.1.)[2]
Рис.1. Заготовка для Windows-приложения
Форма
обладает рядом свойств: заголовок,
размер, цвет фона и шрифта, расположение
и т. д. Для изменения свойств формы нужно
открыть вкладку Свойств (Properties
Window)
(рис.2.). Открыть вкладку можно, либо нажав
на
,
либо выбрать из меню View.
Рис.2. Окно свойств.
Свойства формы представлены в таблице 1.
Табл. 1. Свойства формы.
Свойство |
Описание |
BackColor |
Цвет фона |
Cursor |
Вид указателя мыши |
Enabled |
Позволяет сделать форму недоступной (False) или разрешить щелчок по ней (True) |
Font |
По умолчанию шрифт всех содержащихся в форме компонентов |
ForeColor |
Цвет текстов |
ControlBox |
Управляет системными кнопками: False – кнопки отсутствуют |
FormBorderStyle |
Тип поведения рамки формы : Sizable – обычное окно, FixedSingle – окно фиксированного размера, FixedDialog – Окно без системных кнопок «Свернуть» и «Развернуть», None – окно без заголовка |
Icon |
Значок в заголовке окна |
Location |
Координаты формы в пикселях относительно верхнего левого угла экрана |
MaximizeBox |
Системная кнопка «Развернуть». Если значение свойства равно False, то кнопка недоступна. |
MinimiseBox |
Системная кнопка «Свернуть». Если значение свойства равно False, то кнопка недоступна. |
Name |
Программное имя формы |
|
|
Opacity |
Степень прозрачности формы. 100% - форма непрозрачна (по умолчанию). Меньшее значение позволяет увидеть детали изображений, поверх которых форма располагается |
ShowDialog |
Показывает изображение формы как модальное окно. Этому окну передаётся управление (фокус). Возврат в вызывающее окно происходи при закрытии данной формы оператором Close |
Size |
Размер формы в пикселях. Width – ширина, Height – высота. |
StartPosition |
Начальное положение формы на экране: CenterScreen – в центре, Manual – положение определяется значениями свойства Location |
Text |
Текст заголовка |
На форме можно размещать различные компоненты. Для реализации калькулятора пользователю понадобятся компоненты:
Label – надпись на форме (только для чтения)
Button – командная кнопка
TextBox – текстовое окно для ввода или вывода информации
Данные компоненты также обладают рядом свойств. Свойства перечисленных компонент представлены в таблицах 2, 3 и 4.
Табл.2 Свойства компонента Label
Свойство |
Описание |
AutoSize |
Признак автоматического изменения размеров компонента. Если значении равно True, то при изменении размера надписи в свойстве Text, автоматически меняется размер компонента. |
BackColor |
Цвет области |
BorderStyle |
Вид рамки, ограничивающей область текста. None – рамка отсутствует, FixedSingle – тонкая рамка, Fixed3D – обычная для Windows системная рамка |
Font |
Шрифт |
ForeColor |
Цвет текста |
Location |
Координаты |
Name |
Имя компонента, используемое программой для доступа к нему. |
Size |
Размер области текста |
Техт |
Строка символов для вывода |
TextAlign |
Способ выравнивания текста в поле компонента |
Табл. 3. Свойства компонента TextBox
Свойство |
Описание |
Font |
Шрифт текста |
BackColor |
Цвет фона компонента |
BorfderStyle |
Вид рамки компонента: Fixed3D - обычная, FixedSingle – тонкая линия, None – отсутствует. |
Lines |
Массив строк, в поле редактирования, если указан режим Multiline |
Dock |
Способность приклеиваться к границе формы |
ForeColor |
Цвет текста в компоненте |
Location |
Координаты |
MaxLenght |
Максимальное количество символов, которое можно ввести в поле компонента. |
Multiline |
Разрешает (True) или запрещает (False) ввод нескольких строк ткста. |
Name |
Программное имя компонента |
ReadOnly |
Разрешает (False) или запрещает (True) редактировать отображаемый текст. |
PasswordChar |
Символ, который используется для отображения вводимых знаков. |
ScrollBar |
Задаёт полосу прокрутки: Horizontal – горизонтальная, Vertical – вертикальная, Both - обе полосы, None – не отображать |
Size |
Размер |
TextAllign |
Указывает, как расположить текст в окне |
Табл. 4. Свойства компонента Button
Свойство |
Описание |
Cursor |
Вид указателя мыши при его позиционировании на кнопке |
Enabled |
Позволяет сделать кнопку недоступной (False) или разрешить щелчок по ней (True) |
FlatStyle |
Стиль изображения кнопки: Standard - стандартная Flat - плоская Popup – всплывающая |
Font |
Шрифт надписи на кнопке |
ForeColor |
Цвет текста кнопки |
Image |
Изображение на кнопке. |
ImageAlign |
Положение картинки на кнопке. Возможные значения: MiddleCenter – в центре MiddleLeft- прижато к левой границе MiddleRight прижато к правой границе Возможны другие значения: TopLeft, TopCenter, TopRight, BottomLeft, BottomCenter, BottomRight |
ImageList |
Набор изображений, которые могут быть размещены на кнопке , если в свойстве ImageIndex установлен соответствующий индекс. К форме приложения надо добавить компонент ImageList |
ImageIndex |
Индекс изображения из набора ImageList, отображаемое на кнопке |
Location |
Координаты (в пикселях) кнопки на форме по отношению к верхнему левому углу |
Name |
Имя компонента. Используется для доступа к компоненту и его свойствам |
Size |
Размер |
Text |
Надпись на кнопке |
TextAlign |
Положение текста на кнопке: MiddleCentre в центре MiddlLeft прижат к левому краю MiddleRight прижат к правому краю Имеются и другие способы расположения текста: TopLeft, TopCentre, TopRight, BottomLeft, BottomCeter, BottomRight |
ToolTip |
Подсказка, появляющаяся через 0.5 секунды рядом с курсором при его позиционировании на кнопке Чтобы свойство стало доступным, в форму приложения надо добавить компонент ToolTip |
Visible |
Позволяет скрыть (False) кнопку или показать её (True) |
Все компоненты помимо свойств, обладают еще и событиями (Events). Событие – это реакция системы на какое-то действие пользователя. Для доступа к событиям нужного Вам компонента, следует сделать активным этот компонент, в окне свойств нажать на , а затем в открывшимся списке выбрать требуемое событие.
В данной работе потребуется событие Click компонента Button.
Методические указания к выполнению лабораторной работы
Запустите среду Visual Studio.
Создайте новый проект (команда Файл |Создать | Проект (File\New\Project) (рис.3) и в полученном окне щёлкните по строке Windows Form Application)
В строке Имя задайте имя проекта calk_fio (где вместо fio следует указать фамилию студента латинскими буквами)
В строке Расположение задайте расположение проекта (здесь задано e:\stud). Вам рекомендуется создать свой каталог (только латинскими буквами).
Рис.3. Вид диалогового окна Создание проекта (New Project).
После выполнения указанных действий и нажатия клавиши «ОК» Вы получите заготовку для будущей формы.
В качестве примера покажем выполнение операции сложения двух чисел. Для этого нужно с панели инструментов Toolbox перетащить на форму:
- для выполнения надписей 3компонента Label
- для ввода и вывода информации 3 компонента TextBox
- для выполнения событий 2 компонента Button.
На рис. 4 представлена форма, с перечисленными компонентами
Рис.4. Форма с компонентами
Для компонентов Label и Button замените свойство Text как показано на рис.5.
Рис.5. Вид формы с измененным свойством «Text>
Теперь определите событие «Click» для кнопки «Сложить». Компилятор предоставит Вам такую заготовку:
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{
}
В фигурные скобки вставляйте определение события. (В файле form1.h кроме предоставленной заготовки для определения события находится информация о всех компонентах, имеющихся на Вашей форме. Информацию о компонтах компилятор добавляет сам во время визуального проектирования формы).
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{
int a,b,c;
a=Convert::ToInt32(textBox1->Text);
b=Convert::ToInt32(textBox2->Text);
c=a+b;
textBox3->Text=Convert::ToString(c);
}
Определите событие клик для кнопки выход (событие клик можно определить, дважды щелкнув по компоненту).
private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e)
{
}
В фигурные скобки нужно добавить Close()
private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e)
{
Close();
}
Добавьте на форму 4 компонента Button для выполнения вычитания, умножения, деления, получения остатка от деления.
Определите события для перечисленных операций.
Содержание отчета:
Вид исходной формы.
Текст программы (содержимое файла form1.cs).
Результаты работы программы.