Программирование алгоритмов линейной структуры
Подготовка к работе 1. По указанной литературе изучить: – запись констант, переменных, функций на языке C#; – правила записи арифметических выражений на языке C#; – арифметические операторы присваивания; – организацию простейшего ввода-вывода данных. 2. Разработать алгоритмы решения задач в соответствии с заданием. 3. Составить программы решения задач.
Контрольные вопросы 1. Что включает в себя алфавит C#? 2. Перечислите операции, производимые в C#? 3. Что понимается под идентификаторами и, каковы требования к ним? 4. Какие типы данных используются в C#? 5. Охарактеризуйте целые типы данных в C#? 6. Охарактеризуйте вещественные типы данных в C#? 7. Дать понятие логического, символьного и строкового типа данных. 8. Какова структура программы на языке C# под консольным приложением? Зачем отдельные слова программы отображаются разным цветом? 9. Где и как описываются константы, переменные и типы данных? 10. Перечислите основные стандартные функции в C#? 11. Какова последовательность действий при выполнении оператора присвоения? 12. Перечислите приоритетность выполнения операций в выражениях. 13. Методы вывода Console.Write() и Console.WriteLine(). Пояснить на примерах форматированный вывод данных. 14. Как организовать пропуск одной и более строк при выводе данных? 15. Как сделать, чтобы окно пользователя открывалось для получения конечного результата?
Задание и порядок выполнения работы 1. Задача 1. Создать проект – консольное приложение, которое по заданным расчетным формулам и наборам исходных данных, указанных в табл. 2.1, вычисляет значения соответствующих переменных. На экран вывести результаты расчетов, сопровождая их вывод именами выводимых переменных. Решение задачи должно состоять из блок-схемы алгоритма и реализующей его программы, снабженной пояснениями.
Таблица 2.1
2. Составить блок-схему решения поставленной задачи. 3. Написать и ввести программу в редактор кода под консольное приложение (Файл\ Создать проект \Консольное приложение \ОК), сохранить его в папке Р21 под именем Z1 (D:\ Temp\...\ P2\Р21\ Z1. scproj). 4. Запустить проект, используя команду Отладка\Начать отладку. 5. Проанализировать полученный результат на соответствие поставленной задаче. 6. Задача 2. Создать консольное приложение, в котором в диалоговом режиме ИСР Visual Studio 2010 Express запрашивает у Вас имя пользователя и номер группы обучения, а Вы отвечаете своими реквизитами. Например: Ваше имя Михаил Ваша группа МТС-01 После выполнения программы результаты в окне пользователя должны быть выведены в следующем виде: Ваше имя Михаил Ваша группа МТС-01 Мое имя Михаил Моя группа ПИЭ-90 7. Добавить строки кода, в которых программа Вас приветствует (например, Привет Михаил!) и отмечает, что группа (например, МТС-01) замечательная. 8. Ввести программу в редактор кода под консольное приложение, сохранить его в папке Р2_2 под именем Z2 (D:\Temp\ …\Р2\P22\Z2.scproj), запустить на исполнение. 9. Проанализировать результат на соответствие поставленной задаче. 10. Cкопировать папки P21 и P22 с их содержимым на свою Flash-память. 11. Завершить работу и подготовить отчет, в котором отразить условие задачи, алгоритмическую блок-схему, код проекта и результаты решения по каждой задаче.
Методические указания по выполнению задания Пример выполнения задачи 1. Вычислить значение переменных y и p, используя расчетные формулы: , где а = 0.59, z = -4.8, x = 2.1
Величины a, z, x являются вещественными числами, их значения заранее определены условием задачи, поэтому их можно объявить в программе как константы типа double с присвоением им их заданных значений. Переменные y и p необходимо рассчитать, поэтому они с учетом значений входных данных объявляются как переменные того же типа double, но со стартовой нулевой инициализацией. При написании выражения на языке C#, используются скобки(), операнды, операторы и стандартные функции. Для написания стандартной функции (табл. 2.2) используется класс платформ Math. Например, Math.Sin(x), Math.Pow(x,2), Math.Log(x+1). Блок-схема алгоритма поставленной задачи приведена на рис. 2.1, а программа ее решения ниже: using System; … namespace ConsoleApplication1 { class Program { static void Main(string[] args) { const double x = 2.1, a = 0.59, z = -4.8; double y = 0, p = 0; y = a * Math.Pow(Math.Tan(x * x), 3) + Math.Sqrt(z * z / (a * a + x * x)); p = Math.Log(a + x * x) + Math.Pow(Math.Sin(z / a), 2); Console.WriteLine("Результаты"); Console.WriteLine(); Console.Write("y="); Console.WriteLine(y.ToString()); //формат вывода по умолчанию Console.WriteLine(); Console.WriteLine("p={0:E}",p); //экспоненциальный формат вывода переменной Console.WriteLine(); Console.WriteLine("y={0,5:f} p={1,5:f}", y, p); //фиксированный формат вывода переменных Console.WriteLine("Нажми клавишу Enter"); Console.ReadKey(); } } } Результаты выполнения задачи1: Замечания. В программе предусмотрен вывод вещественных переменных в разных форматах. В отдельной строке переменная y отображается в формате, установленном по умолчанию. Переменная p – в экспоненциальном формате. В одной строке переменные y и p представлены в формате, который отображает при выводе на печать 5 символов, 2 из которых отведены для дробной части (F). Задача 2. В диалоговом режиме ввести свое Имя и группу и вывести результат на экран. Здесь используются строковые переменные n и g типа string и методы Write(), WriteLine(). using System; ... using System.Text;
namespace ConsoleApplication1 { class Program { static void Main(string[] args) { string n = " ", g = " "; Console.WriteLine("Запрос"); Console.Write("Ваше имя "); n=" Ирина"; Console.WriteLine(n); Console.Write("Ваша группа "); g=" ПИЭ-01"; Console.WriteLine(g); Console.WriteLine(); Console.WriteLine("Ответ:"); Console.WriteLine("Мое имя " + n); Console.WriteLine("Моя группа " + g); Console.WriteLine("Нажми клавишу Enter"); Console.ReadKey(); } } } В приведенную программу добавить строки приветствия (например, Привет Ирина!) и поощрение группы (например, группа ПИЭ-01 замечательная!). Результаты выполнения задачи2: Основные стандартные функции приведены в табл. 2.2. Таблица 2.2
Приоритетность операций в выражениях: 1. Вычисления в ( ) // Сначала вычисления в самых внутренних () 2. ! унарные + / - // Отрицание операнда и добавление унарного +/- 3. * / // Операции типа умножения * / 4. + - // Операции типа сложения + - 5. < > <= >= == ! = // Операции типа сравнения 6. & // Операция логического умножения И 7. | // Операции логического сложения ИЛИ В консольном приложении используется одно окно. Вывод результата осуществляется методами Write, WriteLine, а чтение результата – ReadKey(). Console.Write(" ") – вывод в строку текстовой информации. Следующий вывод будет продолжен в этой же строке. Console.Write(" " + z) – вывод текстовой строки и значения переменной z. Console.WriteLine(y,z) – вывод значений переменных y и z в формате по умолчанию, но по завершении осуществляется переход к следующей строке. Console.WriteLine("{0,8:E}", x) – форматный вывод значения x. Где 0 – номер вывода переменной, 8 – число позиций для отображения числа x, E, ображениютображению числаачения переменной – экспоненциальный формат данных (6 символов после запятой в отображении числа); Console.WriteLine ("{0,6:F}{1,6:F}", x, y) – вывод двух значений: сначала x (0), а затем y (1), с шести позиционным отображением чисел и двумя (F) символами после запятой. Console.WriteLine() – пропуск одной строки при выводе. Console.ReadKey() – чтение результата (пауза). Популярное: Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас... Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней... Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (241)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |