Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРАКТИЧ. РАБОТЫ.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.49 Mб
Скачать

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

К ВЫПОЛНЕНИЮ ПРАКТИЧЕСКИХ РАБОТ

ПО КУРСУ

«ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ»

Содержание

ПРАКТИЧЕСКАЯ РАБОТА № 1 3

ПРАКТИЧЕСКАЯ РАБОТА № 2 4

ПРАКТИЧЕСКАЯ РАБОТА № 3 7

ПРАКТИЧЕСКАЯ РАБОТА № 4 10

ПРАКТИЧЕСКАЯ РАБОТА № 5 11

ПРАКТИЧЕСКАЯ РАБОТА № 6 13

ПРАКТИЧЕСКАЯ РАБОТА № 7 16

ПРАКТИЧЕСКАЯ РАБОТА № 8 20

ПРАКТИЧЕСКАЯ РАБОТА № 9 23

ПРАКТИЧЕСКАЯ РАБОТА № 10 25

ПРАКТИЧЕСКАЯ РАБОТА № 12 30

ПРАКТИЧЕСКАЯ РАБОТА № 1

Тема: «Простейшие приемы программирования».

Цель: изучить способы построения простейших выражений на языке программирования С#, преобразование типов данных, рассмотреть основные методы классов Console, Convert, Math.

Ход работы:

Используя методические пособия еще раз рассмотрите темы: «Типы данных языка С#», «Выражения», «Класс Console», «Класс Convert», «Класс Math».

Рассмотрите примеры выполнения практической работы и выполните задания, соответствующие Вашему варианту.

Примеры выполнения практической работы:

I. Написать программу, которая подсчитывает периметр квадрата, площадь которого равна а.

static void Main()

{

//объявляем переменную для хранения числа, ее значение вводим с клавиатуры,

используем метод преобразования к вещественному типу данных

Console.Write("s= "); float s = float.Parse(Console.ReadLine());

double p = 4 * Math.Sqrt(s); //объявляем переменную и считаем значение

Console.WriteLine("p= {0}",p); //выводим на экран результат

Console.ReadKey(); //задеоживаем консоль, чтобы посмотреть результат

}

II. Написать программу, которая определяет максимальное значение для двух различных вещественных чисел.

static void Main()

{

//объявляем переменные, их значения вводим с клавиатуры, используем

метод преобразования к вещественному типу данных

Console.Write("a= "); float a = float.Parse(Console.ReadLine());

Console.Write("b= "); float b = float.Parse(Console.ReadLine());

//объявляем переменную max и с помощью тернарной операции передаем в нее

максимальное из двух чисел

float max=(a>b)?a:b;

Console.WriteLine("max=" + max); //выводим на экран результат

Console.ReadKey(); //задеоживаем консоль, чтобы посмотреть результат

}

Варианты зданий:

I. Написать программу, которая подсчитывает:

  1. Расстояние между точками с координатами a, b и с,d;

  2. Среднее геометрическое модулей двух данных чисел;

  3. Площадь и периметр прямоугольного треугольника по двум катетам a, b.

  4. Ребро куба, площадь полной поверхности которого равна s;

  5. Площадь и периметр треугольника, заданного координатами вершин x1, y1, x2, y2, x3, y3;

  6. Радиус окружности, длина которой равна l;

  7. Радиус окружности, площадь круга которой равна s;

  8. Площадь равнобедренной трапеции с основаниями a и b и углом  при большем основании;

  9. Площадь кольца с внутренним радиусом r1 и внешним r2;

  10. Радиус окружности, вписанной в равносторонний треугольник со стороной а;

  11. Радиус окружности, описанной около равностороннего треугольника со стороной а;

  12. Сумму членов арифметической прогрессии, если известен ее первый член, разность и число членов прогрессии;

  13. Сумму членов геометрической прогрессии, если известен ее первый член, знаменатель и число членов прогрессии.

II. Написать программу, которая определяет:

  1. если целое число М делится на целое число N, то на экран выводится частное от деления, в противном случае выводится сообщение «M на N нацело не делится»;

  2. имеет ли уравнение ax2+bx+c=0 решение, где a, b, c – данные вещественные числа;

  3. какая из цифр двухзначного числа больше: первая или вторая;

  4. является ли сумма цифр трехзначного числа нечетной;

  5. кратна ли числу А сумма цифр двухзначного числа;

  6. какая из цифр трехзначного числа больше: первая или последняя;

  7. какая из цифр трехзначного числа больше: первая или вторая;

  8. какая из цифр трехзначного числа больше: вторая или последняя;

  9. все ли цифры трехзначного числа одинаковые;

  10. существует ли треугольник с длинами сторон a, b, c;

  11. является ли треугольник с длинами сторон a, b, c прямоугольным;

  12. является ли треугольник с длинами сторон a, b, c равнобедренным;

  13. является ли треугольник с длинами сторон a, b, c равносторонним.

Практическая работа № 2

Тема: «Операторы языка С#».

Цель: научиться работать с условными операторами и операторами цикла в среде С#.

Ход работы:

Используя методические пособия еще раз рассмотрите тему: «Выражения и операторы языка C#».

Рассмотрите примеры выполнения практической работы и выполните задания, соответствующие Вашему варианту.

Примеры выполнения практической работы:

I. Дана точка на плоскости с координатами (х, у). Составить программу, которая выдает одно из сообщений «Да», «Нет», «На границе» в зависимости от того, лежит ли точка внутри заштрихованной области, вне заштрихованной области или на ее границе.

static void Main()

{

//объявляем переменные Х и У, их значения вводим с клавиатуры

Console.Write("x="); float x = float.Parse(Console.ReadLine());

Console.Write("y="); float y = float.Parse(Console.ReadLine());

//проверяем находится ли точка (х, у) внутри закташенной области

if (x * x + y * y < 9 && y > 0)

Console.WriteLine("внутри");

else

//проверяем находится ли точка (х, у) вне закташенной области или лежит на гренице

if (x * x + y * y > 9 || y < 0)

Console.WriteLine("вне");

else

Console.WriteLine("на границе");

//задеоживаем консоль, чтобы посмотреть результат

Console.ReadKey();

}

II. Дан порядковый номер дня недели, вывести на экран его название.

static void Main()

{

//объявляем переменную и вводим ее значения с клавиатуры

Console.Write("n="); int n = int.Parse(Console.ReadLine());

switch (n)

{

case 1: Console.WriteLine("понедельник"); break;

case 2: Console.WriteLine("вторник"); break;

case 3: Console.WriteLine("среда"); break;

case 4: Console.WriteLine("четверг"); break;

case 5: Console.WriteLine("пятница"); break;

case 6: Console.WriteLine("суббота"); break;

case 7: Console.WriteLine("воскресенье"); break;

default: Console.WriteLine("ВЫ ОШИБЛИСЬ"); break;

}

//задеоживаем консоль, чтобы посмотреть результат

Console.ReadKey();

}

III. Вывести на экран целые числа 1, 3, 5, …, 21 в строчку через пробел.

static void Main()

{

//объявляем переменную и вводим ее значения с клавиатуры

Console.Write("n="); byte n = byte.Parse(Console.ReadLine());

//выводим на экран целые числа 1, 3, 5, …, 21 с помощью цикла while

Console.Write("while: "); int i = 1;

while (i <= n)

{ Console.Write(" " + i); i += 2; }

//выводим на экран целые числа 1, 3, 5, …, 21 с помощью цикла do while

Console.Write("do while: "); i = 1;

do { Console.Write(" " + i); i += 2; } while (i <= n);

//выводим на экран целые числа 1, 3, 5, …, 21 с помощью цикла for

Console.Write("For: "); for (i = 1; i<=n; i+=2) Console.Write(" " + i);

//задеоживаем консоль, чтобы посмотреть результат

Console.ReadKey();

}

IV. Вывести на экран числа следующим образом:

1

1

1

1

1

1

2

2

2

2

2

2

3

3

3

3

3

3

4

4

4

4

4

4

static void Main()

{

for (int i = 1; i<=4; ++i)

{

for(int j=1; j<=6; ++j) Console.Write(" " + i);

Console.WriteLine();

}

//задеоживаем консоль, чтобы посмотреть результат

Console.ReadKey();

}

Варианты заданий:

I. Дана точка на плоскости с координатами (х, у). Составить программу, которая выдает одно из сообщений «Да», «Нет», «На границе» в зависимости от того, лежит ли точка внутри заштрихованной области, вне заштрихованной области или на ее границе.

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

II. Составить программу.

Замечание. При решении данных задач, возможно, использовать оператор switch или вложенные операторы if.

  1. Дан порядковый номер месяца, вывести на экран количество месяцев оставшихся до конца года.

  2. Дан порядковый номер дня месяца, вывести на экран количество дней оставшихся до конца месяца.

  3. Дан номер масти m (1 ≤ m ≤ 4), определить название масти. Масти нумеруются: «пики» - 1, «трефы» - 2, «бубны» - 3, «червы» - 4.

  4. Дан номер карты k (6  k  14), определить достоинство карты. Достоинства определяются по следующему правилу: «туз» - 14, «король» - 13, «дама» - 12, «валет» - 11, «десятка» - 10, …, «шестерка» - 6.

  5. Дан номер масти m (1 ≤ m ≤ 4) и номер достоинства карты k (6 ≤ k ≤ 14). Определить полное название соответствующей карты в виде «дама пик», «шестерка бубен» и т.д.

  6. С 1 января 1990 года по некоторый день прошло n дней, определить название текущего месяца.

  7. С некоторой даты по настоящий день прошло m месяцев, определить название месяца неизвестной даты.

  8. Дано расписание приемных часов врача. Вывести на экран приемные часы врача в заданный день недели (расписание придумать самостоятельно).

  9. Проведен тест, оцениваемый в целочисленный баллах от нуля до ста. Вывести на экран оценку тестируемого в зависимости от набранного количества баллов: от 90 до 100 – «отлично», от 70 до 89 – «хорошо», от 50 до 69 – «удовлетворительно», менее 50 – «неудовлетворительно».

  10. Дан год. Вывести на экран название животного, символизирующего заданный год по восточному календарю.

  11. Дан возраст человека мужского пола в годах. Вывести на экран возрастную категорию: до года – «младенец», от года до 11 лет – «ребенок», от 12 до 15 лет – «подросток», от 16 до 25 лет – «юноша», от 26 до 70 лет – «мужчина», более 70 лет – «старик».

  12. Дан номер телевизионного канала. Вывести на экран наиболее популярные программы заданного канала.

  13. Дан признак геометрической фигуры на плоскости: к – круг, п – прямоугольник, т - треугольник. Вывести на экран периметр и площадь заданной фигуры (данные, необходимые для расчетов, запросить у пользователя).

III. Вывести на экран.

Замечание. Решите каждую задачу тремя способами – используя операторы цикла while, do while и for.

  1. Таблицу соответствия между весом в фунтах и весом в килограммах для значений 1, 2, 3, …, 10 фунтов (1 фунтов = 453г).

  2. Таблицу перевода 5, 10, 15, …, 120 долларов сша в рубли по текущему курсу (значение курса вводится с клавиатуры).

  3. Таблицу стоимости для 10, 20, 30,…, 100 штук товара, при условии, что одна штука товара стоит х руб (значение х водится с клавиатуры).

  4. Таблицу перевода расстояний в дюймах в сантиметры для значений 2, 4, 6, …, 12 дюймов (1 дюйм = 25.4 мм).

  5. Все целые числа из диапазона от а до в (а≤в), оканчивающиеся на цифру х.

  6. Все целые числа из диапазона от а до в (а≤в), оканчивающиеся на цифру х или у.

  7. Все целые числа из диапазона от а до в (а≤в), оканчивающиеся на любую четную цифру.

  8. Только положительные целые числа из диапазона от а до в (а≤в).

  9. Все четные числа из диапазона от а до в, кратные трем (а≤в).

  10. Все двухзначные числа, в записи которых все цифры разные.

  11. Все двухзначные числа, в которых старшая цифра отличается от младшей не больше чем на 1.

  12. Все трехзначные числа, которые начинаются и заканчиваются на одну и ту же цифру.

  13. Все трехзначные числа, в которых хотя бы две цифры повторяются.

IV. Вывести на экран числа следующим образом:

1.

1

2

3

10

1

2

3

10

1

2

3

10

1

2

3

10

1

2

3

10

2.

-10

-9

-9

12

-10

-9

-9

12

-10

-9

-9

12

-10

-9

-9

12

-10

-9

-9

12

3.

41

42

43

50

51

52

53

60

61

62

63

70

71

72

73

80

81

82

83

90

4.

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5

5.

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

6.

1

2

2

3

3

3

4

4

4

4

5

5

5

5

5

7.

6

6

6

6

6

7

7

7

7

8

8

8

9

9

10

8.

7

6

6

5

5

5

4

4

4

4

3

3

3

3

3

9.

1

1

2

1

2

3

1

2

3

4

1

2

3

4

5

10.

1

2

1

3

2

1

4

3

2

1

5

4

3

2

1

11.

4

3

2

1

0

3

2

1

0

2

1

0

1

0

0

12.

4

3

2

1

0

3

2

1

0

2

1

0

1

0

0

13.

9

9

9

9

9

7

7

7

7

5

5

5

3

3

1