1. Разработайте собственный простой проект, сохраните его и продемонстрируйте работу с ним (1 балл).
2. Из своего проекта сохраните только файл с исходным текстом программы (с расширением cs). Создайте новый проект и включите в него текст сохраненного файла (1 балл).
Лабораторная работа № 2.
Отладка программ в среде Visual C#.
Цель работы: Знакомство с системой отладки среды программирования Visual Studio 2005 на примере задач, решаемых с помощью линейных алгоритмов.
Продолжительность работы: 2 часа.
Оценка в баллах: минимум – 1, максимум – 2.
Условие задачи.
Из пункта А в пункт В выехали навстречу друг другу два велосипедиста. Скорость первого – V1 км/ч, скорость второго – V2 км/ч. Найти путь, который преодолеет каждый велосипедист до встречи, если расстояние между А и В известно.
Анализ условия задачи.
Для нахождения алгоритма решения задачи построим чертеж.
V1 км/ч V2 км/ч
![]() | ![]() |
А С В
Точка С – это место встречи. Очевидно, что до момента встречи каждый велосипедист будет в пути одинаковое время. Пусть это будет время T. Тогда путь, который преодолеет первый велосипедист, вычисляется по формуле: S1=V1 * T. Для второго велосипедиста справедлива такая формула: S2=V2 * T. Если весь путь обозначить как S, то S=S1+S2 или
S=V1*T+V2*T=T*(V1+V2). Следовательно:
Тогда, S1 и S2 можно легко рассчитать по ранее приведенным формулам:
Исполнение программы.
Попробуем для решения задачи использовать следующий текст:
double V1, V2, S, S1, S2, T;
Console.WriteLine("Скорость первого=");
V1 = Console.ReadLine();
Console.WriteLine("Скорость второго=");
V2 = Console.ReadLine();
Console.WriteLine("Расстояние=");
S = Console.ReadLine();
T = S / (V1 - V2);
S1 = V1 * T;
S2 = V2 * T;
Console.WriteLine("Путь первого= " + S1);
Console.WriteLine("Путь второго= " + S2);
Создайте проект и скопируйте текст этот в вашу программу. Давайте внимательно рассмотрим текст. В программе объявляются шесть вещественных переменных удвоенной точности. Это понятно: мы будем работать с числами. С клавиатуры вводятся три значения – две скорости и расстояние. Затем производится вычисление общего времени и пройденных путей. Полученные значения выводятся на экран. Как будто бы все верно и логично. Но как это смотрится с точки зрения синтаксиса языка C#? Выполним компиляцию.
Увы, по итогам компиляции мы получили три ошибки. Все с одинаковым сообщением : Cannot implicitly convert type 'string' to 'double'. При дословном переводе имеем: «не могу преобразовать тип строка в тип вещественный ». Надо сказать, что подобные сообщения характерны для программирования в среде C#. Язык очень чувствителен к правильности использования типов данных. В нашем случае мы очень вольно поступили с методом ReadLine. Он позволяет вводить с клавиатуры строки, а мы пытаемся присвоить введенную строку вещественной переменной. Значит, после ввода строки ее надо преобразовать в вещественный тип и лишь потом присваивать.
Поступим так. Объявим в программе строковую переменную temp и будем в нее вводить данные с клавиатуры. Сразу после ввода сделаем преобразование в число и выполним присваивание. Получим такой текст:
double V1, V2, S, S1, S2, T;