Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/286: Рейтинг темы: голосов - 286, средняя оценка - 4.77
 Аватар для Glob35
15 / 11 / 11
Регистрация: 25.01.2014
Сообщений: 28

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

28.01.2014, 21:35. Показов 52536. Ответов 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)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.01.2014, 21:35
Ответы с готовыми решениями:

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

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

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

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

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

Решение

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

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

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

Не по теме:

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

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.01.2014, 20:39
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru