Всем привет! Сегодня мы начнем долгожданный разбор задач по программированию 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. Даны три числа. Найти среднее из них (то есть число, расположенное между наименьшим и наибольшим).
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. Даны три числа. Вывести вначале наименьшее, а затем наибольшее из данных чисел.
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.
Фух! На сегодня все! Если у вас возникли какие-либо вопросы не стесняйтесь, оставляйте все свои вопросы в комментариях под статьей! И не забывайте кликать по кнопочкам и рассказывать о нас своим друзьям.
хочу эти задачи на языке C++
Хотеть — не вредно, вредно — не хотеть 😉
в 14 задаче ошибка в алгоритме (a<c) and (a<b)
Вы про опечатку в блок-схеме?
Кто её вообще делал исправьте
Исправил
Есть VK или другая соц сеть для связи?
Мне блок схемы не нравяться))
Program If_7;
var
a, b: integer;
begin
write(‘Введите числа: ‘);
readln(a, b);
if a < b then writeln(1) else writeln(2);
end.
Здесь выводится число 1 если а меньше б? так?
Так
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 увеличивает переменную на единицу. а тут что делает?
Увеличивает переменную 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 несколько операций.
В 13-й блок-схеме ошибка после разветления a > c and a > b, идет a > c, а должно c > b.
Вот так можно решить 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);
Согласна.
Heeelp!!! Перераспределить Х и Y переменных так , чтобы
в Х оказалась меньшее из этих значений,а в Y-большее .((
И алгоритм нужен.
if a>b then y=a(в квадрате) else y=b+2
не получается. помогите. заранее благодарен
Не стоит так формулировать свои вопросы. Это страшно. Страшно и непонятно.
Напишите лучше, что именно у вас не получается. Возвести в квадрат? Или записать вообще все высказывание?
Если так, то правильнее будет: 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.
помогите решить в Паскале
Даны три числа найти max:=
хотел спросить о задаче 13..Нельзя ли сделать её попроще вот так вот например???
program abc;
var
a,b,c: real;
begin
read(a,b,c);
if (a>b) and (ac) and (aa) and (bc) and (bb) and (ca) and (c<b) then write(c);
end.
Ребят, молодцы, что вообще создали этот сайт))
В 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.
Такое решение же тоже может быть 🙂 Для задачи 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.
Решение 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.
Это гораздо проще.
Решение задачи 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.
Как решение скопировать в vba excel при копировании и вставке не запускается сценарий
помогите пожалуйста
В магазине конц товаров ручка стоит-40рублей ,объявлена скидка 20%
Тех задание; написать программу
В итоге работы которой вводится число-кол во купленных ручек
Дано целое 4-ех значное число, ПРОВЕРИТЬ будут ли его внутреннее цифры равные и будет ли их сумма четным числом.
Помогите мне пж решить задачу! Пользователь вводит 4 числа . Если числа больше 5 вывести их сумму.
Даны 2 целых числа A и B, которые могут быть как положительными так и отрицательными. Посчитайте сколько в введнных числах- отрицательных.