11.07.2008, 19:14
общий
это ответ
<font color=blue><b>!!!</b></font>
Здравствуйте, Alex Logon !
Предлагаю свой вариант решения задач №№ 5,6,7,8.
Удачи!<p><fieldset style=‘background-color:#EFEFEF; width:80%; border:blue 1px solid; padding:10px;‘ class=fieldset><font color=blue><i>Эксперт невнимательно прочитал условие задачи №7, нужна побочная диагональ и условный оператор должен быть построен как у эксперта Пупорева Юрия Борисовича.
Невнимательность первым обнаружил выше названный эксперт.</i>
-----
</font><font color=#777777 size=1><b>• Отредактировал: <a href=http://rusfaq.ru/info/user/31795 target=_blank>Зенченко Константин Николаевич</a></b> (Профессор)
<b>• Дата редактирования:</b> 12.07.2008, 00:56 (MCK)</font></fieldset>
Приложение:
#5
var
ch, sum: integer; {переменная ch будет содержать введённое с клавиатуры число, sum - сумма цифр числа ch}
begin
readln(ch); {считываем число}
writeln(‘Last number is ‘, ch mod 10); {выводим на экран последнюю цифру (остаток от деления числа на 10)}
sum:= 0; {изначально сумма цифр равна 0}
{задаём цикл}
While ch <> 0 do {до тех пор пока число не равно нулю, выполняем следующее ...}
begin
sum:= sum + ch mod 10; {к сумме цифр прибавляем остаток отделения числа ch на 10 (таким образом мы отделяем последнюю цифру числа ch)}
ch:= ch div 10; {делим число ch на 10, опуская остаток}
end;
{цикл окончен}
writeln(‘Sum of numbers is ‘, sum); {выводим на экран результат программы}
readln; {ожидаем нажатия клавиши "Enter"}
end.
#6
const
n = 5; {размерность массива}
var
ms: array [1..n] of integer; {собственно сам массив}
i,ch: integer; {переменная i - индекс элементов массива, ch - число, вхождение в массив которого необходимо определить}
rez: boolean; {результат (если TRUE - число входит в массив, если FALSE - нет)}
begin
write(‘Type your number now ‘);
readln(ch); {считываем число для поиска его среди элементов массива}
writeln(‘Input array now‘);
rez:= true; {предполагаем, что результат поиска будет положительным}
{задаём цикл заполнения массива и поиска в нём заданного числа}
for i:=1 to n do
begin
readln(ms[i]); {считываем элемент массива с клавиатуры}
rez:= rez and (ms[i] <> ch); {формируем результат}
end;
{завершаем цикл}
writeln(not rez); {выводим на экран результат работы программы *см. пояснение результат выше*}
readln;
end.
#7
const
n = 6; {размерность массива}
var
ms: array [1..n, 1..n] of integer; {наш двухмерный массив}
i,j: integer; {индексы элементов массива}
begin
for i:=1 to n do
begin
for j:=1 to n do
begin
if i=j then ms[i,j]:= 5; {если первый индекс равен второму, то элемент находится на диагонали}
if i>j then ms[i,j]:= 1; {если первый индекс больше второго, значит элемент находится под диагональю}
if i<j then ms[i,j]:= i+j; {элемент находится над диагональю, если первый индекс меньше второго}
write(ms[i,j]:4); {выводим элемент матрицы на экран}
end;
writeln; {переходим на следующую строку экрана}
end;
readln;
end.
#8
var
s: string; {наша строка}
count: integer; {счётчик вхождений элемента "a" ( !!! латинская !!!) в строку s}
begin
readln(s); {считываем строку}
count:= 0; {счётчик изначально равен нулю}
if pos(‘a‘, s)<>0 then {если элемент "a" имеет место быть в строке s, то входим в цикл}
Repeat
delete(s, pos(‘a‘, s), 1); {удаляем элемент "a" из строки s}
inc(count); {счётчик увеличиваем на единичку}
Until pos(‘a‘, s)=0; {цикл выполняется до тех пор, пока в строке не останется ни единого элемента "a"}
write(count); {выводим результат на экран}
readln;
end.