Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Цель работы: Сформировать навыки по решению задач, используя оператор выбора. Научиться выделять из множества вариантов решения задачи группы значений, объединенных одинаковыми условиями.
Пояснения и примеры к лабораторной работе
С помощью этого оператора можно выбрать один вариант из любого их количества. Структура этого оператора в Pascal:
case S of
C1: lnstruction1;
C2: lnstruction2;
. . .
CN: lnstructionN;
else
Instruction;
end;
В этой структуре:
S - выражение любого порядкового типа, значение которого вычисляется;
C1 ... CN - константы, с которыми сравнивается значение выражения S;
Рис. 1.1 Образец блок-схемы для оператора CASE
Instruction1 ... InstructionN - операторы, из которых выполняется тот, с константой которого совпадает значение выражения S;
Instruction - оператор, который выполняется, если значение выражения S не совпадает ни с одной из констант C1 ... CN.
Ветвь оператора else является необязательной, на рис. 1.1 ветвь А показывает направление передачи управления при отсутствии else, при его наличии эта ветвь отсутствует. Если она отсутствует, и значение выражения S не совпадет ни с одной из перечисленных констант, весь оператор рассматривается как пустой. В отличие от оператора IF перед словом else точку с запятой можно ставить, хотя это и необязательно. Перед завершающим словом end также можно ставить точку с запятой, а можно и не ставить.
Если для нескольких констант нужно выполнять один и тот же оператор, их можно перечислить через запятую (или даже указать диапазон, если возможно), сопроводив их одним оператором, например: 1, 5, 10 .. 20:
Пример 1.1: Ввести номер времени года и вывести соответствующее ему название на русском языке.
Таблица 1.1 Система тестов
Номер теста |
Данные |
Результат |
номер |
||
|
1 |
Зима |
|
3 |
Лето |
|
7 |
Ошибка |
Фрагмент блок-схемы алгоритма решения этой задачи смотри рис. 1.1
Листинг 1.1
var N:byte;
begin
Write (Введите номер времени года:); Readln(N);
case N of
1: WriteLn('Зима');
2: WriteLn('Весна');
3: WriteLn('Лето');
4: WriteLn('Осень');
Else WriteLn('Ошибка');
end;
end.
Пример 1.2: Ввести оценку в виде числа и вывести соответствующее ей название на русском языке.
Листинг 1.2
static void Main(string[] args)
{
Console.Write("Введите оценку:");
string Оценка;
int x = int.Parse(Console.ReadLine());
switch (x)
{
case 1:
Оценка = "Единица";
break;
case 2:
Оценка = "Двойка";
break;
case 3:
Оценка = "Тройка";
break;
case 4:
Оценка = "Четверка";
break;
case 5:
Оценка = "Пятерка";
break;
default: Оценка = "Ошибка";
break;
}
Console.WriteLine(Оценка);
Console.ReadKey();
}
Пример 1.3: Ввести возраст человека для определения его социального статуса.
Листинг 1.3
static void Main(string[] args)
{ string Статус="";
Console.Write("Введите возраст:");
int age = int.Parse(Console.ReadLine());
switch (age)
{
case 0:
Статус = "Школьник";
break;
case 1:
Статус = "Дошкольник";
break;
default:
if (age > 1 && age < 7) goto case 1;
else if (age > 6 && age < 18) goto case 0;
Статус = "Вечный студент";
break;
}
Console.WriteLine(Статус);
Console.ReadKey();
}
1. Написать программу, которая по номеру дня недели выдает в качестве результата количество уроков в вашем классе в этот день.
2. Написать программу, позволяющую по последней цифре числа определить последнюю цифру его квадрата.
3. Составить программу, которая по заданным году и номеру месяца m, определяет количество дней в этом месяце.
4. Для каждой введенной цифры (0 9) вывести соответствующее ей название на английском языке (0 zero, 1 one, 2 two,... ).
5. Составить программу, которая по данному числу (112) выводит название соответствующего ему месяца.
6. Составить программу, позволяющую получить словесное описание школьных отметок (1 «плохо», 2 «неудовлетворительно», 3 «удовлетворительно», 4 «хорошо», 5 «отлично»).
7. Пусть элементами круга являются радиус (первый элемент), диаметр (второй элемент) и длина окружности (третий элемент). Составить программу, которая по номеру элемента запрашивала бы его соответствующее значение и вычисляла бы площадь круга.
8. Пусть элементами прямоугольного равнобедренного треугольника являются:
1) катет а;
2) гипотенуза b;
3) высота h, опущенная из вершины прямого угла на гипотенузу;
4) площадь S.
Составить программу, которая по заданному номеру и значению соответствующего элемента вычисляла бы значение всех остальных элементов треугольника.
9. Написать программу, которая по номеру месяца выдает название следующего за ним месяца (при m = 1 получаем февраль, 4 май и т.д.).
10. Написать программу, которая бы по введенному номеру времени года (1 зима, 2 весна, 3 лето, 4 осень) выдавала соответствующие этому времени года месяцы, количество дней в каждом из месяцев.
11. В старояпонском календаре был принят 12-летний цикл. Годы внутри цикла носили названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи. Написать программу, которая вводит номер некоторого года и печатает его название по старояпонскому календарю.
(Справка: 1996 г. год Крысы начало очередного цикла.)
12. Для целого числа k от 1 до 99 напечатать фразу «Мне k лет», учитывая при этом, что при некоторых значениях k слово «лет» надо заменить на слово «год» или «года». Например, 11 лет, 22 года, 51 год.
13. Написать программу, которая бы по введенному номеру единицы измерения (1 дециметр, 2 километр, 3 метр, 4 миллиметр, 5 сантиметр) и длине отрезка L выдавала бы соответствующее значение длины отрезка в метрах.
14. Написать программу, которая по вводимому числу от 1 до 11 (номеру класса) выдает соответствующее сообщение «Привет, k-классник». Например, если k= 1, «Привет, первоклассник»; если k=4, «Привет, четвероклассник».
15. Написать программу, которая по введенному числу от 1 до 12 (номеру месяца) выдает все приходящиеся на этот месяц праздничные дни (например, если введено число 1, то должно получиться 1 января Новый год, 7 января Рождество).
16. Дано натуральное число N. Если оно делится на 4, вывести на экран ответ N=4k (где k соответствующее частное); если остаток от деления на 4 равен 1 N= 4k + 1; если остаток от деления на 4 равен 2 N= 4k + 2; если остаток от деления на 4 равен 3 - N= 4k + 3. Например, 12 = 4 • 3, 22 = 4 • 5 + 2.
17. Имеется пронумерованный список деталей: 1) шуруп, 2) гайка, 3) винт, 4) гвоздь, 5) болт. Составить программу, которая по номеру детали выводит на экран ее название.
18. Составить программу, позволяющую по последней цифре Данного числа определить последнюю цифру куба этого числа.
19. Составить программу, которая для любого числа (максимум 6 знаков) печатает количество цифр в записи этого числа.
20. Даны два действительных положительных числа Х и У. Арифметические действия над числами пронумерованы (1 сложение, 2 вычитание, 3 умножение, 4 деление). Составить программу, которая по введенному номеру выполняет то или иное действие над числами.
21. Написать программу, которая бы по введенному номеру единицы измерения (1 килограмм, 2 миллиграмм, 3 грамм, 4 -тонна, 5 центнер) и массе М выдавала бы соответствующее значение массы в килограммах.
22. Пусть элементами равностороннего треугольника являются:
1) сторона А 2) площадь S 3) высота H
4) радиус вписанной окружности R1 5) радиус описанной окружности R2
Составить программу, которая по заданному номеру и значению соответствующего элемента вычисляла бы значение всех остальных элементов треугольника.
23. Составить программу для определения подходящего возраста кандидатуры для вступления в брак, используя следующее соображение: возраст девушки равен половине возраста мужчины плюс 7, возраст мужчины определяется соответственно как удвоенный возраст девушки минус 14.
24. Напишите программу, которая читает натуральное число в десятичном представлении, а на выходе выдает это же число в десятичном представлении и на естественном языке. Например,
7 семь
204 двести четыре
52 пятьдесят два
25. Вычислить номер дня в невисокосном году по заданным числу и месяцу.
26. Определить по введенной букве к чему она относится английская заглавная буква, английская строчная буква, русская заглавная буква, русская строчная буква.
27. Определить по введенному символу к чему он относится: число, знак препинания, английская буква, русская буква, прочий символ.
28. По последней букве имени приблизительно определить пол человека.
29. По введенному объему данных на носителе (целое число) определить его тип: FD, CDR, DVD другой накопитель.
30. По введенному шестнадцатеричному значению определить соответствующий ему цвет: красный, синий, зеленый, желтый, маджента, белый, черный.