Решение задачи №2 «Арифметика в различных системах счисления»
Постановка задачи
Выполнить вычисление B7D16 – 2506.
Решение
Заданные числа записаны в различных системах счисления. Для решения задачи необходимо перевести оба числа в одну систему счисления и выполнить вычисления в ней.
B7D16 = 11*162 + 7*161 +13*160 = 11*256+112+13=294110
2506 = 2*62 + 5*61 +0*160 = 2*36 + 30 =10210
294110 + 10210 = 304310
Ответ
B7D16 – 2506= 304310
Решение задачи №3 «Массивы»
Постановка задачи
Дан двумерный массив (матрица) размером NM.
Определить сумму элементов, значения которых больше или равны заданному числу F.
Найти местоположения максимальных элементов массива.
Решение
На рисунке 4 показана блок-схема алгоритма решения задачи.
Рисунок 4 Блок-схема
Текст программы
Program massiv2;
Uses crt;
Const n=5; m=6;
Var a:array[1..n,1..m]of integer;
F,max,s:integer;
i,j:byte;
Begin
clrscr;
writeln('Введите число F');
readln(F);
randomize;
s:=0;
for i:=1 to n do
for j:=1 to m do
begin
a[i,j]:=-5+random(10);
if a[i,j]>=F then s:=s+a[i,j]
end;
writeln('Сумма элементов, значения которых больше или равны заданному числу ',s);
max:=a[1,1];
writeln('Массив');
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:4);
writeln
end;
max:=a[1,1];
for i:=1 to n do
for j:=1 to m do
if a[i,j]>max then max:=a[i,j];
writeln('Максимум = ', max);
writeln('Расположение максимальных элементов');
writeln('i j');
for i:=1 to n do
for j:=1 to m do
if a[i,j]=max then writeln(i,' ',j);
readln;
End.
Результаты работы программы приведены на рисунке 5.
Рисунок 5 Результаты счета программы
Входными данными для решения задачи являются размерность массива, которая определяется в разделе Const (здесь n– число строк, m – число столбцов) и F (заданное число).
Для ввода элементов массива использован генератор случайных чисел (Randomize). Он сгенерирует случайные числа по формуле a[i,j]:= –+random(10), которая определяет интервал случайных чисел [-5, 4].
Для вывода элементов массива использована последовательность операторов
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:4);
writeln
end;
Она организует вывод массива в виде прямоугольной матрицы.
Результатами решения задачи являются:
– матрица случайных чисел размерности NM
– сумма элементов, значения которых больше или равны заданному числу F;
if a[i,j]>=F then s:=s+a[i,j]
–индексы максимальных элементов массива.
if a[i,j]=max then writeln(i,' ',j);
Решение задачи №4 «Строки»
Постановка задачи
Определить, сколько раз в строке встречается заданный символ, и указать позиции этого символа в строке.
Решение
Программный код представлен на рисунке 6, блок-схема алгоритма показана на рисунке 8, а результат работы программы – на рисунке 7.
Рисунок 6 Текст программы
Рисунок 7 Результат счета программы
Рисунок 8 Блок-схема
Ввод строки и искомого символа осуществляется с клавиатуры
readln(s);
readln(a);
Количество символов в строке вычисляет оператор length(s)
Результатами решения задачи являются:
– количество заданных символов в строке
if s[i]=a then k=k+1]
–позиции заданного символа в строке
if s[i]=a then writeln(i:30);
