Книга программиста/Задачи на ввод и вывод: различия между версиями
Содержимое удалено Содержимое добавлено
Byzantine (обсуждение | вклад) м орфография |
DannyS712 (обсуждение | вклад) м <source> -> <syntaxhighlight> (phab:T237267) |
||
Строка 5:
Вывести 2, если пользователь ввел 1.
Вывести 1, если пользователь ввел 2.
<
begin
Writeln(3 - ReadlnInteger());
end.
</syntaxhighlight>
=Вывод диапазона чисел=
<
begin
for var i := ReadlnInteger('A:') to ReadlnInteger('B:') do WriteLn(i);
end.
</syntaxhighlight>
Сначала установится последнее значение счётчика цикла, затем - первое.
=Сравнение площадей кругов=
<
function Square(r: real) := Pi * Sqr(r);
Строка 24:
WritelnFormat('Первый круг {0} второго.', Square(ReadlnInteger('R1:')) > Square(ReadlnInteger('R2:')) ? 'больше' : 'меньше');
end.
</syntaxhighlight>
=Вывод диапазона чисел (вариант 2)=
<
var
N: integer;
Строка 35:
for N := 1 to N do WriteLn(N);
end.
</syntaxhighlight>
Сначала вычислится последнее значение счётчика, которое примет значение 5. Затем - первое, которое будет иметь значение 1.
=Выражение с модулем=
<
begin
WritelnFormat('|ax - b| = {0}.', Abs((ReadlnReal('A:') * ReadlnReal('X:')) - ReadlnReal('B:')));
end.
</syntaxhighlight>
=Максимум из трех чисел=
<
begin
var A := ReadlnInteger('A:');
Строка 56:
if B > C then Writeln(B) else Writeln(C);
end.
</syntaxhighlight>
=Таймер=
<
uses Crt;
var
Строка 96:
end;
end.
</syntaxhighlight>
=Чтение массива=
<
const
N = 10;
Строка 110:
Writeln(A);
end.
</syntaxhighlight>
<
//Аналог через ReadArrInteger(10).
begin
var A := ReadArrInteger(10);
end.
</syntaxhighlight>
=Заполнение и вывод массива процедурами=
<
const
N = 3;
Строка 146:
ShowArray(3);
end.
</syntaxhighlight>
=Поиск минимума=
<
const
N = 10;
Строка 168:
Writeln(Min);
end.
</syntaxhighlight>
<
//Аналог через ReadArrInteger(10).Min().
begin
var Min := ReadArrInteger(10).Min();
end.
</syntaxhighlight>
=Минимум среди положительных чисел=
<
const
N = 4;
Строка 205:
Writeln('Нет положительных элементов.');
end.
</syntaxhighlight>
=Поиск максимума=
<
const
N = 10;
Строка 227:
Writeln(Max);
end.
</syntaxhighlight>
<
//Аналог через ReadArrInteger(10).Max().
begin
var Max := ReadArrInteger(10).Max();
end.
</syntaxhighlight>
=Максимум среди положительных элементов=
<
const
N = 4;
Строка 264:
Writeln('Нет положительных элементов.');
end.
</syntaxhighlight>
=Числа с делителями 2, 3 и 5=
<
begin
var N := ReadlnInteger();
Строка 283:
end;
end.
</syntaxhighlight>
<
//Аналог через готовые методы.
begin
Writeln(ReadArrInteger(ReadlnInteger()).Where(x -> x mod 2 + x mod 3 + x mod 5 = 0).Count());
end.
</syntaxhighlight>
=Задача о среднем арифметическом=
# Вывести среднее арифметическое элементов больших A с чётными индексами.
# Вывести количество ненулевых элементов.
<
begin
var A := ReadlnInteger();
Строка 307:
WritelnFormat('Количество ненулевых чисел равно {0}.', Numbers.Where(x -> x <> 0).Count());
end.
</syntaxhighlight>
=Обычный и високосный года=
<
begin
var Y := ReadlnInteger();
Строка 318:
WritelnFormat('{0} - високосный год.', Y);
end.
</syntaxhighlight>
=Запись чисел в типизированный файл=
<
var
F: file of integer;
Строка 333:
Close(F);
end.
</syntaxhighlight>
=Задача про шкафы=
Даны длины ребер шкафа A, B и C. Дана ширина и высота дверного проема. Узнать можно ли протолкнуть шкаф сквозь дверной проем.
<
function F(a1, a2, b1, b2: real) := ((a1 < b1) and (a2 < b2)) or ((a2 < b1) and (a1 < b2));
Строка 349:
WritelnFormat('Протолкнуть шкаф в отверстие {0}возможно.', (F(A, B, X, Y) or F(B, C, X, Y) or F(A, C, X, Y)) ? '' : 'не');
end.
</syntaxhighlight>
=Вставка элемента=
Вставить после элемента, равного K, элемент со значением последнего.
<
const
N = 5;
Строка 385:
WriteFormat('{0} ', A[i]);
end.
</syntaxhighlight>
<
//Аналог через готовые методы.
begin
Строка 394:
Writeln(A);
end.
</syntaxhighlight>
=Числа Фибонанччи=
<
var N := ReadlnInteger('N:');
var K := 3;
Строка 416:
end;
Writeln();
end.</
=Шахматная доска=
В сказочном городе BykhovTown праздник! Приехали герои всеми любимых мультфильмов. Мудрая Сова привезла с собой шахматы. Но выслушать и запомнить правила игры полностью смог только Кролик. В связи с этим, Сова решила упростить правила. В результате нововведений на доске остались только 2 фигуры, которые, для простоты запоминания, было решено назвать в честь жителей городка. Одна из фигур – это «Кубыш». А вторую фигуру единогласно было решено назвать Мишка. Мишка недоволен ходами существующих фигур и хочет ходить (а точнее прыгать), по-своему. А точнее он хочет, чтобы его фигура могла прыгать либо на две клетки по вертикали или горизонтали, либо на одну клетку по диагонали. Так же Сова решила, что будет справедливо, если фигура «Кубыш» не будет ходить, поскольку настоящий «Кубыш» обычно прячется в засаде и не двигается, чтобы его не заметили.
Помогите жителям города понять, сумеет ли Мишка схватить, то есть попасть в одну клетку с Кубышом в ходе шахматной партии за один ход.
<
begin
var C := (ReadlnInteger('X:'), ReadlnInteger('Y:'));
Строка 429:
((Abs(C.Item1 - Target.Item1) = 1) and (Abs(C.Item2 - Target.Item2) = 1)) ? '' : 'не');
end.
</syntaxhighlight>
=Месяцы и дни=
Вывести словами дату, записанную в формате: '''DD:MM''', где '''DD''' - день, а '''MM''' - месяц. Числа меньше 10 вводятся подобно следующему: 01.
<
var
Date: string[5];
Строка 494:
Writeln('Либо Day, либо Month принимает значение, не принадлежащее [1..31] или [1..12] соответственно.');
end.
</syntaxhighlight>
|