15 / 11 / 11
Регистрация: 25.01.2014
Сообщений: 28
1

Сборник задач на множественный выбор (Case; If... Then If...)

28.01.2014, 21:35. Показов 47377. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я столкнулся с тем, что у многих людей задачи одинаковые, и многие ищут решения в Интернете, тем самым убивая время на поиски. Вот и решил объединить их и разместить в одной теме. (В первую очередь эта тема для студентов.) Тут, наверняка, будет не всё, но думаю, что буду и дальше их добавлять.
Задачи:
1. Дан номер месяца (1 – январь, 2 – февраль, ...). Вывести название соответствующего времени года («зима», «весна» и т. д.).

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Program task1;
var n:integer;
Begin
Writeln;
writeln('Программа вводит номер месяца(1-Январь,2-Февраль ну и т.д.) и выводит название ссответствующего времени года(Зима,Весна,Лето и Осень.).');
Writeln;
Writeln('1-Январь,2-февраль,3-март,4-апрель,5-май,6-июнь,7-июль,8-август,9-сентябрь,10-октябрь,11-ноябрь,12-декабрь.');
Writeln;
writeln('Номер месяца -->');readln(n);
if (n>=1) and (n<=12) then
Begin
Write(n,' ');
case n of
12,1,2:write('Зима');
3,4,5:write('Весна');
6,7,8:write('Лето');
9,10,11:write('Осень');
end;
end
else writeln('Ошибка ввода данных!');
end.


2.Дан номер месяца (1 – январь, 2 – февраль, ...). Вывести число дней в этом месяце для невисокосного года (т. е. в феврале 28 дней)

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Program task2;
var n:integer;
Begin
Writeln;
writeln('Программа вводит номер месяца(1-Январь,2-Февраль ну и т.д.) и выводит  число дней в этом месяце для невисокосного года (т.д.в феврале 28 дней)');
Writeln;
Writeln('1-Январь,2-февраль,3-март,4-апрель,5-май,6-июнь,7-июль,8-август,9-сентябрь,10-октябрь,11-ноябрь,12-декабрь.');
Writeln;
writeln('Номер месяца -->');readln(n);
if (n>=1) and (n<=12) then
Begin
Write(' ');
case n of
1,3,5,7,8,10,12:write('31 дней в месяце.');
4,6,9,11:write('30 дней в месяце.');
2:write('28 дней в месяце.');
end;
end
else writeln('Ошибка ввода данных!');
end.


3.Дано целое число в диапазоне от 0 до 9. Вывести строку – название соотвествующей цифры на русском языке (0 – «ноль», 1 – «один», 2 – «два», ...)

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Program task3;
var n:integer;
Begin
Writeln;
writeln('Программа вводит целое число от 0 до 9 и выводит строку-название соответсвующей цифры на рус.яз.(0-"ноль",1-"одинь" и т.д). ');
Writeln;
writeln('Введите число -->');readln(n);
if (n>=0) and (n<=9) then
Begin
Write('');
case n of
0:write('ноль.');
1:write('один.');
2:write('два.');
3:write('три.');
4:write('четыре.');
5:write('пять.');
6:write('шесть.');
7:write('семь.');
8:write('восемь.');
9:write('девять.');
end;
end
else writeln('Ошибка ввода данных!');
end.


4.Дано целое число в диапазоне от 1 до 5. Вывести строку – словесное описание соответствующей оценки (1 – «плохо», 2 – «неудовлетворительно», 3 – «удовлетворительно», 4 – «хорошо», 5 – «отлично»)

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Program task4;
var n:integer;
Begin
Writeln;
writeln('Программа вводит целое число от 1 до 5 и выводит строку-словесное описание соответствующей оценки(,1-"Плохо",2-"Неудовлетворительно" и т.д.). ');
Writeln;
writeln('Введите число -->');readln(n);
if (n>=1) and (n<=5) then
Begin
Write(n,'-');
case n of
1:write('Плохо');
2:write('Неудовлетворительно');
3:write('Удовлетворительно');
4:write('Хорошо');
5:write('Отлично');
end;
end
else writeln('Ошибка ввода данных!');
end.


5.Арифметические действия над числами пронумерованы следующим образом: 1 – сложение, 2 – вычитание, 3 – умножение, 4 – деление. Дан номер действия и два числа A и B (В не равно нулю). Выполнить над числами указанное действие и вывести результат

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
program task6;
 
var
  x: Integer;
  A, B: Real;
 
begin
  Writeln;
  Writeln('Арифметические действия над числами пронумерованы следующим образом:1–сложение,2–вычитание,3-умножение,4–деление.Дан номер действия и два числа A и B (В не равно нулю).Выполнить над числами указанное действие и вывести результат.'
  WriteLn('Введите А и В');ReadLn(A,B);
  WriteLn('Введите действие:');ReadLn(x); 
  case x Of
    1: WriteLn('Сложение.Результат:', A + B);
    2: WriteLn('Вычитание.Результат:', A - B);
    3: WriteLn('Умножение.Результат:', A * B);
    4: WriteLn('Деление.Результат:', A / B);
  End;
end.


6.Единицы длины пронумерованы следующим образом: 1 – дециметр, 2 – километр, 3 – метр, 4 – миллиметр, 5 – сантиметр. Дан номер единицы длины и длина отрезка L в этих единицах (вещественное число). Вывести длину данного отрезка в метрах

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
program task6;
 
var
  x: real;
  n: integer;
Begin
Writeln;
writeln('Единицы длины пронумерованы следующим образом:1–дециметр,2–километр,3–метр,4–миллиметр,5–сантиметр.Дан номер единицы длины и длина отрезка L в этих единицах(вещественное число).Вывести длину данного отрезка в метрах.');
Writeln;
begin
  writeln('Введите длину отрезка L -->');readln(x);
  writeln('Введите единицу длины -->');readln(n);
  case n of
    1: Writeln('В дециметрах.Результат: ',x/10);
    2: Writeln('В километрах.Результат: ',x*1000);
    3: Writeln('В метрах.Результат: ',x);
    4: Writeln('В милиметрах.Результат: ',x/1000);
    5: Writeln('В Сантиметрах.Результат: ',x/100);  
  end;
end
End.


7. Единицы массы пронумерованы следующим образом: 1 – килограмм, 2 – миллиграмм, 3 – грамм, 4 – тонна, 5 – центнер. Дан номер единицы массы и масса тела M в этих единицах (вещественное число). Вывести массу данного тела в килограммах

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
program task7;
 
var
  x: real;
  n: integer;
Begin
Writeln;
writeln('Единицы массы пронумерованы следующим образом:1–килограмм,2–милиграмм,3–грамм,4–тонна,5–центнер.Дан номер единицы массы и масса тела M в этих единицах(вещественное число).Вывести массу данного тела в килограммах.');
Writeln;
begin
  writeln('Введите массу тела М -->');readln(x);
  writeln('Введите единицу массы -->');readln(n);
  case n of
    1: Writeln('В килограммах.Результат: ',x);
    2: Writeln('В миллиграммах.Результат: ',x/1000000);
    3: Writeln('В граммах.Результат: ',x/1000);
    4: Writeln('В тоннах.Результат: ',x*1000);
    5: Writeln('В центнерах.Результат: ',x*100);  
  end;
end
End.


8.Составить программу, которая по возрасту человека (вводится с клавиатуры как целое число) определяет его принадлежность к возрастной группе: от 0 до 13 – мальчик; от 14 до 20 – юноша; от 21 до 70 – мужчина;более 70 – старец

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
program task8;
 
var
x:integer;
 
Begin
Writeln;
writeln('Составить программу,которая по возрасту человека(вводится с клавиатуры как целое число)определяет его принадлежность к возрастной группе:от 0 до 13–мальчик;от 14 до 20–юноша;от 21 до 70-мужчина;более 70-старец.');
Writeln;
write('Введите Ваш возраст -->');readln(x);
if (x>=0) and (x<=100) then
Begin
Write(x,'-');
  case x of 
    0..13: Write('мальчик');
    14..20: Write('юноша');
    21..69: Write('мужчина');
    70..100:Write('старец');
end;
end
else writeln('Ошибка ввода!');
End.


9.Локатор ориентирован на одну из сторон света («С» – север, «З» – запад, «Ю» – юг, «В» – восток) и может принимать одну из трех цифровых команд:-1 – поворот налево, 1 – поворот направо, 2 – поворот на 180 градусов. Дан символ C – исходная ориентация локатора и число N – посланная ему команда.
Вывести ориентацию локатора после выполнения команды

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
program task9;
 
var
n:integer;
 
Begin
Writeln;
writeln('Локатор ориентирован на одну из сторон света («С»–север,«З»–запад,«Ю»–юг,«В»–восток)и может принимать одну из трех цифровых команд:1–поворот налево,2–поворот направо,3–поворот на 180 градусов.Дан символ C–исходная ориентация локатора и число N–посланная ему команда.Вывести ориентацию локатора после выполнения команды.');
Writeln;
write('Введите команду -->');readln(n);
Begin
Write(n,'-');
  case n of 
    1: Write('Запад');
    2: Write('Bосток');
    3: Write('Юг');
    
end
end;
end.


10. Элементы окружности пронумерованы следующим образом: 1 – радиус (R), 2 – диаметр (D), 3 – длина (L), 4 – площадь круга (S). Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данной окружности (в том же порядке). В качестве значения π использовать стандартную константу Pi.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
program task10;
const p=3.14;
var 
r,d,l,s:real;
c:char;
begin
Writeln;
writeln('Элементы окружности пронумерованы следующим образом:1–радиус(R),2–диаметр(D),3–длина(L),4–площадь круга(S).Дан номер одного из этих элементов и его значение.Вывести значения остальных элементов данной окружности(в том же порядке).В качестве значения π использовать стандартную константу Pi.');
repeat
writeln('Выберите параметр:');
writeln('1-радиус');
writeln('2-диаметр');
writeln('3-длина окружности');
writeln('4-Площадь круга');
readln(c);
case c of
'1':begin
    write('Введите радиус r=');
    readln(r);
    writeln('Диаметр=',2*r:0:2);
    writeln('Длина окружности=',2*p*r:0:2);
    writeln('Площадь круга=',p*r*r:0:2);
    readln;
    end;
'2':begin
    write('Введите диаметр d=');
    readln(d);
    writeln('Радиус=',d/2:0:2);
    writeln('Длина окружности=',p*d:0:2);
    writeln('Площадь круга=',p*d*d/4:0:2);
    readln;
    end;
'3':begin
    write('Введите длину окружности l=');
    readln(l);
    writeln('Радиус=',l/(2*p):0:2);
    writeln('Диаметр=',l/p:0:2);
    writeln('Площадь=',l*l/(4*p):0:2);
    readln;
    end;
'4':begin
    write('Введите площадь s=');
    readln(s);
    writeln('Радиус=',sqrt(s/p):0:2);
    writeln('Диаметр=',2*sqrt(s/p):0:2);
    writeln('Длина окружности=',2*sqrt(s*p):0:2);
    readln;
    end;
else exit;
end;
until not(c in ['1'..'4']);
end.


11. Элементы равнобедренного прямоугольного треугольника пронумерованы следующим образом: 1 – катет (a), 2 – гипотенуза (c), 3 – высота, опущенная на гипотенузу (h), 4 – площадь (S). Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данного треугольника (в том же порядке).

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
program task11;
var
  x: byte;
  a,c,h,S:real;
 
begin
Writeln;
writeln('Элементы равнобедренного прямоугольного треугольника пронумерованы следующим образом:1–катет(a),2–гипотенуза(c),3–высота,опущенная на гипотенузу(h),4–площадь(S).Дан номер одного из этих элементов и его значение.Вывести значения остальных элементов данного треугольника(в том же порядке).');
 
  writeln(' Введите:');
  writeln(' 1-катет;');
  writeln(' 2-гипотенуза;');
  writeln(' 3-высота;');
  writeln(' 4-площадь.');
  readln(x); 
 
 case x of
    1: begin
         writeln('катет. Введите его значение:');
         write('  a = ');
         readln(a) 
       end;
    2: begin
         writeln('гипотенуза. Введите её значение:');
         write('  с = ');
         readln(c) 
       end;
    3: begin
         writeln('высота. Введите её значение:');
         write('  h = ');
         readln(h) 
       end;
    4: begin
         writeln('площадь. Введите её значение:');
         write('  S = ');
         readln(S) 
       end         
  end; 
 
  case x of
    1: begin 
         writeln(' гипотенуза: c = ', a * sqrt(2):7:4);
         writeln(' высота: h = ', (a * sqrt(2) / 2):7:4);
         writeln(' площадь: S = ', sqr(a) / 2) 
       end;
    2: begin 
         writeln(' катет: a = ', (c * sqrt(2) / 2):7:4);
         writeln(' высота: h = ', c / 2);
         writeln(' площадь: S = ', sqr(c) / 4)
       end;
    3: begin 
         writeln(' катет: a = ', (h * sqrt(2)):7:4);
         writeln(' гипотенуза: c = ', 2 * h);
         writeln(' площадь: S = ', sqr(h)) 
       end;
    4: begin 
         writeln(' катет: a = ', (sqrt(2 * S)):7:4);
         writeln(' гипотенуза: c = ', (2 * sqrt(S)):7:4);
         writeln(' высота: h = ', (sqrt(S)):7:4)
       end         
  end 
end.


12. Даны два целых числа: D (день) и M (месяц), определяющие правильную дату невисокосного года. Вывести значения D и M для даты, предшествующей указанной (например, дано D=1 M=1, надо вывести D=31 M=12; дано D=1 M=3 надо вывести D=28 M=2; дано D=15 M=12 надо вывестиD=14 M=12)

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
program task12;
var
 D,M:integer;
begin
Writeln;
writeln('Даны два целых числа: D (день) и M (месяц), определяющие правильную дату невисокосного года.Вывести значения D и M для даты,предшествующей указанной(например,дано D=1 M=1, надо вывести D=31 M=12;дано D=1 M=3 надо вывести D=28 M=2; дано D=15 M=12 надо вывести D=14 M=12)');
 writeln(' Введите:');
 writeln('День-');
 writeln('Месяц-');
readln(D,M); 
 D:=D-1;
 If D=0 then
Begin
M:=M-1;
If M=0 then M:=12;
case M of
1:D:=31;
2:D:=28;
3:D:=31;
4:D:=30;
5:D:=31;
6:D:=30;
7:D:=31;
8:D:=31;
9:D:=30;
10:D:=31;
11:D:=30;
12:D:=31;
else Writeln('ошибка');
end;
end;
Writeln('предшествующая дата D=',D,' M=',M);
end.


13.Даны два целых числа: D (день) и M (месяц), определяющие правильную дату невисокосного года. Вывести значения D и M для даты, следующей за указанной (например, дано D=1 M=1, надо вывести D=2 M=1; дано D=31 M=12 надо вывести D=1 M=1; дано D=28 M=2 надо вывести D=1 M=3)

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
program task13;
var
 D,M:integer;
begin
Writeln;
writeln('Даны два целых числа: D (день) и M (месяц), определяющие правильную дату невисокосного года. Вывести значения D и M для даты, следующей за указанной (например, дано D=1 M=1, надо вывести D=2 M=1; дано D=31 M=12 надо вывести D=1 M=1; дано D=28 M=2 надо вывести D=1 M=3)');
writeln('Введите:');
writeln('День-');
writeln('Месяц-');
readln(D,M); 
D:=D+1;
case M of
1:if D>31 then begin D:=1; M:=2;end;
2:if D>28 then begin D:=1; M:=3;end;
3:if D>31 then begin D:=1; M:=4;end;
4:if D>30 then begin D:=1; M:=5;end;
5:if D>31 then begin D:=1; M:=6;end;
6:if D>30 then begin D:=1; M:=7;end;
7:if D>31 then begin D:=1; M:=8;end;
8:if D>31 then begin D:=1; M:=9;end;
9:if D>30 then begin D:=1; M:=10;end;
10:if D>31 then begin D:=1; M:=11;end;
11:if D>30 then begin D:=1; M:=12;end;
12:if D>31 then begin D:=1; M:=1;end;
else Writeln('ошибка');
end;
Writeln('предшествующая дата D=',D,' M=',M);
end.


14. Дано целое число в диапазоне 20 – 69, определяющее возраст (в годах).Вывести строку – словесное описание указанного возраста, обеспечив правильное согласование числа со словом «год», например: 20 – «двадцать лет», 32 – «тридцать два года», 41 – «сорок один год».

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
program task14;
var
 N:integer;
begin
Writeln;
writeln('Дано целое число в диапазоне 20–69,определяющее возраст в годах.Вывести строку–словесное описание указанного возраста,обеспечив правильное согласование числа со словом «год»,например:20–«двадцать лет»,32–«тридцать два года»,41–«сорок один год»');
begin
Writeln('введите целое число в диапазоне 20-69:');
readln(N);
case (N div 10) of
2:Write('двадцать');
3:Write('тридцать');
4:Write('сорок');
5:Write('пятьдесят');
6:Write('шестьдесят');
else Writeln('ошибка');
end;
case (N mod 10) of
1:Writeln(' один год.');
2:Writeln(' два года.');
3:Writeln(' три года.');
4:Writeln(' четыре года.');
5:Writeln(' пять лет.');
6:Writeln(' шесть лет.');
7:Writeln(' семь лет.');
8:Writeln(' восемь лет.');
9:Writeln(' девять лет.');
0:Writeln(' лет.');
else Writeln('ошибка');
end
end;
end.


15. Дано целое число в диапазоне от 100 до 999. Вывести строку – словесное описание данного числа, например: 256 – «двести пятьдесят шесть», 814 – «восемьсот четырнадцать».

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
program task15;
var
 N:integer;
begin
Writeln;
writeln('Дано целое число в диапазоне от 100 до 999. Вывести строку – словесное описание данного числа,например:256–«двести пятьдесят шесть»,814–«восемьсот четырнадцать».');
begin
Writeln('введите целое число в диапазоне от 100 до 999:');
readln(N);
case (N div 100) of
1:Write('Сто ');
2:Write('Двести ');
3:Write('Тристо ');
4:Write('Четыресто ');
5:Write('Пятьсот ');
6:Write('Шестьсот ');
7:Write('Семьсот ');
8:Write('Восемьсот ');
9:Write('Девятьсот ');
else Writeln('ошибка');
end;
case ((N mod 100)div 10) of
1:begin
case (N mod 100) of
10:Write('десять');
11:Write('одинадцать');
12:Write('двенадцать');
13:Write('тринадцать');
14:Write('четырнадцать.');
15:Write('пятьнадцать');
16:Write('шестьнадцать');
17:Write('семьнадцать');
18:Write('восемьнадцать');
19:Write('девятьнадцать');
else Writeln('ошибка');
end;
end;
2:begin Write('двадцать ');end;
3:begin Write('тридцать ');end;
4:begin Write('сорок ');end;
5:begin Write('пятьдесят ');end;
6:begin Write('шестьдесят ');end;
7:begin Write('семьдесят ');end;
8:begin Write('восемьдесят ');end;
9:begin Write('девяносто ');end;
end;
if ((N mod 100)div 10)<>1 then
begin
case (N mod 10) of
1:Write('один.');
2:Write('два.');
3:Write('три.');
4:Write('четыре.');
5:Write('пять.');
6:Write('шесть.');
7:Write('семь.');
8:Write('восемь.');
9:Write('девять.');
0:Write('.');
else Writeln('ошибка');
end
end;
end;
end.


16. Составьте программу, которая по введенному вами k – числу грибов печатает фразу «Мы нашли в лесу k грибов», причем согласовывает окончание слова «гриб» с k. (Количество грибов может быть любым целым положительным числом: 1, 3, 34, 127 и т. д. Окончание фразы определяется значением последней цифры.)

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
program task16;
var
k:integer;
begin
Writeln;
writeln('Составьте программу, которая по введенному вами k–числу грибов печатает фразу «Мы нашли в лесу k грибов», причем согласовывает окончание слова «гриб» с k.(Количество грибов может быть любым целым положительным числом:1,3,34,127 и т.д..Окончание фразы определяется значением последней цифры.)');
begin
writeln('Введите кол.грибов:');
readln(k);
if k<0 then
writeln('Не может такого быть')
else
begin
write('Мы нашли в лесу ',k,' гриб');
if (k mod 100 in [5..19]) then
writeln('ов')
else if (k mod 10 in [2..4]) then
writeln('а')
else if (k mod 10=1) then
writeln
else
writeln('ов');
end;
end;
end.


17. Составьте программу для определения числа дней в месяце, если даны: номер месяца N – целое число от 1 до 12, целое число А, равное 1 для високосного года и 0 в противном случае.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
program task17;
var
a,n:integer;
 
begin
Writeln;
writeln('Составьте программу для определения числа дней в месяце, если даны:номер месяца N-целое число от 1 до 12,целое число А,равное 1 для високосного года и 0 в противном случае.');
begin
writeln('Введите месяц(1-12):');
readln(n);
writeln ('Если год високосный, введите 1,если иначе то введите 0 ');
readln (a);
 
case n of
1: write ('В январе 31 день');
2: if a=1 then  write ('В феврале 29 дней') else  write ('В феврале 28 дней');
3: write ('В марте 31 день');
4: write ('В апреле 30 дней');
5: write ('В мае 31 день');
6: write ('В июне 30 дней');
7: write ('В июле 31 день');
8: write ('В августе 31 день');
9: write ('В сентябре 30 дней');
10: write ('В октябре 31 день');
11: write ('В ноябре 30 дней');
12: write ('В декабре 31 день');
end;
readln;
end;
end.


18. Составить программу, вычисляющую площадь геометрической фигуры. Тип фигуры определяется символом (с): О – окружность, T – равнобедренный прямоугольный треугольник и K – квадрат. Целое число, вводимое вслед за символом определяет соответствующий элемент для вычисления площади (для окружности это радиус, для треугольника – длина катета, для квадрата – длина стороны).

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
program task18;
const pi=3.14;h=5;
var
c,a:integer;
 
begin
Writeln;
writeln('Составить программу,вычисляющую площадь геометрической фигуры.Тип фигуры определяется символом(с):О–окружность,T–равнобедренный прямоугольный треугольник и K–квадрат.Целое число,вводимое вслед за символом определяет соответствующий элемент для вычисления площади(для окружности это радиус,для треугольника–длина катета,для квадрата–длина стороны).');
begin
writeln('Выберите любую геометрическую фигуру:');
writeln('1-окружность.');
writeln('2-Равнобедренный прямоугольный треугольник.');
writeln('3-Квадрат.');
readln(c);
writeln ('Введите любую цифру:');
readln (a);
case c of
1:Write('Площадь окружности S=',a*a*pi);
2:Write('Площадь треугольника S=',0.5*a*h);
3:Write('Площадь квадрата S=',a*a);
end
end;
end.


19. Составьте программу, которая определяет к какой группе относится введенный символ (с) – к цифрам, заглавным или прописным буквам. На экран должна выводиться фраза «Символ с – это …», где вместо … пишется соответствующая группа (например, «Символ R – это заглавная буква»)

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
program task19;
var
c:char;
begin
Writeln;
writeln('Составьте программу, которая определяет к какой группе относится введенный символ(с)–к цифрам,заглавным или прописным буквам.На экран должна выводиться фраза «Символ с–это …»,где вместо … пишется соответствующая группа(например,«Символ R–это заглавная буква»).');
begin
writeln('Введите любой символ(Цифра,Заглавная или Прописная буква.):');
readln(c);
if c in ['0'..'9'] then writeln('это Цифра.');
if c in ['a'..'z'] then writeln('это Прописная буква.');
if c in ['A'..'Z'] then writeln('Это Большая буква.');
end;
end.


20. Составить программу, которая по номеру дня в месяце печатает день недели. Считаем, что 1–е число месяца – понедельник.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
program task20;
var
n:integer;
begin
Writeln;
writeln('Составить программу, которая по номеру дня в месяце печатает день недели.Считаем,что 1–е число месяца–понедельник.');
begin
writeln('Введите номер дня:');readln(n);
case n of
1,8,15,23,31:Write('Понедельник');
2,9,16,24:Write('Вторник');
3,10,17,25:Write('Среда');
4,11,18,26:Write('Четверг');
5,12,19,27:Write('Пятница');
6,13,20,28:Write('Суббота');
7,14,21,29:Write('Воскресенье');
end
end;
end.


21. Составить программу, которая по порядковому номеру месяца определяет, к какому времени года он принадлежит.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
program task21;
var
n:integer;
begin
Writeln;
writeln('Составить программу, которая по порядковому номеру месяца определяет,к какому времени года он принадлежит.');
begin
writeln('Введите месяц:');
writeln('1-Январь');
writeln('2-февраль');
writeln('3-Март');
writeln('4-Апрель');
writeln('5-Май');
writeln('6-Июнь');
writeln('7-Июль');
writeln('8-Август');
writeln('9-Сентябрь');
writeln('10-Октябрь');
writeln('11-Ноябрь');
writeln('12-Декабрь');
readln(n);
case n of
12,1,2:Write('Зима');
3,4,5:Write('Весна');
6,7,8:Write('Лето');
9,10,11:Write('Осень');
end
end;
end.


22. Составить программу, которая по номеру семестра печатает курс, к которому относится введенный семестр (1 и 2 семестр – 1 курс, 3 и 4 семестр – 2 курс и т. д.).

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
program task22;
var
n:integer;
begin
Writeln;
writeln('Составить программу, которая по номеру семестра печатает курс, к которому относится введенный семестр(1 и 2 семестр–1 курс,3 и 4 семестр–2 курс и т.д.).');
writeln('Введите номер семестра:');
readln(n);
if (n>=1) and (n<=10) then
begin
case n of
1,2:Write('1-ый курс.');
3,4:Write('2-ой курс.');
5,6:Write('3-ий курс.');
7,8:Write('4-ый курс.');
9,10:Write('5-ый курс.');
end;
end
else
writeln('Ошибка ввода!');
end.


23. Дано целое число n, соответствующее количеству углов геометрической фигуры. Составить программу, которая по введенному числу n печатает название фигуры (например, при n=3 программа напечатает «треугольник», при n=5 – «пятиугольник», при n>8 – «многоугольник»). В случае если вводится
число меньше 2, выводится сообщение об ошибке.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
program task23;
var
n:integer;
begin
Writeln;
writeln('Дано целое число n, соответствующее количеству углов геометрической фигуры.Составить программу,которая по введенному числу n печатает название фигуры(например,при n=3 программа напечатает «треугольник»,при n=5 – «пятиугольник»,при n>8 – «многоугольник»).В случае если вводится число меньше 2,выводится сообщение об ошибке.');
writeln('Введите число:');readln(n);
if (n>=2) and (n<10000) then
begin
case n of
2:Write('');
3:Write('Треугольник.');
4:Write('Квадрат.');
5:Write('Пятиугольник.');
6:Write('Шестиугольник');
7:Write('Семиугольник');
8:Write('Восьмиугольник');
9..10000:Write('Многоугольник');
end;
end
else
writeln('Ошибка ввода!');
end.


24. С клавиатуры вводится два целых числа, обозначающих возраст человека и его пол (1 – мужской, 2 –женский). Составить программу, которая в зависимости от введенных данных определяет принадлежность человека к определенной группе: от 0 до 13 – мальчик (девочка); от 14 до 20 – юноша (девушка); от 21 до 70 – мужчина (женщина); более 70 – старец (старушка).

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
program task24;
 
var
  n, b: integer;
 
begin
  Writeln;
  writeln('С клавиатуры вводится два целых числа, обозначающих возраст человека и его пол (1–мужской,2–женский).Составить программу, которая в зависимости от введенных данных определяет принадлежность человека к определенной группе:от 0 до 13-мальчик(девочка); от 14 до 20–юноша(девушка);от 21 до 70–мужчина(женщина);более 70–старец(старушка).');
  writeln('Введите пол:');
  writeln('1-Мужской');
  writeln('2-Женский');
  readln(n);
  writeln('Введите возраст в цифрах:');readln(b);
  if (n = 1) then
  begin
    case b of
      0..13: Write('Мальчик-', b);
      14..20: Write('Юноша-', b);
      21..69: Write('Мужчина-', b);
      70..150: Write('Дедушка-', b);
    end;
  end;
  begin
    if (n = 2) then
      case b of
        0..13: Write('Девочка-', b);
        14..20: Write('Девушка-', b);
        21..69: Write('Женщина-', b);
        70..150: Write('Бабушка-', b);
      end;
  end;
end.


25. Составить программу, которая печатает номера дней в месяце, если вводится день недели. Считаем, что 1–е число месяца – понедельник, в месяце

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
program task25;
 
var
  n: integer;
 
begin
  Writeln;
  writeln('Составить программу, которая печатает номера дней в месяце,если вводится день недели.Считаем,что 1–е число месяца–понедельник,в месяце 31 день.Выводить на экран словесное описание дня недели и соответствующие числа месяца(например,вводится число 2,на экране появляется:«Вторник–2,9,16,23,30»).');
  writeln('Введите любой номер:');
  readln(n);
  begin
    case n of
      1, 8, 15, 22, 29: Write('Понедельник-1,8,15,22,29.');
      2, 9, 16, 23, 30: Write('Вторник-2,9,16,23,30.');
      3, 10, 17, 24, 31: Write('Среда-3,10,17,24,31.');
      4, 11, 18, 25: Write('Четверг-4,11,18,25.');
      5, 12, 19, 26: Write('Пятница-5,12,19,26.');
      6, 13, 20, 27: Write('Суббота-6,13,20,27.');
      7, 14, 21, 28: Write('Воскресенье-7,14,21,28.');
    end;
  end
end.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.01.2014, 21:35
Ответы с готовыми решениями:

Заменить множественный if на оператор case
Program Oper_vybora; var n:integer; begin writeln('Введите число'); readln (n); if (n&gt;=0)...

Сборник задач
Здравствуйте помогите пожалуйста кто что может очень нужны тексты этих программ... Не прошу все, но...

Сборник задач по С++
Здравствуте)Помогите найти какие-нибудь сборники задач по С++ с ответами.

Сборник задач
Где можно найти именно сборник задач по PHP? Везде в интернете только учебники, но нигде нету...

5
15 / 11 / 11
Регистрация: 25.01.2014
Сообщений: 28
31.01.2014, 02:16  [ТС] 2
Цитата Сообщение от Новичок Посмотреть сообщение
Ну так что,пихаем в эту тему все что можно или как? В разделе С++ видел похожую тему.

Добавлено через 1 минуту
Ой,тему переназвали...
Название отредактировали без Меня.
Давай те скидывайте решения.У многих проблемы с выполнением простейших(затёртых до дыр)задач.Студенты заваливают форум вопросами по поводу решений.Так,что облегчим ношу господа.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32628 / 21095 / 8139
Регистрация: 22.10.2011
Сообщений: 36,357
Записей в блоге: 8
31.01.2014, 02:21 3
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от Glob35 Посмотреть сообщение
Давай те скидывайте решения.
Давайте не будем. Как только количество задач и решений перевалит за 50, это все превратится в ХЛАМ, никто читать и искать в этом месиве свою задачу не будет (тут даешь решение конкретной задачи, буква в букву, так умудряются внаглую заявлять, что это, видите ли, не работает)
Цитата Сообщение от Glob35 Посмотреть сообщение
Студенты заваливают форум вопросами по поводу решений.
Рядом с тобой что, стоят с пулеметом у виска? И заставляют тебя читать то, что тебе прямо не хочется? А ничего, что одни студенты заваливают форум задачами, а другие студенты - набивают руку в их решении, так по какому праву ты этой практики их хочешь лишить, выложив десятки готовых кодов, ссылки на которые ты вознамерился пихать где попало? Это не "облегчение ноши", а вредительство получается, с точки зрения этих, которые хотят поднатаскаться в решении задачек...
4
1646 / 1075 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
31.01.2014, 09:18 4
Я тоже против. Толку от такого решебника будет мизер - туда просто не будут заходить, даже если тему закрепить в шапке... Вы подумайте - много ли посетителей читало правила? У меня складываются ощущения, что дай бог каждый 10 туда заходит... с решебником будет так же - сначала будут постить вопрос, не обращая внимания на поиск и наличие раздела с ответами, а потом ждать когда будет "готовое решение".

P.S.: Единственный смысл вижу в такой теме - использовать в качестве справочника и примеров реализации... и то, используя не "полный" код, а только концепцию, которую пользователь может "доделать/дописать/дополнить/изменить" под свои нужды.
0
1642 / 1091 / 487
Регистрация: 17.07.2012
Сообщений: 5,345
31.01.2014, 14:36 5
Цитата Сообщение от UI Посмотреть сообщение
хотят поднатаскаться в решении задачек...
Согласен. На форум постоянно новые люди приходят. Да многие задачи ("Найти макс. элемент","Поменять строки матрицы" и.т.д) действительно простые и легкие,но я тоже с этих задач начинал. И все кто новички на форуме начинают набивать руки с простого.

Добавлено через 1 минуту
Цитата Сообщение от UI Посмотреть сообщение
внаглую заявлять, что это, видите ли, не работает
Ну что ж сделаешь - руки кривые, либо препод добрый. Как правило программу даже не тестируют - здают преподу. Препод что-то скажет и уже бегут жаловаться:программа не такая,надо так...
0
ildwine
31.01.2014, 20:39     Сборник задач на множественный выбор (Case; If... Then If...)
  #6

Не по теме:

Закрывать пока не осмелюсь... но почистить как сказали "от воды" почистил...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.01.2014, 20:39

Сборник задач
Здравствуйте, не могли бы подсказать книгу с хорошим сборником задач? + Есть ли книги которые...

Сборник задач
Здравствуйте помогите пожалуйста кто что может очень нужны тексты этих программ... Не прошу все, но...

Сборник задач по Javascript
Всем добрый день! Подскажите пожалуйста где можно скачать сборник задач по Javascript,хочу...

Сборник задач по программированию
Можете скинуть методичку с задачами с четкой формулировкой для обучения кодинга на яве, уровень от...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru