Pascal 1. Сформировать массив из n элементов, представляющий собой арифметическую последовательность с шагом h, значение первого элемента массива равно 1.
Количество элементов n и шаг h задавать через константы.
2. Создать программу, реализующую Фибоначчиев поиск элемента с ключом k в массиве. Значение элемента вводить с клавиатуры.
В Древнем Египте наряду со значками , обозначавшими целые понятия и слова, существовали и другие знаки, обозначавшие слоги и даже отдельные звуки . Потребность в таких знаках очевидна, так как не все можно выразить в виде изображений (прежде всего, это касается личных имен).
В этих случаях египтяне превращали слова иероглифы в буквы иероглифы, из которых и составлялись слова, подлежащие передаче на письме согласно их звучанию. Например иероглиф «хт» — изображение дома — сделался двухбуквенным иероглифом, обозначающим звук [хт], иероглиф «мн» — изображение шахматной доски — стал иероглифом, обозначающим два звука [мн] и т.д. На первых порах значение фонетических иероглифов было вс но со временем их роль все более возрастала, и в последние века существования египетской письменности значение фонетических иероглифов стало господствующим. Но к чисто фонографическому письму (то есть такому, где каждый знак обозначает отдельный звук или букву) египтяне так и не перешли . Это важное усовершенствование было сделано в письме других народов.
var
i,a,b:integer;
ar:array[1..10] of integer;
procedure oddDec(var a,b:integer); //подпрограмме переданы аргументы a и b
//процедура для вычитания в нечётном элементе
begin;
a:=a-b;
end;
procedure NotoddInc(var a,b:integer); //подпрограмме переданы аргументы a и b
//процедура для сложения в чётном элементе
begin;
a:=a+b;
end;
begin
randomize;
readln(a); //ввод a
readln(b); //ввод b
writeln('Array:');
for i:=1 to 10 do //весь массив
begin;
ar[i]:=random(-20,80); //случайные числа от -20 до 80 включительно
write(ar[i]:4); //вывод
if odd(i) then oddDec(ar[i],b) else NotoddInc(ar[i],a);
{если нечётное, то первая процедура, иначе вторая. Обращаю внимания на то, что элементы меняются сразу после вывода}
end;
writeln;
writeln('Final array:'); //вывод получившегося массива
for i:=1 to 10 do
write(ar[i]:4);
end.
Пример ввода:
20
10
Пример вывода:
Array:
10 16 0 60 23 4 22 -20 4 55
Final array:
0 36 -10 80 13 24 12 0 -6 75