Смекни!
smekni.com

Методические рекомендации по выполнению расчетного задания по курсу «Информатика» для студентов специальностей 200106 «Информационно-измерительная техника и технологии» (стр. 7 из 11)

end;

writeln;

end;

writeln;

for i:=1 to n do begin

for j:=1 to m do begin write (a[j,i]:3); end;

writeln;

end;

readkey;

end.

Пример 4. Составить программу вычисления произведения двух квадратных целочисленных матриц А и В размером 5´5. Элементы результирующей матрицы С вычисляются по формуле

где n - размерность матриц А и В.

Решение:

const n=5;

var i,j,k:integer;

a,b,c:array[1..n,1..n] of integer;

begin

randomize;

for i:=1 to n do

for j:=1 to n do

begin

a[i,j]:=random(20);

b[i,j]:=random(15);

end;

for i:=l to n do

for j:=1 to n do begin

c[i,j]:=0;

for k:=l to n do c[i,j]:=c[i,j]+a[i,k]*b[k,j];

end;

for i:=1 to n do begin

for j:=1 to m do

write (a[i,j], ' ');

writeln;

end;

readln;

end.

Пример 5. В двумерной матрице удалить строку с номером k.

Решение:

const n=5; m=4;

var i,j,k:integer; a:array[1..n,1..m] of integer;

begin

randomize;

for i:=1 to n do

for j:=1 to m do

a[i,j]:=random(20);

for i:=1 to n do begin

for j:=1 to m do

write (a[i,j],' ');

writeln;

end;

write('введите номер строки');

readln(k);

for i:=k to n-1 do

for j:=l to m do a[i,j]:=a[i+1,j];

for i:=1 to n-1 do begin

for j:=1 to m do

write (a[i,j], ' ');

writeln;

end;

readln;

end.

Пример 6. Дан целочисленный вектор положительных элементов. Найти среднее арифметическое его элементов, выяснить, является ли данное натуральное число совершенным (натуральное число называется совершенным, если оно равно сумме своих делителей, исключая само число, например 6=1+2+3).

Решение:

uses crt;

var i,m,k,sum:longint; s:real;

a:array [1..20] of longint;

b:array [1..50] of longint;

begin

clrscr;

write('введите кол-во элементов:'); readln(m);

for i:=1 to m do

begin

write('a[',i,']='); readln(a[i]); s:=s+a[i];

end;

s:=s/m;

writeln('среднее арифметическое:',s); m:=round(s);

write('при округлении');

if m=1 then begin write('совершенное');

readln;

halt;

end;

sum:=0; k:=1;

for i:=1 to m-1 do if m mod i=0 then

begin

b[k]:=i;inc(k);

end;

for i:=1 to k-1 do sum:=sum+b[i];

if m=sum then write('совершенное')

else write('не совершенное');

readln;

end.

Пример 7. Дано число a. Выбросить из него все единицы и пятёрки, оставив порядок цифр, например, 527012 преобразуется в 2702. Использовать для задания числа n одномерный массив.

Решение:

uses crt; const n=10;

var b:array[1..n]of string;

a,c:string; i,j,k:integer;

begin

clrscr;

write('введите число'); readln(a);

j:=0;k:=0;c:='';

for i:=1 to length(a)do {просмотр всего массива с первого до конечного элемента}

if (a[i]<>'1')and(a[i]<>'5')then

begin

j:=j+1; k:=k+1;

b[j]:=a[i];

end;

for j:=1 to k do c:=c+b[j];

write('полученное число',c);

readln;

end.

Пример 8. Перевести число из десятичной в двоичную систему счисления.

Решение:

uses crt;

var b,c: array [1..10] of longint;

j,k,g,n: longint;

begin

clrscr;

write('введите десятичное число:'); readln(n);

j:=0; k:=0; g:=0;

while n>=15 do

begin

j:=j+1; k:=k+1;

b[j]:=n mod 2;

n:=n div 2;

end;

for j:=1 to k do {соединение и переворот}

g:=g*10+b[k+1-j];

write('полученное число',g);

readln;

end.

4.5 Задачи для самостоятельного решения по теме
«Одномерные массивы»

1. Введите с клавиатуры в массив пять целочисленных значений. Выведите их в одну строку через запятую. Получите для массива среднее арифметическое.

2. Введите с клавиатуры пять целочисленных элементов массива X. Выведите на экран значения корней и квадратов каждого из элементов массива.

3. Создайте массив из пяти фамилий и выведите их на экран столбиком, начиная с последней.

4. Ввести с клавиатуры целочисленный массив размерности n (задана константой). Найти второй по величине элемент и его индекс. Вывести на экран найденный элемент, его индекс.

5. Создайте массив А[1..8] с помощью генератора случайных чисел с элементами от –10 до 10 и выведите его на экран. Подсчитайте количество отрицательных элементов массива.

6. Создайте массив А[1..12] с помощью генератора случайных чисел с элементами от –20 до 10 и выведите его на экран. Замените все отрицательные элементы массива числом 0.

7. Создайте целочисленный массив А[1..15] с помощью генератора случайных чисел с элементами от –15 до 30 и выведите его на экран. Определите самый большой элемент массива и его индекс.

8. Ввести с клавиатуры целочисленный массив из n элементов (задано константой). Подсчитать количество чисел, значение которых (x) лежит в заданных пределах L<x<M, где L и M вводятся с клавиатуры. Вывести на экран полученное значение.

9. Ввести с клавиатуры целочисленный массив из n элементов (задано константой). Подсчитать количество чисел, значение которых меньше значений обоих соседних элементов. Вывести на экран полученное значение

10. Ввести с клавиатуры вещественный массив из n элементов (задано константой). Вычислить разность суммы элементов с четными индексами и суммы элементов с нечетными индексами. Вывести на экран полученное значение.

11. Заполнить массив из 15 целочисленных элементов числами
1, 1, 2, 3, 5, 8, … (первые два числа – единицы, каждое последующее равно сумме двух предыдущих). Вывести массив на экран.

12. В одномерном массиве, состоящем из n вещественных элементов, вычислить:

а) сумму отрицательных элементов массива;

б) произведение элементов массива, расположенных между максимальным и минимальным элементами;

в) упорядочить элементы массива по возрастанию.

13. Сформируйте линейный массив вещественных чисел, элементы которого являются расстояниями, пройденными телом при свободном падении на землю за 1, 2, …, 10 с.

14. В одномерном массиве, состоящем из n вещественных элементов, вычислить:

а) количество элементов массива, равных нулю;

б) сумму элементов массива, расположенных после минимального элемента;

в) упорядочить элементы массива по возрастанию модулей.

15. Дан линейный массив целых чисел. Проверьте, является ли он упорядоченным по убыванию.

16. Найти сумму положительных элементов линейного массива целых чисел. Размерность массива – 10. Заполнение массива осуществить с клавиатуры.

17. Найти сумму четных элементов массива целых чисел. Размерность массива – 20. Заполнение массива осуществить случайными числами от 100 до 200.

18. Найти произведение элементов массива целых чисел, которые кратны 7. Размерность массива – 15. Заполнение массива осуществить случайными числами от 10 до 50.

19. Найти сумму элементов массива вещественных чисел, имеющих нечетные номера. Размерность массива – 20. Заполнение массива осуществить случайными числами от 100 до 200.

20. Найти произведение всех элементов массива целых чисел, меньших 0. Размерность массива – 10. Заполнение массива осуществить с клавиатуры.

21. Найти сумму всех элементов массива целых чисел, удовлетворяющих условию: остаток от деления на 3 равен 2. Размерность массива – 20. Заполнение массива осуществить случайными числами от 200 до 300.

22. Найти сумму всех элементов массива вещественных чисел, больших заданного числа. Размерность массива – 20. Заполнение массива осуществить случайными числами от 50 до 100.

23. Найти произведение всех элементов массива вещественных чисел, меньших заданного числа. Размерность массива – 10. Заполнение массива осуществить случайными числами от 50 до 100.

24. Найти произведение элементов массива, кратных 3 и 9. Размерность массива – 10. Заполнение массива осуществить случайными числами от 5 до 500.

25. Найти сумму всех элементов массива целых чисел, которые меньше среднего арифметического элементов массива. Размерность массива – 20. Заполнение массива осуществить случайными числами от 150 до 300.

26. Найти сумму элементов массива целых чисел, которые делятся на 5 и на 8 одновременно. Размерность массива – 30. Заполнение массива осуществить случайными числами от 500 до 1000.

27. Найти произведение элементов линейного массива целых чисел, которые кратны 5. Размерность массива – 10. Заполнение массива осуществить случайными числами от 10 до 100.

28. Ввести с клавиатуры вещественный массив из n элементов (задано константой). Вычислить разность суммы элементов с четными индексами и суммы элементов с нечетными индексами.

29. В одномерном массиве, состоящем из n вещественных элементов, вычислить:

а) количество элементов массива, лежащих в диапазоне от А до В;

б) сумму элементов массива, расположенных после максимального элемента;

в) упорядочить элементы массива по убыванию модулей.

30. Найти количество четных элементов одномерного массива до первого встреченного числа, равного наперед заданному числу а.

31. В одномерном массиве, состоящем из n вещественных элементов, вычислить:

а) произведение положительных элементов массива;

б) сумму элементов массива, расположенных до минимального элемента;

в) упорядочить по возрастанию отдельно элементы, стоящие на четных местах, и элементы, стоящие на нечетных местах.

32. Вычислить среднее арифметическое значение тех элементов одномерного массива, которые расположены за первым по порядку минимальным элементом.

33. Вычислить среднее арифметическое значение тех элементов одномерного массива, которые попадают в интервал от –2 до 10.

34. Переменной t присвоить значение истина, если в одномерном массиве имеется хотя бы одно отрицательное и четное число.

35. Вычислить сумму четных элементов одномерного массива до первого встреченного нулевого элемента.

36. Переменной t присвоить значение истина, если максимальный элемент одномерного массива единственный и не превосходит наперед заданного числа а.

37. Подсчитать количество элементов одномерного массива, для которых выполняется неравенство i·i<ai<i!

38. Заданы два натуральных числа a и b. Переменной w присвоить значение истина, если в одномерном целочисленном массиве имеется хотя бы один элемент, кратный а и не кратный b.

39. Подсчитайте количество элементов одномерного массива, которые совпадают со своим номером и при этом кратны 3.

40. Дан одномерный массив а. Сформировать новый массив, который состоит только из тех элементов массива а, которые превосходят свой номер на 10. Если таких элементов нет, то выдать соответствующее сообщение.