Создание проекта в Microsoft Visual Studio
ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ Методические указания к выполнению лабораторной работы по дисциплине «Информатика и программирование» для студентов 1-го курса, обучающихся по направлению 09.03.03 «Прикладная информатика», профиль «Прикладная информатика в экономике» всех форм обучения
Хабаровск 2014 ББК В Х 12
Линейное программирование: методические указания к лабораторной работе по дисциплине «Информатика и программирование» для студентов 1-го курса, обучающихся по направлению 09.03.03 «Прикладная информатика», профиль «Прикладная информатика в экономике» всех форм обучения / сост. Р. А. Ешенко, О. И. Чуйко, К. А. Канаев. – Хабаровск: РИЦ ХГАЭП, 2014. – 20 с.
Роман Анатольевич Ешенко Ольга Игоревна Чуйко Константин Александрович Канаев
ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ Методические указания к выполнению лабораторной работы по дисциплине «Информатика и программирование» для студентов 1-го курса, обучающихся по направлению 09.03.03 «Прикладная информатика», профиль «Прикладная информатика в экономике» всех форм обучения
Рецензент канд.техн.наук, доцент кафедры технологической информатики и информационных систем ТОГУ В. В. Заев
Утверждено издательско-библиотечным советом академии в качестве методических указаний
Редактор Г.С. Одинцова Подписано к печати. Формат 60х84/16. Бумага писчая. Печать цифровая. Усл.п.л. 1,2. Уч.-изд.л. 0,8. Тираж 35 экз. Заказ № 680042, г. Хабаровск, ул. Тихоокеанская, 134, ХГАЭП, РИЦ
© Хабаровская государственная академия экономики и права, 2014 Введение ……………………………………………………………….. 4 Создание проекта в Microsoft Visual Studio …………………………. 5
Основные понятия языка программирования C#................................. 7 ЗАДАНИЯ ……………………………………………………………... 16 Вопросы для контроля ………………………………………………... 20 Библиографический список …………………………………………... 20 Введение .NET Framework представляет собой библиотеку классов, интерфейсов и типов значений, которые обеспечивают доступ к функциональным возможностям системы. Она составляет основу для создания приложений, компонентов и элементов управления.NET Framework. Основной идеей при разработке.NET Framework являлось обеспечение свободы разработчика за счёт предоставления ему возможности создавать приложения различных типов, способные выполняться на различных типах устройств и в различных средах. Вторым принципом стала ориентация на системы, работающие под управлением семейства операционных систем Microsoft Windows. Линейное программирование направлено на изучение основных конструкций языка, структуры данных, используемых при написании программ. Язык С# как средство обучения программированию обладает рядом достоинств: своей хорошей организованностью, строгостью, логичностью конструкций и удобством использования. Развитые средства диагностики и редактирования кода делают процесс программирования приятным и эффективным. Немаловажно, что С# является не учебным, а профессиональным языком, предназначенным для решения широкого спектра задач, и в первую очередь в быстро развивающейся области создания распределённых приложений. Поэтому базовый курс программирования, построенный на основе языка С#, позволит студентам быстрее стать востребованными специалистами-профессионалами.
Создание проекта в Microsoft Visual Studio
В данных методических указаниях при выполнении лабораторных работ используется IDE Microsoft Visual Studio 2012 Professional версии 11.0.61030.00 Обновление 4.
Для того чтобы создать проект, необходимо в главном меню нажать File (Файл), затем навести курсор на пункт меню New (Создать) и в выпадающем списке выбрать Project (Проект), как показано на рисунке 1.
Рисунок 1 – Открытие окна для создания проекта
После выбора элемента выпадающего списка Project (Проект) откроется окно создания проекта. В боковом меню выбираем раздел Installed (Установленные), далее Templates (Шаблоны), язык Visual C#, затем категорию Windows и в центральном окне выбираем Console Application (Консольное приложение). Задаём имя проекта, имя решения меняется автоматически. Так же можно изменить расположение проекта, нажав на кнопкуBrowse (Обзор). Для завершения процедуры создания проекта нажмите кнопку ОК (рисунок 2).
Рисунок 2 – Окно создания проекта
После создания проекта в основном рабочем окне Visual Studio автоматически откроется файл Program.cs, исходный код которого представлен ниже. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace LinearApp { classProgram { staticvoid Main(string[] args) { } } } Директива using позволяет подключить необходимые библиотеки, в данном случае указан стандартный набор генерируемый самой IDE. Для написания простых линейных программ достаточно использовать using System, а остальные можно убрать. Затем идёт ключевое слово «namespace» (пространство имен) с именем LinearApp, указываемое при создании проекта, и ключевое слово «class» с именем Program. Обсуждение данных ключевых слов выходит за рамки данного материала. Функция Main является точкой начала выполнения программы. При запуске приложения Main является первой вызываемой функцией. Написание простых линейных программ в ней и происходит.
Основные понятия языка программирования C#
Все тексты на языке пишутся с помощью его алфавита. Алфавит C# включает: буквы (латинские и национальных алфавитов) и символ подчёркивания (_),который употребляется наряду с буквами; цифры; специальные символы, например +, *, { и &; пробельные символы (пробел и символы табуляции); символы перевода строки. Из символов составляются более крупные строительные блоки: лексемы, директивы препроцессора и комментарии. Лексема (token) — это минимальная единица языка, имеющая самостоятельный смысл. Существуют следующие виды лексем: имена (идентификаторы); ключевые слова; знаки операций; разделители; литералы (константы).
Комментарии предназначены для записи пояснений к программе и формирования документации. Однострочный комментарий начинается с двух символов прямой косой черты (//) и заканчивается символом перехода на новую строку, многострочный заключается между символами-скобками /* и */ и может занимать часть строки, целую строку или несколько строк. Комментарии не вкладываются друг в друга. Выражение задаёт правило вычисления некоторого значения. Имена, или идентификаторы, служат для того, чтобы обращаться к программным объектам и различать их, то есть идентифицировать. В идентификаторе могут использоваться буквы, цифры и символ подчёркивания. Первым символом идентификатора может быть буква или знак подчёркивания, но не цифра. Длина идентификатора не ограничена. Пробелы внутри имён не допускаются. Идентификатор создаётся на этапе объявления переменной (метода, типа и т. п.), после этого его можно использовать в последующих операторах программы. При выборе идентификатора необходимо следить, чтобы он не совпадал с ключевыми словами. Знак операции — это один или более символов, определяющих действие над операндами. Внутри знака операции пробелы не допускаются. Например, в выраженииa += b знак += является знаком операции, а a и b — операндами. Символы, составляющие знак операций, могут быть как специальными, например, &&, | и <, так и буквенными, такими как as или new. Операции делятся на унарные, бинарные и тернарную по количеству участвующих в них операндов. Один и тот же знак может интерпретироваться по-разному в зависимости от контекста. Разделители используются для разделения или, наоборот, группирования элементов. Примеры разделителей: скобки, точка, запятая. Литералами, или константами, называют неизменяемые величины. В C# есть логические, целые, вещественные, символьные и строковые константы, а также константа null. Переменная — это именованная область памяти, предназначенная для хранения данных определённого типа. Во время выполнения программы значение переменной можно изменять. Все переменные, используемые в программе, должны быть описаны явным образом. При описании для каждой переменной задаются её имя и тип.
Пример описания целой переменной с именем a и вещественной переменной x: int a; float x; Тип определяет множество допустимых значений, которые может иметь тот или иной объект, а также множество допустимых операций, которые применимы к нему. Линейной называется программа, все операторы которой выполняются последовательно в том порядке, в котором они записаны. При написании линейных программ часто приходится использовать математические функции. Они реализованы в классе Math пространства имён System. Кроме этого в классе имеется два полезных поля: число π и число е. Основные методы и поля приведены в таблице 1.
Таблица 1 – Основные методы и поля класса Math
Продолжение таблицы 1
Пример №1. Вычисление значения выражения по формуле. Задание: Необходимо разработать программу вычисляющую значение выражения по следующей формуле: . Исходный код программы: using System; namespace LinearApp
{ Class Program { staticvoid Main(string[] args) { double x, y, result = 0; Console.WriteLine("Введите x"); x = Double.Parse(Console.ReadLine()); Console.WriteLine("Введите y"); y = Double.Parse(Console.ReadLine()); result = Math.Pow(x, 1 / 5) + Math.Log10(Math.Abs(Math.Tan(y*y)-Math.Cos(Math.Pow(x, 1/Math.Tan(y))))); Console.WriteLine("Результат: " + result); Console.ReadKey(); } } } Результат работы программы LinearApp представлен на рисунке 3. Введите x 3,2 Введите y 4,7 Введите z 11,5 Результат: 0,632312423178021
Рисунок 3 – Результат работы программы LinearApp
В первой строке тела функции Main объявляются и инициализируются значениями четыре переменные вещественного типа. Затем, используя функцию WriteLine(), выводим на экран сообщение с просьбой ввода одной из переменных. Далее необходимо сохранить введённое значение. Для этого используется функция ReadLine(), но так как результатом работы этой функции является строка, необходимо сделать преобразование. Функция Parse() позволяет конвертировать (преобразовать) значение в нужный тип, указываемый перед ней (Double.Parse()). Для того чтобы записать формулу, используется ключевое слово «Math» и через точку указывается функция, например Pow, которая позволяет вычислять значения со степенью. Сначала указывается число, которое необходимо возвести в степень (х), затем сама степень. По аналогии не трудно разобраться с остальными функциями. Все вычисления сохраняем в переменную result и выводим её на экран, используя уже знакомую функцию WriteLine(). По умолчанию, при запуске программы, окно консоли сразу закроется после вычислений, чтобы этого не допустить, необходимо воспользоваться функцией Readkey(). Пример №2. Решение задачи. Задание: Вычислить периметр и площадь квадрата. Параметры фигуры ввести с клавиатуры. Исходный код программы: using System; namespace LinearAppTwo { class Program { static void Main(string[] args) { double sideSquare, perimeter, area = 0; Console.WriteLine("Введите сторону квадрата:"); sideSquare = Double.Parse(Console.ReadLine()); perimeter = 4 * sideSquare; area = Math.Pow(sideSquare, 2); Console.WriteLine("Периметр = " + perimeter + ", площадь = " + area); Console.ReadKey(); } } } Результат работы программы LinearAppTwo представлен на рисунке 4. Введите сторону квадрата: Периметр = 16, площадь = 16
Рисунок 4 – Результат работы программы LinearAppTwo
В первой строке функции Main объявляются и инициализируются значением ноль три переменные вещественного типа: sideSquare (хранения стороны квадрата), perimeter (хранение периметра квадрата), area(хранение площади квадрата). Затем на консоль выводится сообщение с просьбой ввода стороны квадрата, после чего оно сохраняется в переменную sideSquare. Далее по известным формулам вычисляется сначала периметр, а затем площадь квадрата. В данном примере площадь вычисляется при помощи функции возведения в степень Pow. Результат выводится на экран при помощи знакомой функции WriteLine(), а затем осуществляется задержка экрана функцией Readkey(). Пример №3. Составить линейную программу, печатающую значение true, если указанное высказывание является истинным, и false – в противном случае. Задание: Написать программу, определяющую равны ли площади двух равносторонних треугольников. Исходный код программы: using System; namespace LinearAppThree { class Program { static void Main(string[] args) { double sideFirstTriangle, sideSecondTriangle, areaFirstTriangle, areaSecondTriangle = 0; Console.Write("Введите сторону первого треугольника: "); sideFirstTriangle = Double.Parse(Console.ReadLine()); Console.Write("Введите сторону второго треугольника: "); sideSecondTriangle = Double.Parse(Console.ReadLine()); areaFirstTriangle = (Math.Sqrt(3) / 4) * Math.Pow(sideFirstTriangle, 2); Console.Write("Площадь первого треугольника = " + areaFirstTriangle + " "); areaSecondTriangle = (Math.Sqrt(3) / 4) * Math.Pow(sideSecondTriangle, 2); Console.Write("Площадь второго треугольника = " + areaSecondTriangle + " "); if (areaFirstTriangle == areaSecondTriangle) { Console.Write("Результат = True"); } else { Console.Write("Результат = False"); } Console.ReadKey(); } } } Два результата работы программы LinearAppThree представлены на рисунках 5 и 6. Введите сторону первого треугольника: 5 Введите сторону второго треугольника: 5 Площадь первого треугольника = 10,8253175473055 Площадь второго треугольника = 10,8253175473055 Результат = True
Рисунок 5 – результат работы программы true Введите сторону первого треугольника: 3 Введите сторону второго треугольника: 6 Площадь первого треугольника = 3,89711431702997 Площадь второго треугольника = 15,5884572681199 Результат = False
Рисунок 6 – результат работы программы false
Основная часть программы похожа на две предыдущие и не нуждается в комментариях. После вывода на экран результатов подсчёта площадей двух равносторонних треугольников задаётся условие, при помощи ключевого слова if. Двойное равно указывает на то, что происходит сравнение двух значений переменных. Если значение переменной areaFirstTriangle равно значению переменной areaSecondTriangle, то на экран выводится сообщение «Результат = True», иначе выводится сообщение «Результат = False». При выполнении лабораторной работы студенту необходимо решить все задания и оформить отчёт в Word. Варианты заданий для студентов определяет преподаватель. ЗАДАНИЯ
1. Разработать программу, вычисляющую значения выражений по двум формулам: 1. ; 2. ; 3. ; . 4. ; . 5. ; . 6. ; . 7. ; . 8. ; . 9. ; . 10. ; . 11. ; . 12. ; . 13. ; . 14. ; . 15. ; . 16. ; . 17. ; . 18. ; . 19. ; . 20. ;
2. Решить задачу: Вариант 1. Вычислить периметр и площадь прямоугольного треугольника по длинам а и b двух катетов. Вариант 2. Заданы координаты трёх вершин треугольника (x1, y1), (х2, y2), (x3, y3). Найти его периметр и площадь. Вариант 3. Вычислить длину окружности и площадь круга одного и того же заданного радиуса R. Вариант 4. Найти произведение цифр заданного четырёхзначного числа. Вариант 5. Даны два числа. Найти среднее арифметическое кубов этих чисел и среднее геометрическое модулей этих чисел. Вариант 6. Вычислить расстояние между двумя точками с данными координатами (x1, y1) и (x2, y2). Вариант 7. Дана длина ребра куба. Найти площадь грани, площадь полной поверхности и объём этого куба. Вариант 8. Дана сторона равностороннего треугольника. Найти площадь этого треугольника, его высоту, радиусы вписанной и описанной окружностей. Вариант 9. Известна длина окружности. Найти площадь круга, ограниченного этой окружностью. Вариант 10. Найти площадь кольца, внутренний радиус которого равен r, а внешний — R (R > r). Вариант 11. Треугольник задан величинами своих углов и радиусом описанной окружности. Найти стороны треугольника. Вариант 12. Найти площадь равнобедренной трапеции с основаниями а и b и углом α при большем основании а. Вариант 13. Найти площадь треугольника, две стороны которого равны а и b, а угол между этими сторонами γ. Вариант 14. Вычислить высоты треугольника со сторонами а, b, с. Вариант 15. Составить программу вычисления объёма цилиндра и конуса, которые имеют одинаковую высоту Н и одинаковый радиус основания R. Вариант 16. Определить, во сколько раз площадь круга радиуса R больше площади сегмента, отсечённого хордой длины А. Вариант 17. Найти частное произведений чётных и нечётных цифр четырёхзначного числа. Вариант 18. Задан вектор с координатами (х, у, z). Найти углы наклона этого вектора к координатным осям. Вариант 19. Найти площадь круга, вписанного в треугольник с заданными сторонами. Вариант 20. Окружность вписана в квадрат заданной площади. Найти площадь квадрата, вписанного в эту окружность. Во сколько раз площадь вписанного квадрата меньше площади заданного?
3. Составить линейную программу, печатающую значение true, если указанное высказывание является истинным, и false — в противном случае. Вариант 1. Сумма двух первых цифр заданного четырёхзначного числа равна сумме двух его последних цифр. Вариант 2. Сумма цифр данного трёхзначного числа N является чётным числом. Вариант 3. Квадрат заданного трёхзначного числа равен кубу суммы цифр этого числа. Вариант 4. Целое число N является чётным двузначным числом. Вариант 5. Треугольник со сторонами а, b, с является равносторонним. Вариант 6. Треугольник со сторонами a, b, с является равнобедренным. Вариант 7. Среди чисел а, b, сесть хотя бы одна пара взаимно противоположных. Вариант 8. Числа а и b выражают длины катетов одного прямоугольного треугольника, а с и d – другого. Эти треугольники являются подобными. Вариант 9. Данная тройка натуральных чисел а, b, с является тройкой Пифагора, т.е. c2 = a2 + b2. Вариант 10. Все цифры данного четырёхзначного числа N различны. Вариант 11. (x1, y1) и (х2, y2) – координаты левой верхней и правой нижней вершин прямоугольника. Точка А (х, у) принадлежит прямоугольнику. Вариант 12. Число с является средним арифметическим чисел а и b. Вариант 13. Натуральное число N является точным квадратом. Вариант 14. Цифры данного четырёхзначного числа N образуют строго возрастающую последовательность. Вариант 15. Цифры данного трёхзначного числа N являются членами арифметической прогрессии. Вариант 16. Цифры данного трёхзначного числа N являются членами геометрической прогрессии. Вариант 17. Данные числа с и d являются соответственно квадратом и кубом числа а. Вариант 18. Данное четырёхзначное число читается одинаково слева направо и справа налево. Вариант 19. В заданном натуральном трёхзначном числе N имеется чётная цифра. Вариант 20. Сумма каких-либо двух цифр заданного трёхзначного.
Вопросы для контроля
1. Для чего используется директива using? 2. Что называют ключевым словом? 3. Что называется комментарием? 4. Какая функция называется точкой начала выполнения программы? 5. Какой класс используется для работы с математическими функциями в пространстве имён System? 6. Назовите поля класса Math. 7. Назовите основные методы класса Math. 8. Что называют именем (идентификатором)? Приведите пример. 9. Перечислите типы констант. 10. Что такое «переменная»? 11. Приведите пример переменной целого типа. 12. Приведите пример переменной вещественного типа. 13. Что называют линейной программой?
Библиографический список
1. Биллиг В. А. Основы программирования на С# / В. А. Биллинг. – М.: Изд-во Интернет-университет информационных технологий – ИНТУИТ.ру, 2006. – 488 с. 2. Павловская Т. А. С#. Программирование на языке высокого уровня: учебник для вузов / Т. А. Павловская. – СПб.: Питер, 2009. – 432 с. 3. Шилдт Г. С#: учебный курс / Г. Шилдт. – СПб.: Питер, 2002. – 512 с. Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Хабаровская государственная академия экономики и права»
Кафедра информационных систем и технологий
Линейное программирование
Методические указания к выполнению лабораторной работы по дисциплине «Информатика и программирование» для студентов 1-го курса, обучающихся по направлению 09.03.03 «Прикладная информатика», профиль «Прикладная информатика в экономике» всех форм обучения
Первый проректор по учебной работе
___________________________________ И.Б.Миронова «_____» __________________________________2014 г. Рекомендовано к изданию редакционной комиссией ИБС Протокол № ______ от _____________________________ Председатель комиссии по
Обсуждено на заседании кафедры Информационных систем и технологий «_____» ___________________________________ 2014 г.
Завкафедрой ___________________________________________
Составители:
«_____» ____________________________________ 2014 г.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|