Pascal: Проверь себя (решенные задачи, логический тип, pascal max и min)

Решенные задачи по Паскалю: логический тип Boolean

Тип boolean в Паскале

Примеры программ на Паскале с использованием логического типа Boolean

Boolean 1: Дано целое положительное число. Проверить истинность высказывания: «Данное число является четным двузначным».

Проверить:

1
2
3
4
5
6
7
8
9
const a=98;
var
   flag:boolean;
begin
flag:=false;
if (a div 100 =0) and (a div 10 <>0) and (a mod 2=0) then
  flag:=true;
writeln(flag);
end.

Boolean 2: Дано целое положительное число. Проверить истинность высказывания: «Данное число является нечетным трехзначным».

Проверить:

1
2
3
4
5
6
7
8
9
10
const a=888;
var
   f_n, s_n, t_n: integer;
   flag:boolean;
begin
flag:=false;
if (a div 100 <>0) and(a div 10 <>0) and (a div 1000=0) and (a mod 2<>0) then
  flag:=true;
writeln(flag);
end.

Boolean 3: Дано трехзначное число. Проверить истинность высказывания: «Все цифры данного числа различны».

Проверить:

1
2
3
4
5
6
7
8
9
10
11
12
13
const a=348;
var
  f_n, s_n, t_n: integer;
  flag:boolean;
begin
flag:=false;
f_n:=a div 100;
s_n:=(a mod 100)div 10;
t_n:=a mod 10;
if (f_n<>s_n) and (f_n<>t_n) and (s_n<>t_n) then 
  flag:=true;
writeln(flag);
end.

Boolean 4: Дано трехзначное число. Проверить истинность высказывания: «Цифры данного числа образуют возрастающую последовательность».

Проверить:

1
2
3
4
5
6
7
8
9
10
11
12
const a=318;
var
  f_n, s_n, t_n: integer;
  flag:boolean;
begin
flag:=false;
f_n:=a div 100;
s_n:=((a mod 100)div 10);
t_n:=a mod 10;
if (f_n<s_n) and (s_n<t_n) then flag:=true;
writeln(flag);
end.
 

Boolean 5: Даны координаты поля шахматной доски x, y (целые числа, лежащие в диапазоне 1–8). Учитывая, что левое нижнее поле доски (1, 1) является черным, проверить истинность высказывания: «Данное поле является белым».

Проверить:

1
2
3
4
5
6
7
8
9
10
var
  x,y:integer;
  flag:boolean;
begin
flag:=false;
writeln('введите координаты(числа в диапазоне 1-8)');
readln(x,y);
if ((x+y) mod 2)<>0 then flag:=true;
writeln(flag);
end.

Boolean 6: Даны координаты двух различных полей шахматной доски x1, y1, x2, y2 (целые числа, лежащие в диапазоне 1–8). Проверить истинность высказывания: «Король за один ход может перейти с одного поля на другое».

Проверить:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var
  x1,x2,y1,y2:integer;
  flag:boolean;
begin
flag:=false;
writeln(' введите координаты двух различных полей шахматной доски (целые числа, лежащие в диапазоне 1–8). ');
writeln( 'x1=');
readln(x1);
writeln( 'y1=');
readln(y1);
writeln( 'x2=');
readln(x2);
writeln( 'y2=');
readln(y2);
if (abs(x1-x2)+ abs(y1-y2)=1) or (abs(x1-x2)+ abs(y1-y2)=2) then    
flag:=true;
writeln(flag);
end.

В Pascal max и min

Проверьте свои знания в решении задач поиска максимального и минимального элементов заданного числового ряда.

Pascal max 1: Дано целое число N и набор из N прямоугольников, заданных своими сторонами — парами чисел (a,b). Найти минимальную площадь прямоугольника из данного набора. (Не использовать массивы)

* Из задачника М. Э. Абрамян (Minmax2)

Проверить:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var
  S,a,b,Min,Max: Real;
  i,N:Integer;
begin
  Write('N:');
     Readln(N);
  for i:=1 to N do
   begin
     Write('a b:');
     Readln(a,b);
     S:=a*b;
     if i=1 then
      begin
      Min:=S;
      Max:=S;
      end;
     if S<Min then Min:=S;
     if S>Max then Max:=S;
   end;
  Writeln(Min,' ',Max);
end.

Pascal max 2: Дано целое число N и набор из N пар чисел (m,v) — данные о массе m и объеме v деталей, изготовленных из различных материалов. Вывести номер детали, изготовленной из материала максимальной плотности, а также величину этой максимальной плотности. Плотность P вычисляется по формуле P=m/v.

* Из задачника М. Э. Абрамян (Minmax5)

Проверить:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
var
  m,v,p,pMax:Real;
  i,N,MaxNum:Integer;
begin
  Write('N:');
  Readln(N);
  for i:=1 to N do
   begin
     Write(i,') m v:');
     Readln(m,v);
     p:=m/v;
     if i=1 then
      begin
       pMax:=p;
       MaxNum:=i;
      end;
     if p>pMax then
      begin
       pMax:=p;
       MaxNum:=i;
      end;
   end;
  Writeln(MaxNum,' - ',pMax);
end.

Pascal max 3: Дано целое число N и набор из N целых чисел. Найти номера первого минимального и последнего максимального элемента из данного набора и вывести их в указанном порядке.

* Из задачника М. Э. Абрамян (Minmax6)

Проверить:

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
var
  R,Min,Max:Real;
  i,N,MinNum,MaxNum:Integer;
begin
  Write('N:');
  Readln(N);
  for i:=1 to N do
   begin
     Write(i,' число:');
     Readln(R);
     if i=1 then
      begin
       Min:=R;
       Max:=R;
       MaxNum:=i;
       MinNum:=i;
      end;
     if R<Min then
      begin
       Min:=R;
       MinNum:=i;
      end;
     if R>=Max then
      begin
       Max:=R;
       MaxNum:=i;
      end;
   end;
  Writeln(MinNum,' ',MaxNum);
end.
Поделитесь уроком с коллегами и друзьями:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*
*

Вставить формулу как
Блок
Строка
Дополнительные настройки
Цвет формулы
Цвет текста
#333333
Используйте LaTeX для набора формулы
Предпросмотр
\({}\)
Формула не набрана
Вставить