Массивы
Задача 2.
program massiv;
var
mas:array[1..5] of integer;
N,i,j,p : integer;
begin
for n:=1 to 5 do //заполняем массив случайными числами
begin
randomize;
mas[n]:=random(100);
end;
for i:=1 to n do //Сортируем массив
for j:=1 to n-1 do
if mas[j]>mas[j+1] then
begin
p:=mas[j];
mas[j]:=mas[j+1];
mas[j+1]:=p;
end;
for n:=1 to 5 do //выводим отсортированый массив на экран
writeln(mas[n]);
end.
n - количество ячеек в одномерном массиве, в данном случаее их 5;
сортируем по возрастанию. Чтоб отсортировать по убыванию нужно в строке if mas[j]>mas[j+1] then поменять ">" на "<"
Строки:
Задача 1
//Объявляем переменные
program zamena;
var
text,s:string;
i:integer;
begin
write('Введите строку');
readln(text); //Вводим строку
s:=text;
for i:=1 to length(s) do //Начинаем замену "а" на "б"
if s[i]='а' then
s[i]:='б';
end;
for i:=1 to length(s) do
if s[i]:='б' then
s[i]:='а'; //Заменяем обратно "б" на "а"
end;
write(s); //выводим измененную строку на экран
end.
Задача 2
//Объявляем переменные
Program Palindrom;
var
text,n1,n2:string;
begin
write('Введите слово');
readln(text);
begin
text:=edit1.Text;
if (text[1]=text[length(text)]) and
(text[2]=text[length(text)-1]) then //Сравниваем 2 первых и 2 последних буквы в слове
WriteLn('Слово является палиндромом')
else
WriteLn('Слово неявляется палиндромом');
end.
Этот код не совершенен, т.к. проверяется только 2 первые и 2 последние буквы. Но на данный момент я ниче лучшего не придумал :)
Задача 3
program Summa;
function StrToInt(s:string):integer; //Ф-ция для преобразования STRING в INTEGER
var
i:integer;
code:integer;
begin
val(s,i,code);
strtoint:=i;
end;
var
text:string;
i,sum,pr:integer;
begin
readln(text);
for i:=1 to length(text) do //Находим сумму всех цифр данного числа
begin
sum:=strtoint(text[i])+sum;
pr:=strtoint(text[i])*sum; //Находим произведение всех цифр данного числа
end;
writeln(sum); //Выводим сумму
writeln(pr); //Выводим произведение
end.