Open CommonDialog.FileName For Input As # 1
алгоритмизации
Лабораторные работы
для студентов, обучающихся по специальностям 220201.65 – «Управление и информатика в технических системах», 220301.65 – «Автоматизация технологических процессов и производств» и направлению 220200.62 – «Автоматизация и управление»
Москва
Утверждено советом факультета механики и систем управления для студентов специальностей 220201, 220301, направления 220100.62
Составитель: В.Н.Агеев, доктор технических наук, профессор
Подготовлено на кафедре автоматизации полиграфического производства
Введение
ВВЕДЕНИЕ
Лабораторные работы по курсу «Программирование и начала алгоритмизации» входят в учебный план подготовки инженеров по специальностям 220201.65 – «Управление и информатика в технических системах», 220301.65 – «Автоматизация технологических процессов и производств» и бакалавров по направлению 220200.62 – «Автоматизация и управление» Целью выполнения лабораторных работ является знакомство студентов с методами программирования в среде Visual Basic. Правила подготовки и проведения лабораторных работ: 1. Студенты проходят инструктаж по технике безопасности в лаборатории кафедры автоматизации полиграфического производства и расписываются в журнале по технике безопасности. 2. До выполнения работы студент должен изучить связанные с ней вопросы и знать порядок ее выполнения. 3. Перед началом работы преподавателю предъявляется оформленная теоретическая часть работы, включая необходимый иллюстративный материал (схемы, таблицы), а также, в некоторых случаях, тексты программ. 4. После выполнения экспериментальной части работы на ПК студент должен предъявить результаты расчетов преподавателю.
5. Расчетно-графическую часть отчета студент выполняет дома. Результаты работы в виде графиков выполняются в требуемом масштабе на миллиметровой бумаге. 6. План построения отчета по лабораторной работе: – название работы; – цель работы; – теоретическая часть; – расчетная часть; – расчетно-графическая часть т выводы по работе. Отчет выполняется к началу очередного занятия. Законченные отчеты по лабораторным работам должны быть защищены студентом и подписаны преподавателем.
Лабораторная работа №1
Интегрированная среда разработки Visual Basic
Интегрированная среда разработки языка Visual Basic предоставляет пользователю удобный графический интерфейс в процессе разработки приложения. После запуска Visual Basic появляется диалоговое окно выбора режима (рис.1). При создании нового проекта следует выбрать режим Standaed.EXE.
Рис.1. Окно выбора режима работы Visual Basic Появится окно интегрированной среды разработки языка Visual Basic (рис.2).
Рис. 2. Интегрированная среда разработки Visual Basic Интегрированная среда разработки включает в себя: Строку заголовка, которая состоит из имени проекта Project1, после которого через тире указана программная среда Microsoft Visual Basic. Далее, словом [design] указан текущий режим работы - проектирование. В режиме выполнения проекта текст в квадратных скобках заменяется на [run]. Кнопки управления окном расположены в правом углу строки. Окно конструктора форм является основным рабочим окном и располагается в центре окна интегрированной среды разработки языка Visual Basic. Именно в этом окне происходит визуальное программирование графического интерфейса.
В левой части окна Visual Basic располагается Панель инструментов, содержащая пиктограммы управляющих элементов. Стандартный набор управляющих элементов включает в себя 21 класс объектов: Командная кнопка (CommandButton), Текстовое поле (ТехtBox), Метка (Label) и т.д. (рис. 3).
Рис.3. Панель инструментов
Выбрав щелчком мыши нужный элемент, можно поместить его на форму проектируемого приложения. Фактически, мы размещаем на форме экземпляры определенных классов объектов. Например, выбрав класс Командная кнопка (CommandButton), мы можем разместить на форме неограниченное количество экземпляров этого класса, т.е. кнопок Command1, Comma«d2, Command3 и т.д. Выделив помещенный на форму элемент и нажав правую кнопку мыши можно перейти к окну свойств данного элемента. В качестве примера на рис.5.4 приведено окно свойств для элемента «кнопка» (Command1). Окно содержит список объектов и список свойств, относящихся к выбранному объекту (форме или управляющему элементу на форме). На рисунке выбран объект Forml из класса Form. Список свойств разделен на две колонки. В левой находятся имена свойств, а в правой – их значения. Установленные по умолчанию значения могут быть изменены. Свойством объекта является качественная или количественная характеристика этого объекта (размеры, цвет, шрифт и др.). С каждой формой связан программный модуль, содержащий событийные и общие процедуры. Для перехода к режиму ввода и редактирования текста программы из основного меню необходимо выбрать пункт «View» и в развернувшемся меню – опцию «Code». Появится окно программного кода (рис.4).
Рис.4. Окно программного кода
Сразу под строкой заголовка окна программного кода размещаются два раскрывающихся списка. Левый список содержит перечень объектов проекта (объектов размещенных на форме), а правый – перечень событий, доступных для данного объекта. При выборе из левого списка объект, а из правого – событие в рабочем окне появится заготовка процедуры, имя которой состоит из имени объекта и названия события. Например, для кнопки «Command1» и события «Click» процедура получит имя Command1_Click.
Задание. Разработать проект «Простой калькулятор». Создать форму с тремя текстовыми окнами и тремя кнопками с надписями «+», «/» и «*». После ввода в первые два окна двух чисел и нажатии одной из кнопок в третьем окне отображается результат: сумма, частное или произведение этих чисел.
Лабораторная работа № 2 Программирование линейных вычислительных процессов В объектно-ориентированных языках программирования и, в частности, в языке Visual Basic, переменные играют такую же важную роль, как и в алгоритмических языках программирования. Переменные предназначены для хранения и обработки данных в программах. Переменные задаются именами, которые определяют области памяти, в которых хранятся их значения. Значениями переменных могут быть данные различных типов (целые или вещественные числа, последовательности символов, логические значения и т.д.). Тип переменных определяется типом данных, которые могут быть значениями переменных. Значениями переменных числовых типов (Byte, Integer, Long, Single, Double) являются числа, логических (Boolean) — True или False, строковых (String) — последовательности символов и т.д. Обозначения типов переменных являются ключевыми словами языка и поэтому выделяются. Имя каждой переменной уникально и не может меняться в процессе выполнения программы. Имя переменной может состоять из различных символов (латинские и русские буквы, цифры и т.д.), но должно обязательно начинаться с буквы и не должно включать знак точка «.». Количество символов в имени не может быть более 255. Наборы однотипных переменных могут быть объединены в массивы, объединенные одним именем. Массивы бывают одномерные, которые можно представить в форме одномерной таблицы, и двумерные, которые можно представить в форме двумерной таблицы. Массивы могут быть различных типов: числовые, строковые и т.д. Массив состоит из пронумерованной последовательности элементов. Номера в этой последовательности называются индексом. Каждый из этих элементов является переменной, т.е. обладает именем и значением, и поэтому массив можно назвать переменной с индексом. Для объявления типа переменной можно воспользоваться также оператором определения переменной. Синтаксис (правило записи) этого оператора следующий: Dim ИмяПеременной [. As ТипПеременной ] Здесь Dim и As ключевые слова языка Visual Basic и поэтому они выделяются жирным шрифтом. Назначение этого оператора — объявить переменную, т.е. задать ее имя и тип, однако объявление типа может отсутствовать. С помощью одного оператора можно объявить сразу несколько переменных, например: Dim ИмяПеременной As Integer, ИмяПеременной As String Объявление массива производится аналогично объявлению переменных, необходимо только дополнительно указать диапазон изменения индекса. Например, объявление строкового массива, содержащего 33 элемента, производится следующим образом:
Dim ИмяМассива (l To 33) As String Переменные, значения которых не меняются в процессе выполнения программы, называются константами. Синтаксис объявления констант следующий: Const ИмяКонстанты [ As Тип]= ЗначениеКонстанты Переменная может получить или изменить значение с помощью оператора присваивания. Синтаксис этого оператора следующий: ИмяПеременной = Выражение При выполнении оператора присваивания переменная, имя которой указано слева от знака равенства, получает значение, равное значению выражения (арифметического, строкового или логического), которое находится справа от знака равенства. Кроме четырех арифметических действий при записи арифметического выражения можно использовать стандартные функции, представленные в следующей таблице.
Задание: 1) создать экранную форму, разместив на ней элементы управления: кнопку и два текстовых поля – одно для ввода числа, другое – для вывода результата вычислений; 2) поместить на форму поясняющие надписи около этих элементов, а также фамилию, номер группы, текущую дату и номер варианта; 4) создать процедуру, запускаемую при нажатии кнопки на форме и выполняющую вычисления по заданной формуле. Варианты задания
Лабораторная работа № 3 Программирование разветвляющихся и циклических процессов Изменить последовательность выполнения операторов можно с помощью операторов ветвления. Одним из них является условный оператор If … Then. Он имеет несколько форматов записи. 1. Однострочный формат If условие Then Оператор1 [ Else Оператор2 ] (в квадратные скобки взята необязательная часть). Если условие истинно, Оператор1 выполняется, в противном случае он пропускается и выполняется Оператор2, если он указан. 2. Блочный формат. If условие Then Операторы1 [ Else Операторы2 ] End If Эта форма применяется, когда нужно при выполнении заданного условия выполнить не один, а несколько операторов. Еще одним оператором ветвления является Select Case. Select Case Выражение Case Список_значений1 Операторы1 Case Список_значений2 Операторы2 ………. [ Case Else Список_значений3 Операторы3 ] End Case Здесь в качестве параметра Выражение может быть как имя переменной, так и арифметическое выражение, а параметры Список_значений1, Список_значений2 и т.д. могут быть как одиночными числовыми значениями, так и списками – несколькими числами, разделенными запятыми. Для многократного выполнения одного или нескольких операторов применяются операторы цикла. Имеется несколько типов оператора цикла. 1. Оператор цикла типа пересчета: For Счетчик = Начальное_значение To Конечное_значение [ Step Шаг ] Операторы Next [ Счетчик ] Здесь Счетчик – параметр цикла, переменная целого или вещественного типа, Начальное_значение и Конечное_значение – числа, задающие границы интервала изменения параметра цикла, Шаг – шаг изменения параметра цикла, если он не указан, то по умолчанию он принимается равным 1. Операторы – один или несколько операторов, которые повторяются до тех пор, пока Счетчик не достигнет конечного значения. 2. Оператор повторений с предусловием Do While … Loop: Do While Условие Операторы Loop Указанные Операторы повторяются до тех пор, пока Условие остается истинным. 3. Оператор повторений с постусловием Do … Loop While: Do Операторы Loop While Условие Операторы повторяются до тех пор, пока Условие остается истинным. Отличие от предыдущего случая в том, что если Условие к моменту начала цикла ложно (имеет значение False), указанные операторы будут хотя бы один раз выполнены. 4. Оператор повторений с предусловием Do Until … Loop: Do While Условие Операторы Loop Операторы повторяются до тех пор, пока Условие не станет истинным. 5. Оператор повторений с постусловием Do … Loop Until: Do Операторы Loop Until Условие Здесь Операторы повторяются до тех пор, пока Условие не станет истинным. Отличие от предыдущего случая в том, что если Условие к моменту начала цикла уже является истинным (имеет значение True), указанные операторы будут хотя бы один раз выполнены. Задание: 1) создать экранную форму, разместив на ней элементы управления: кнопку и два текстовых поля – одно для ввода чисел, другое – для вывода результата вычислений; 2) поместить на форму поясняющие надписи около этих элементов, а также фамилию, номер группы, текущую дату и номер варианта; 4) создать процедуру, запускаемую при нажатии кнопки на форме и выполняющую необходимые вычисления.
Варианты задания
1. В заданном массиве подсчитать количество четных и нечетных чисел: В зависимости от полученного результата вывести сообщение «четных больше», «нечетных больше» или «одинаковое количество».
2. Для заданного массива значений случайной величины вычислить среднее арифметическое и сформировать новый массив из квадратов разностей элементов заданного массива и средним арифметическим
3. В заданном массиве отыскать наибольший элемент, вывести его номер и значение
В зависимости от полученного результата вывести сообщение «длина А больше», «длина В больше» или «длины одинаковы».
5. Упорядочить заданный массив по возрастанию
6. Даны три вектора:
Определить, какой из векторов, А или В, ближе по направлению к вектору С.
7. В заданном массиве подсчитать количество чисел, делящихся без остатка на 3:
8. Вводится целое число N. Вычислить и вывести значение Z=N!=1×2×…×N. Учесть, что по определению 0!=1. Предварительно сделать проверку знака N и если N<0 вычислений не проводить, а вывести сообщение “N<0”. Провести расчеты для N=4.
9. Упорядочить заданный массив по убыванию
10. Вводятся три числа А, В и С. Определить действительные корни Х1 и Х2 квадратного уравнения Ах2+Вх+C=0. Если действительных корней нет, вывести соответствующее сообщение. Для расчетов взять А=1, В= –1, С= –6.
11. В заданном массиве отыскать наименьший элемент, вывести его номер и значение.
12. В заданном массиве поменять местами наибольший и наименьший элементы
13. Найти наибольшее значение функции y=x2–A× x на отрезке [0, A], изменяя аргумент x от 0 до А с шагом h. Вывести значения xmax и ymax. Для расчетов взять A=2, h=0.2
14. В заданном массиве подсчитать количество чисел, кратных 5:
15. Вводятся 6 чисел – координаты вершин треугольника: x1, y1, x2, y2, x3, y3. Вычислить его площадь. Для расчетов взять числа (0,0,1,1,2,0).
16. Разделить заданный массив на два, один из которых содержит только отрицательные числа исходного массива, а другой – нулевые и положительные:
17. Для заданного массива вычислить среднее геометрическое Z и сформировать новый массив, вычитая из заданных значений величину Z:
18. Нормализовать заданный вектор, то есть сделать его длину равной единице. Для этого надо вычислить длину вектора и разделить на нее все элементы заданного вектора:
19. Даны три вектора:
Определить, какой из векторов, А или В, дальше по направлению отстоит от вектора С.
20. Вводятся 6 чисел – координаты вершин треугольника: x1, y1, x2, y2, x3, y3. Вычислить его периметр. Для расчетов взять числа (1,0,1,1,2,1).
21. Разложить заданный массиве на два, первый состоит из четных значений исходного массива, второй – из нечетных:
22. Найти наименьшее значение функции y=A2/16+A×x –x2 на отрезке [0, A], изменяя аргумент x от 0 до А с шагом h. Вывести значения xmin и ymin. Для расчетов взять A=1, h=0.1
23. В заданном массиве подсчитать количество чисел, делящихся без остатка на 7:
24. Вводятся 6 чисел – координаты A, B, C вершин треугольника. Вычислить его площадь. Для расчетов взять числа A=(0,0,), B=(1,1) C=(2,0).
25. Нормализовать заданный вектор, то есть сделать его длину равной единице. Для этого надо вычислить длину вектора и разделить на нее все элементы заданного вектора: Лабораторная работа № 4 Действия с символьными строками
Во многих случаях требуется выполнить действия с символьными строками. Например, требуется определить количество символов в строке или выделить подстроку из заданной строки. В таблице приведены примеры использования некоторых функций для работы с символьными строками.
Следует помнить, что коды заглавных и прописных букв разные. Коды заглавных букв от «А» до «Я» (без буквы «Ё») идут подряд от 192 до 223, а прописных – от 224 до 255 (т.е. для код каждой прописной буквы на 32 больше кода заглавной. Исключение – буква «Ё» (код 168) и «ё» (код 184). Коды с 0 до 31 относятся не к символам, отображаемым на экране, а служат для обозначения управляющих команд. Так, например код 13 означает «возврат каретки», то есть переход к началу строки, а код 10 – переход на следующую строку.
Порядок выполнения:
1) создать экранную форму, разместив на ней необходимые элементы управления; 2) поместить на форму поясняющие надписи около этих элементов, а также фамилию, номер группы, текущую дату и номер варианта; 3) создать процедуры, реализующие разработанный алгоритм.
Варианты задания.
1. В текстовое поле вводится строка из трех чисел, разделенных пробелами. При нажатии кнопки «Решение» запускается процедура, которая вычисляет сумму этих чисел и выводит результат во второе текстовое поле. Если строка содержит не цифровые символы, то вместо суммы в это поле выводится сообщение «Строка содержит ошибку».
2. В текстовое поле вводится строка из цифр. При нажатии кнопки «Пуск» запускается процедура, которая подсчитывает количество цифр во введенной строке и вычисляет их сумму. Результаты выводятся в соответствующие текстовые поля. Если строка содержит не цифровые символы, подсчитывается только количество введенных символов, а сумма не вычисляется.
3. В текстовое поле вводится строка из нескольких слов. При нажатии кнопки «Обработка» запускается процедура, которая подсчитывает, сколько раз в этой строке появляются буквы «а» и «е» (как строчных, так и прописных). Результаты выводятся в соответствующие текстовые поля.
4. В текстовое поле вводится натуральное число. При нажатии кнопки «Перевод» запускается процедура, которая преобразует это число в двоичное, восьмеричное и 16-ричное. Результаты выводятся в соответствующие текстовые поля. Если строка содержит не цифровые символы, то выводится сообщение об ошибке.
5. В текстовое поле вводится натуральное число. При нажатии кнопки «Пуск» запускается процедура, которая определяет, есть ли в этом числе одинаковые цифры, и если есть, то сколько раз они там появляются. Результаты выводятся в виде таблицы. Если одинаковых цифр в числе нет, то вместо таблицы выводится сообщение об этом.
6. В два текстовых поля вводятся две строки символов. При нажатии кнопки «Сравнение» запускается процедура, которая определяет, есть ли в этих строках одинаковые символы, и если есть, то они выводятся в текстовое окно.
7. В два текстовых поля вводятся по строке символов, причем вторая строка короче первой. При нажатии кнопки «Поиск» запускается процедура, которая определяет, входит ли вторая строка в первую в качестве подстроки. Результат выводится в текстовое окно. В случае, если вторая строка окажется длиннее первой, выводится сообщение об ошибке.
8. В текстовое поле вводится строка, состоящая из букв и цифр. При нажатии кнопки «Обработка» запускается процедура, которая из данной строки удаляет цифры и формирует новую строку, в которой остаются только введенные буквы. Результат выводится в во второе текстовое поле. 9. В текстовое поле вводится строка, состоящая из русских строчных букв. При нажатии кнопки «ОК» запускается процедура, которая из данной строки формирует другую из тех же букв, но упорядоченных по алфавиту (например: «казак» Þ «аазкк»). Результат выводится во второе текстовое поле.
10. При нажатии кнопки «Пуск» запускается процедура, которая с помощью датчика случайных чисел формирует массив из 10 чисел в диапазоне от 0 до 100. Эти числа выводятся в текстовое окно. При нажатии кнопки «Обработка» запускается другая процедура, которая в сформированном массиве определяет наибольшее и наименьшее значения и выводит их в текстовые окна. Указание. Случайное число из интервала (0, 1) возвращает функция rnd. Пример: переменная Х получит значение из интервала (0, 100) после выполнения оператора X=100*rnd
11. В текстовое поле вводится строка из трех слов, разделенных пробелами. При нажатии кнопки «ОК» запускается процедура, результатом работы которой является новая строка, отличающаяся от введенной тем, что первое и третье слова меняются местами. Эта строка выводится во второе текстовое поле. Если введенная строка содержит меньше трех слов, новая строка не формируется, вместо нее во второе поле выводится сообщение «В строке должно быть три слова!».
12. В текстовое поле вводится строка из русских букв. При нажатии кнопки «Решение» запускается процедура, которая подсчитывает количество гласных и согласных букв в строке. Результат выводится во второе текстовое поле.
13. В текстовое поле вводится строка из трех чисел, разделенных пробелами. При нажатии кнопки «Решение» запускается процедура, которая определяет наибольшее и наименьшее из этих чисел и выводит результат во второе текстовое поле. Если строка содержит не цифровые символы, то вместо суммы в это поле выводится сообщение «Строка содержит ошибку».
14. В текстовое поле вводится целое число. При нажатии кнопки «Пуск» запускается процедура, которая определяет, каких цифр в числе больше – четных или нечетных. Соответствующее сообщение выводится в текстовое окно.
15. В текстовое поле вводится строка из русских букв прописных и заглавных. При нажатии кнопки «Обработка» запускается процедура, которая формирует из этой строки новую, в которой все прописные буквы заменены заглавными, а заглавные – прописными. Новая строка выводится во второе окно.
16. В текстовое поле вводится натуральное число в восьмеричной системе счисления (Цифры от 0 до 7). При нажатии кнопки «Перевод» запускается процедура, которая преобразует это число в десятичную систему. Результат выводится во второе текстовое поле. Если введенная строка содержит цифры 8 или 9, то выводится сообщение «Число не восьмеричное».
17. В текстовое поле вводится натуральное число. При нажатии кнопки «Пуск» запускается процедура, которая определяет, делится ли это число без остатка на 2, 3, 5 и 7. Для вывода слов «Да» или «Нет» используются четыре текстовых поля, рядом с которыми помещены поясняющие надписи («число делится на 2», «число делится на 3» и т.д.). Если во введенной строке кроме цифр есть другие символы (точка, буквы), то выводится сообщение об ошибке.
18. В два текстовых поля вводятся две строки символов одинаковой длины. При нажатии кнопки «ОК» запускается процедура, которая формирует новую строку, в которой символы, стоящие на нечетных местах берутся из первой введенной строки, а стоящие на четных – из второй (например: «парк», «лего» Þ «перо»). Эта строка выводится в третье текстовое поле. Если введенные строки имеют разную дину, выводится сообщение об ошибке.
19. В первое текстовое поля вводится строка из русских букв, во второе – одна буква. При нажатии кнопки «Поиск» запускается процедура, которая определяет, встречается ли эта буква в строке и если да, то сколько раз. Результат выводится в третье текстовое поле. 20. В текстовое поле вводится строка, состоящая из русских и латинских букв. При нажатии кнопки «Обработка» запускается процедура, которая из данной строки удаляет латинские буквы и формирует новую строку, в которой остаются только русские буквы. Результат выводится в во второе текстовое поле.
21. При нажатии кнопки «Пуск» запускается процедура, которая с помощью датчика случайных чисел формирует массив из 10 чисел в диапазоне от -100 до 100. Эти числа выводятся в текстовое окно. При нажатии кнопки «Обработка» запускается другая процедура, которая в сформированном массиве определяет количество отрицательных, положительных и нулевых значений и результат выводит в текстовые окна. Указание. Случайное число из интервала (0, 1) возвращает функция rnd. Пример: переменная S получит значение из интервала (–100,100) после выполнения оператора S=200*rnd – 100.
22. В текстовое поле вводится строка из трех слов, разделенных запятыми. При нажатии кнопки «ОК» запускается процедура, результатом работы которой является новая строка, отличающаяся от введенной тем, что второе и третье слова меняются местами, а разделяющие слова запятые з
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|