Решение задач. День восьмой. Задачи If1-15


if1-15

Всем привет! Сегодня мы начнем долгожданный разбор задач по программированию if1-15, а также вспомним и научимся применять различные процедуры. В решениях к некоторым задачам Вам встретится возможно неизвестная прежде процедура Inc. Пояснения к ней и к другим процедурам можно найти в этой статье.

If1. Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае не изменять его. Вывести полученное число.

Program If_1;

var
  a: integer;

begin
  readln(a);
  if a > 0 then Inc(a);
  write(a);
end.

If2. Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае вычесть из него 2. Вывести полученное число.

Program If_2;

var
  a: integer;

begin
  readln(a);
  if a > 0 then Inc(a) else a -= 2;
  write(a);
end.

If3. Дано целое число. Если оно является положительным, то прибавить к нему 1; если отрицательным, то вычесть из него 2; если нулевым, то заменить его на 10. Вывести полученное число.

Program If_3;

var
  a: integer;

begin
  readln(a);
  if a >= 0 then 
    if a = 0 then a := 10 else Inc(a)
   else a -= 2;
  write(a);
end.

If4°. Даны три целых числа. Найти количество положительных чисел в исходном наборе.

Program If_4;

var
  a, b, c, plus: integer;

begin
  write('Введите три целых числа: ');
  readln(a, b, c);
  if a > 0 then Inc(plus); 
  if b > 0 then Inc(plus); 
  if c > 0 then Inc(plus); 
  writeln('Количество положительных чисел: ', plus);
end.

If5. Даны три целых числа. Найти количество положительных и количество отрицательных чисел в исходном наборе.

Program If_5;

var
  a, b, c, plus, minus: integer;

begin
  write('Введите три целых числа: ');
  readln(a, b, c);
  if a > 0 then Inc(plus) else Inc(minus);
  if b > 0 then Inc(plus) else Inc(minus);
  if c > 0 then Inc(plus) else Inc(minus);
  writeln('Количество положительных чисел - ', plus);
  writeln('Количество отрицательных чисел - ', minus);
end.

If6°. Даны два числа. Вывести большее из них.

Program If_6;

var
  a, b: integer;

begin
  write('Введите числа: ');
  readln(a, b);
  if a > b then writeln(a) else writeln(b);
end.

If7. Даны два числа. Вывести порядковый номер меньшего из них.

Program If_7;

var
  a, b: integer;

begin
  write('Введите числа: ');
  readln(a, b);
  if a < b then writeln(1) else writeln(2);
end.

If8°. Даны два числа. Вывести вначале большее, а затем меньшее из них.

Program If_8;

var
  a, b: integer;

begin
  write('Введите числа: ');
  readln(a, b);
  if a > b then writeln(a,' ', b) else writeln(b,' ', a);
end.

If9. Даны две переменные вещественного типа: A, B. Перераспределить значения данных переменных так, чтобы в A оказалось меньшее из значений, а в B — большее. Вывести новые значения переменных A и B.

Program If_9;

var
  a, b: integer;

begin
  write('Введите A: ');
  readln(a);
  write('Введите B: ');
  readln(b);
  if a > b then writeln('A = ', a,';  B = ', b) else writeln('A = ', b,';  B = ', a);
end.

If10. Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной сумму этих значений, а если равны, то присвоить переменным нулевые значения. Вывести новые значения переменных A и B.

Program If_10;

var
  a, b: integer;

begin
  write('Введите A: ');
  readln(a);
  write('Введите B: ');
  readln(b);
  if a <> b then writeln('A = ', a+b,';  B = ', a+b) else writeln('A = ',0,';  B = ',0);
end.

If11. Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить каждой переменной большее из этих значений, а если равны, то присвоить переменным нулевые значения. Вывести новые значения переменных A и B.

Program If_11;

var
  a, b: integer;

begin
  write('Введите A: ');
  readln(a);
  write('Введите B: ');
  readln(b);
  if a = b then writeln('A = ',0,';  B = ',0) else
    if a > b then writeln('A = ', a,';  B = ', a) else writeln('A = ', b,';  B = ', b);
end.

If12°. Даны три числа. Найти наименьшее из них.

Program If_12;

var
  a, b, c: integer;

begin
  write('Введите три числа: ');
  readln(a, b, c);
  if (a <  b) and (a < c) then writeln(a) else 
    if b < c then writeln(b) else writeln(c);
end.

If13. Даны три числа. Найти среднее из них (то есть число, расположенное между наименьшим и наибольшим).

if13
Небольшое пояснение
Program If_13;

var
 a, b, c, srednee:integer;

begin
 write('Введите три числа: ');
 readln(a, b, c);
 if (a > c) and (a > b) then
  if c > b then srednee := c
  else srednee := b;
 if (b > a) and (b > c) then
  if a > c then srednee := a
  else srednee := c;
 if (c > a) and (c > b) then
  if a > b then srednee := a
  else srednee := b;
 writeln('Среднее: ', srednee);
end.

If14. Даны три числа. Вывести вначале наименьшее, а затем наибольшее из данных чисел.

if14
Пояснение
Program If_14;

var
 a, b, c, min, max :integer;

begin
 write('Введите три числа: ');
 readln(a, b, c);
 if (a > c) and (a > b) then max := a
   else if b > c then max := b
     else max := c;
 if (a < c) and (a < b) then min := a
   else if b < c then min := b
     else min := c;
 writeln('Наименьшее число: ', min);
 writeln('Наибольшее число: ', max);
end.

If15. Даны три числа. Найти сумму двух наибольших из них.

Program If_15;

var
 a, b, c :integer;

begin
 write('Введите три числа: ');
 readln(a, b, c);
 if (a < b) and (a < c) then writeln(b+c)
   else if b < c then writeln(a+c)
     else writeln(a+b);
end.

Фух! На сегодня все! Если у вас возникли какие-либо вопросы не стесняйтесь, оставляйте все свои вопросы в комментариях под статьей! И не забывайте кликать по кнопочкам и рассказывать о нас своим друзьям.

  1. Есть VK или другая соц сеть для связи?
    Мне блок схемы не нравяться))

  2. Program If_7;

    var
    a, b: integer;

    begin
    write(‘Введите числа: ‘);
    readln(a, b);
    if a < b then writeln(1) else writeln(2);
    end.
    Здесь выводится число 1 если а меньше б? так?

  3. Program If_4;

    var

    a, b, c, plus: integer;

    begin

    write(‘Введите три целых числа: ‘);

    readln(a, b, c);

    if a > 0 then Inc(plus);

    if b > 0 then Inc(plus);

    if c > 0 then Inc(plus);

    writeln(‘Количество положительных чисел: ‘, plus);

    end.

    что за функция inc? что она делает? в интернете написано inc увеличивает переменную на единицу. а тут что делает?

  4. Увеличивает переменную plus на единицу.
    Равносильно plus += 1 или plus := plus + 1.

  5. В задаче 10 (и 11) некорректное решение, мне кажется. По условию задачи переменным нужно именно присвоить новые значения. В решении же, фактически, значения переменных не меняются. Пока не разобрался, как в блоке then несколько операций делать (точка с запятой, будь она неладна :)), сделал с помощью процедур:

    var
    A,B,s: integer;

    procedure zero();
    begin
    A:=0;
    B:=0;
    writeLn(‘A = ‘,A,’, B = ‘,B);
    end;

    procedure sum();
    begin
    s:= A+B;
    A:=s;
    B:=s;
    writeLn(‘A = ‘,A,’, B = ‘,B);
    end;

    begin
    writeLn(‘Введите А и В:’);
    read(A,B);

    if A = B then
    zero()
    else
    sum();
    end.

  6. Вот так можно решить if13:

    var
    a, b, c: int64;
    begin
    readln(a, b, c);
    if ((a>b) and (b>c)) or ((c>b) and (b>a)) then writeln(b)
    else if ((a>c) and (c>b)) or ((b>c) and (c>a)) then writeln(c)
    else writeln(a);
    end.

  7. В 9 задаче ошибка

    if a > b then writeln(‘A = ‘,a,’; B = ‘,b) else writeln(‘A = ‘,b,’; B = ‘,a); ,

    если я не ошибаюсь то по условию должно быть так

    if a > b then writeln(‘A = ‘,b,’; B = ‘,a) else writeln(‘A = ‘,a,’; B = ‘,b);

  8. Heeelp!!! Перераспределить Х и Y переменных так , чтобы
    в Х оказалась меньшее из этих значений,а в Y-большее .((

  9. if a>b then y=a(в квадрате) else y=b+2
    не получается. помогите. заранее благодарен

  10. Не стоит так формулировать свои вопросы. Это страшно. Страшно и непонятно.
    Напишите лучше, что именно у вас не получается. Возвести в квадрат? Или записать вообще все высказывание?
    Если так, то правильнее будет: if a > b then y := sqr(a) else y := b + 2

  11. Дано трехзначное число N.Проверить, будет ли сумма его цифер четным числом

  12. В 13 задачи ошибка в блок-схеме. Условие:a>c and a>b, а под стрелкой да сказано a>c, вместо b>c. Исправьте пожалуйста

  13. Вы не допускаете в if_13 вариант при котором числа могут быть равны? Тогда код должен выглядеть следующим образом:
    Program If_13;

    var

    a, b, c, srednee:integer;

    begin

    write(‘Введите три числа: ‘);

    readln(a,b,c);
    if (ab) and (ac) and (bc) then

    if (a > c) and (a > b) then

    if c > b then srednee := c

    else srednee := b;

    if (b > a) and (b > c) then

    if a > c then srednee := a

    else srednee := c;

    if (c > a) and (c > b) then

    if a > b then srednee := a

    else srednee := b;

    writeln(‘Среднее: ‘, srednee);

    end.

  14. Ребят, молодцы, что вообще создали этот сайт))
    В If5 небольшая ошибка! Надо было добавить ещё пару условий:

    Program If_5;

    var
    a, b, c, plus, minus: integer;

    begin
    write(‘Введите три целых числа: ‘);
    readln(a, b, c);
    if a > 0 then Inc(plus);
    if b > 0 then Inc(plus);
    if c > 0 then Inc(plus);

    if a < 0 then Inc(minus);
    if b < 0 then Inc(minus);
    if c < 0 then Inc(minus);

    writeln('Количество положительных чисел — ', plus);
    writeln('Количество отрицательных чисел — ', minus);
    end.

  15. Такое решение же тоже может быть 🙂 Для задачи 13*

    Program kek;
    var
    a,b,c,i: integer;
    begin
    write(‘Введите число a:’);
    readln(a);
    write(‘Введите число b:’);
    readln(b);
    write(‘Введите число c:’);
    readln(c);

    If (a>b) and (a>c) then
    begin
    if b>c then
    i:=b
    else
    i:=c
    end
    else
    if (b>c) and (b>a) then
    begin
    if c>a then
    i:=c
    else
    i:=a
    end
    else
    if (c>a) and (c>b) then
    begin
    if a>b then
    i:=a
    else
    i:=b
    end;
    writeln(‘Среднее число между числами:’,i);

    end.

  16. Решение If13:

    program If13;

    var
    a, b, c: real;

    begin
    write(‘Введите три любых числа: ‘);
    readln(a, b, c);
    writeln;
    if (a < b) and (a < c) then
    if b < c then write(b) else write(c)
    else write(a);
    end.

  17. Решение задачи If14:

    program If14;

    var
    a, b, c: real;

    begin
    write(‘Введите три любых числа: ‘);
    readln(a, b, c);
    writeln;
    if (a < b) and (a < c) then writeln(a) else
    if b b) and (a > c) then writeln(a) else
    if b > c then writeln(b) else writeln(c);
    end.

  18. Как решение скопировать в vba excel при копировании и вставке не запускается сценарий

  19. помогите пожалуйста
    В магазине конц товаров ручка стоит-40рублей ,объявлена скидка 20%
    Тех задание; написать программу
    В итоге работы которой вводится число-кол во купленных ручек

  20. Дано целое 4-ех значное число, ПРОВЕРИТЬ будут ли его внутреннее цифры равные и будет ли их сумма четным числом.

  21. Помогите мне пж решить задачу! Пользователь вводит 4 числа . Если числа больше 5 вывести их сумму.

    1. Даны 2 целых числа A и B, которые могут быть как положительными так и отрицательными. Посчитайте сколько в введнных числах- отрицательных.

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

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