if1-15

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

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

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

Решение Показать

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

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

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

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

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

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

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

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

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

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

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

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

if13
Небольшое пояснение
Решение Показать

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

if14
Пояснение

 

Решение Показать

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

Решение Показать

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

  • Shoxa

    хочу эти задачи на языке C++

    • Хотеть — не вредно, вредно — не хотеть 😉

  • Максим

    в 14 задаче ошибка в алгоритме (a<c) and (a<b)

    • Вы про опечатку в блок-схеме?

      • Антон Новиков

        Кто её вообще делал исправьте

        • Исправил

          • Антон Новиков

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

  • WapHelp KZ

    Program If_7;

    var
    a, b: integer;

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

  • WapHelp KZ

    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 увеличивает переменную на единицу. а тут что делает?

    • alen_marzz

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

  • Олег

    В задаче 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.

    • используйте begin и end, чтобы сделать в блоках then, else несколько операций.

  • sSS

    В 13-й блок-схеме ошибка после разветления a > c and a > b, идет a > c, а должно c > b.

  • petanisimov

    Вот так можно решить 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.

  • Женя Волков

    В 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);

  • Rivshan

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

  • Рившан

    и алгоритм нужен

  • Рамазан

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

    • alen_marzz

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

  • Ирина

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

  • Омар Шайхалиев

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

  • Влад Сидоренко

    Вы не допускаете в 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.

  • Alis

    помогите решить в Паскале
    Даны три числа найти max:=