Решение задач на системе паскаль

Приветствуем читателей нашего сайта! С сегодняшнего дня две недели подряд мы решаем задачи из сборника Абрамяна. Сегодня мы наконец-то добьем if16-30. А вообще мы решим все задачи из While и For и, может быть, Series.

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

Program If_16; var a,b,c: integer; begin write('Введите A, B и C: '); readln(a,b,c); if (b<c) and (a<b) then begin a := 2 a; b := 2 b; c := 2 c; end else begin a := -a; b := -b; c := -c; end; writeln (a,' ',b,' ',c); end.

If17. Даны три переменные вещественного типа: A, B, C. Если их значения упорядочены по возрастанию или убыванию, то удвоить их; в противном случае заменить значение каждой переменной на противоположное. Вывести новые значения переменных A, B, C.

Program If_17; var a, b, c: integer; begin write('Введите A, B и C: '); readln(a, b, c); if (b < a) and (c < b) or (b < c) and (a < b) then begin a := 2 a; b := 2 b; c := 2 c; end else begin a := -a; b := -b; c := -c; end; writeln(a, ' ', b, ' ', c); end.

If18. Даны три целых числа, одно из которых отлично от двух других, равных между собой. Определить порядковый номер числа, отличного от остальных.

Program If_18; var a, b, c: integer; begin readln(a, b, c); if a = b then write(3); if b = c then write(1); if a = c then write(2); end.

If19. Даны четыре целых числа, одно из которых отлично от трех других, равных между собой. Определить порядковый номер числа, отличного от остальных.

Используем метод полностью противоположный предыдущему. Проверяем числа на неравенство, а не на равенство.

program if19; var a, b, c, d: integer; begin read(a, b, c, d); if (a <> b) and (a <> c) then write(1) {проверяем неравенство два раза. вдруг это b другое число.} else if (a <> b) and (b <> c) then write(2) else if (c <> a) and (c <> b) then write(3) else write(4); {если все варианты совпадают, следовательно 4 другой} end.

If20. На числовой оси расположены три точки: A, B, C. Определить, какая из двух последних точек (B или C) расположена ближе к A, и вывести эту точку и ее расстояние от точки A.

Для того чтобы решить эту задачу, используем модуль, ведь модуль — это расстояние. В Паскаль есть специальная функция для превращения любого числа в положительное число —  abs.

program if20; var A, B, C, ras1, ras2: integer; begin write('Введите A: '); read(A); write('Введите B и C: '); read(B, C); ras1 := Abs(A - B); ras2 := Abs(A - C); if ras1 < ras2 then Write('Ближайшая к точке А точка B и растояние между ними - ', ras1) else write('Ближайшая к точке А точка C и растояние между ними - ', ras2); end.

If21. Даны целочисленные координаты точки на плоскости. Если точка совпадает с началом координат, то вывести 0. Если точка не совпадает с началом координат, но лежит на оси OX или OY, то вывести соответственно 1 или 2. Если точка не лежит на координатных осях, то вывести 3.

program if21; var x, y: integer; begin read(x, y); if (x = 0) and (y = 0) then write(0) else if x = 0 then write(2) else if y = 0 then write(1) else write(3); end.

If22°. Даны координаты точки, не лежащей на координатных осях OX и OY. Определить номер координатной четверти, в которой находится данная точка.

Если кто-то не помнит как располагаются координатные четверти, вот небольшая картинка.

program if22; var X, Y: integer; begin write('Введите X: '); read(X); write('Введите Y: '); read(Y); if (X > 0) and (Y > 0) then write(1); if (X < 0) and (Y > 0) then write(2); if (X < 0) and (Y < 0) then write(3); if (X > 0) and (Y < 0) then write(4); end.

If23. Даны целочисленные координаты трех вершин прямоугольника, стороны которого параллельны координатным осям. Найти координаты его четвертой вершины.

Очень много if. Суть метода в том, что сравнивая введенные x  и  y друг с другом, мы находим, какие точки лежат на одной прямой, какие нет, а затем в зависимости от их положения находим неизвестный x и y.

program if23; var x1, y1, x2, y2, x3, y3, x4, y4: integer; begin write('Введите x1. y1: '); readln(x1, y1); write('Введите x2, y2: '); readln(x2, y2); write('Введите x3, y3: '); readln(x3, y3); if x1 = x2 then x4 := x3; if x1 = x3 then x4 := x2; if x2 = x3 then x4 := x1; if y1 = y2 then y4 := y3; if y1 = y3 then y4 := y2; if y2 = y3 then y4 := y1; writeln('Координаты четвертой вершины: (', x4, ';', y4,')' ); end.

If24. Для данного вещественного x найти значение следующей функции f, принимающей вещественные значения: f(x) =
2·sin(x), если x > 0,
6 – x, если x ≤ 0.

program if24; var x, f: real; begin write('Введите X: '); readln(x); if x > 0 then f := 2 Sin(x) else f := 6 - x; writeln('f(x) = ', f:1:2); end.

If25. Для данного целого x найти значение следующей функции f, принимающей значения целого типа: f(x) =
2·x, если x < –2 или x > 2,
–3·x, в противном случае.

program if25; var x, f: integer; begin write('Введите X: '); readln(x); if (x < -2) or (x > 2) then f := 2 x else f := -3 x; writeln('f(x) = ', f); end.

If26°. Для данного вещественного x найти значение следующей функции f, принимающей вещественные значения: f(x) =
–x, если x ≤ 0,
 x2, если 0 < x < 2,
4, если x ≥ 2.

program if26; var x, f: real; begin write('Введите X: '); readln(x); if (x <= 0) then f := -x else if (x >= 2) then f := 4 else f := Sqr(x); writeln('f(x) = ', f:1:2); end.

If27. Для данного вещественного x найти значение следующей функции f, принимающей значения целого типа: f(x) = 
0, если x < 0,
1, если x принадлежит [0, 1), [2, 3), … ,
–1, если x принадлежит [1, 2), [3, 4), … .

Как решать эту задачу? Давайте поразмышляем. Посмотрите на второе условие, нижняя граница полуинтервала — четное число. Любое число в этом интервале задается формулой — четное число . набор цифр. Тогда наша цель — достать целую часть из вещественного числа. Для этого используем функцию trunc. Осталось только узнать четность числа, в этом нам помогут div и mod.

program if27; var f, x: real; begin write('Введите X = '); {предположим вы ввели 1.5} readln(X); if (x < 0) then f := 0 else if (Trunc(x) mod 2 = 0) then f := 1 { trunk(1.5) = 1, 1 mod 2 <> 0} else f := -1; writeln('f(x) = ', f); { вывод: -1} end.

If28. Дан номер года (положительное целое число). Определить количество дней в этом году, учитывая, что обычный год насчитывает 365 дней, а високосный — 366 дней. Високосным считается год, делящийся на 4, за исключением тех годов, которые делятся на 100 и не делятся на 400 (например, годы 300, 1300 и 1900 не являются високосными, а 1200 и 2000 — являются).

program if28; var year: integer; begin write('Введите год: '); readln(year); if year mod 4 = 0 then if year mod 100 = 0 then if year mod 400 <> 0 then write('365 дней') else write('366 дней') else write('366 дней') else write('365 дней'); end.

If29. Дано целое число. Вывести его строку-описание вида «отрицательное четное число», «нулевое число», «положительное нечетное число» и т. д.

program if29; var number: integer; begin write('Введите число: '); readln(number); if number = 0 then begin write('нулевое число'); exit // обрывает работу программы end else if number > 0 then write('Положительное ') else write('Отрицательное '); if number mod 2 = 0 then write('четное ') else write('нечетное '); end.

If30. Дано целое число, лежащее в диапазоне 1–999. Вывести его строку-описание вида «четное двузначное число», «нечетное трехзначное число» и т. д.

program if30; var a: integer; begin write('Введите число: '); read(a); if Odd(a) then write('Нечетное ') else write('Четное '); if a >= 100 then write('трехзначное число') else if a < 10 then write('однозначное число') else write('двухзначное число'); end.

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


Источник: http://learnpascal.ru/reshenie-zadach/if/if16-30.html


Решение 50 типовых задач по программированию на языке Решебник для spotlight тетрадь 11 класс



Решение задач на системе паскаль Готовые решения задач Паскаль. Решение Pascal. Задачи
Решение задач на системе паскаль Решение задач. День десятый. Задачи If16-30. - Паскаль
Решение задач на системе паскаль Задачи на Pascal Программирование для начинающих
Решение задач на системе паскаль Решение задач на языке Паскаль Pascal бесплатно
Решение задач на системе паскаль Решение системы уравнений
Решение задач на системе паскаль Pascal Решение задач
MySQL Википедия Английский язык. 5 класс: купить учебники, учебно ГДЗ Решебник Русский язык 5 класс Л.А. Мурина ГДЗ по Русскому языку за 8 класс: Тростнецова Л.А. Решебник ГДЗ по русскому языку 7 класс - решебник, ответы онлайн ГДЗ, Решебник. Русский язык 10-11 классы. Гольцова Н.Г ЕГЭ по математике 2018, единый государственный экзамен по