Пожалуйста помогите с программой по информатике!(
10-11 класс
|
Задана последовательность целых чисел(ввод с клавиатуры),количество которых не превосходит 100.Требуется расположить элементы последовательности в возрастающем порядке.
const
nm = 100;{максимальная длина массива}
var
i, j, n, step, t: integer;
a: array[1..nm] of integer;
begin
Write('Введите количество элементов в массиве: ');
Readln(n);
Write('Введите элементы массива через пробел ');
for i := 1 to n do Read(a[i]);
{ сортировка методом Шелла }
step := n div 2;
while step > 0 do
begin
for j := n - step downto 1 do
begin
i := j;
while i <= n - step do
begin
if a[i] > a[i + step] then begin
t := a[i]; a[i] := a[i + step]; a[i + step] := t
end;
i := i + step
end
end;
step := step div 2
end;
Writeln('*** Отсортированный массив ***');
for i := 1 to n do Write(a[i], ' ')
end.
Тестовое решение:
Введите количество элементов в массиве: 15
Введите элементы массива через пробел 15 26 -35 7 0 21 5 9 27 0 -11 26 4 42 -23
*** Отсортированный массив ***
-35 -23 -11 0 0 4 5 7 9 15 21 26 26 27 42
Другие вопросы из категории
"мигает"). Какое наименьшее количество лампочек должно находиться на табло, чтоб с его помощью можно было передать 18 различных сигналов?
1) 156,25 - из десятичной в двоичную, восьмеричную и в шестнадцатиричную.
2) 797,5 и 53,74 аналогично
Читайте также
13.
Нужно написать программу на цикле с предусловием, на Паскале.
a := 3 + 3*4;
b := (a div 10) + 4;
a := (b mod 10) + 2;
b:= a + b;
a:= a mod 2 + b div 3;
1) a=4, b=14;
2) a= 24, b= 6;
3) a=5, b=12;
4) a=8, b=12.
А2. Для какого из указанных значений числа X истинно высказывание
((X < 5)→(X < 3)) Ù ((X < 2)→(X < 1))
1) 1
2) 2
3) 3
4) 4
А3. Укажите, какое логическое выражение равносильно выражению ¬(A Ú ¬B Ú C) ?
1) ¬A Ú B Ú ¬C
2) A Ù ¬B Ù C
3) ¬A Ú ¬B Ú ¬C
4) ¬A Ù B Ù ¬C
X
Y
Z
F
1
1
1
1
1
1
0
1
1
0
1
1
А4. Символом F обозначено одно из указанных ниже логических выражений от трех аргументов: X, Y, Z. Дан фрагмент таблицы истинности выражения F (см. таблицу справа).
Какое выражение соответствует F?
1) X Ú ¬Y Ú Z
2) X Ù Y Ù Z
3) X Ù Y Ù ¬Z
4) ¬X Ú Y Ú ¬Z
А5. Что будет выведено на печать в результате выполнения следующих операторов:
a := 5; b := 10;
write( 'сумма двух чисел ' ); write( 'a+b' );
write( ' = ', a+b );
1) сумма двух чисел 5+10 = 15
2) сумма двух чисел a+b = 15
3) сумма двух чисел 5+10 = a+b
4) сумма двух чисел a+b = 5+10
5) ни один из ответов 1-4 не верен
А6. Чему было равно значение переменной a, если после выполнения операций
b := sqrt( sqr(a+1) );
c := -b;
a := 1 + 2 / (c-b);
она стала равна 0 ?
1) 2
2) 0
3) –1
4) любое вещ. число, не равное -1
5) ни один из ответов 1-4 не верен
А7. Чему будет равно значение А после выполнения цикла
а:=1024;
While a>0 do
a:=a / 2;
1) 0
2) 1
3) зациклится
4) 512
5) ни один из ответов 1-4 не верен
A8. Сколько раз выполнится тело цикла?
A:=32;
While A>2 do
Begin A:=A / 2; writeln(‘A’); end;
1) 8
2) 6
3) 5
4) 4
5) 3