// PascalABC.Net
// Первая программа, если необходимо выбрать нечетные элементы и их отсортировать.
begin
var a := ArrRandom(10);
writeln('Исходный массив: ');
a.PrintLn(', ');
writeln('Отсортированный массив нечетных элементов: ');
a.Where(e -> e mod 2 <> 0).OrderBy(e -> e).Print(', ');
end.
// Вторая программа, если необходимо в исходном массиве отсортировать нечетные значения
begin
var a := ArrRandom(10);
writeln('Исходный массив: ');
a.PrintLn(', ');
writeln('Отсортированный массив нечетных элементов: ');
var odd := a.Select((e, i) -> (i, e)).Where(e -> e[1] mod 2 <> 0).OrderBy(e -> e[1]);
var sortedOdd := odd.Zip(odd.Select(e -> e[0]).OrderBy(e -> e), (f, s) -> (s, f[1]));
foreach var e in sortedOdd do
a[e[0]] := e[1];
a.PrintLn(', ');
end.
1)
2)
x := x – 1;
Until x mod 17 <> 0;
Объяснение:
1)
x = 10
для i от 10 до 2 выполнить x = x - i
i = 10 x = 10 - 10 = 0
i = 9 x = 0 - 9 = -9
i = 8 x = -9 - 8 = -17
i = 7 x = -17 - 7 = -24
i = 6 x = -24 - 6 = -30
i = 5 x = -30 - 5 = -35
i = 4 x = -35 - 4 = -39
i = 3 x = -39 - 3 = -42
i = 2 x = -42 - 2 = -44
2)
Var x: integer;
Begin
x := 500;
Repeat
x := x + 1;
Until x mod 17 = 0;
Writeln (x);
End.
x := x - 1; - необходимо найти число большее 500, поэтому x надо увеличивать на 1, а не уменьшать
Until x mod 17 <> 0; - цикл с постусловием работает пока условие ложно, поэтому чтобы найти число кратное 17 условие должно иметь вид x mod 17 = 0
a:byte;
begin
write('Enter number days, or 0, to exit application->');
repeat
readln(a);
If a=1 Then writeln('Monday');
If a=2 Then writeln('Tuesday');
If a=3 Then writeln('Wednesday');
If a=4 Then writeln('Thursday');
If a=5 Then writeln('Friday');
If a=6 Then writeln('Saturday');
If a=7 Then writeln('Sunday');
until a=0;
writeln('Goodbye');
end.