Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Образец ПЗ ПАскаль + системы счисления.doc
Скачиваний:
4
Добавлен:
27.11.2019
Размер:
265.73 Кб
Скачать

Решение задачи №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.

  1. Определить сумму элементов, значения которых больше или равны заданному числу F.

  2. Найти местоположения максимальных элементов массива.

Решение

На рисунке 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);