Смекни!
smekni.com

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

13. Найти сумму чисел от 100 до 200, кратных 17.

14. Ввести с клавиатуры 10 чисел. Если квадрат числа меньше 100, напечатать число и его квадрат.

15. Составьте программу, которая вычисляет сумму квадратов чисел от 1 до введенного вами целого числа n.

16. Дано натуральное число n. Получить наименьшее число вида 2k, превосходящее n.

17. Посчитать сумму ряда для заданного значения x с заданной пользователем точностью. Определить количество слагаемых.

18. Даны натуральные числа х и y, не равные нулю. Найти их наибольший общий делитель d и такие целые q w, что d=qx+wy.

19. Найти натуральное число от 1 до 10000 с максимальной суммой делителей.

20. Дано натуральное n. Вычислить: 1/22 + 1/42 + ... + 1/(2n)n

.

21. Дано натуральное n. Вычислить: 1/11 + 1/22 + ... + 1/nn.

22. Посчитать сумму ряда для заданного значения x с заданной пользователем точностью. Определить количество слагаемых.

23. Даны действительное a и натуральное n. Вычислить a!

24. Вычислить: 1 + 1/2 + 1/3 +1/4 + … + 1/n.

25. Вычислить: 1 + 2 + 4 + 8 + … + 210.

26. Вычислить: (1 + 2)(1 + 2 + 3)…(1 + 2 + … + 10).

27. Даны целые числа p и q. Получить все делители числа q, взаимно простые с p.

28. Дано действительное a и натуральное n. Вычислить:
1/a2+ 1/a4 + … + 1/a2n.

29. Вычислить: sinx + sin2x + … + sinnx.

30. Вычислить: sinx + sinx2 + … + sinxn.

31. Составьте программу вычисления суммы всех двузначных
чисел.

32. Дано натуральное n. Получить последовательность b1, b2, ..., bn, где при i =1, 2, ..., n значение bi = i!

33. Посчитать сумму ряда для заданного значения x с заданной пользователем точностью. Определить количество слагаемых.

34. Напишите программу вычисления среднего геометрического модулей двух введенных с клавиатуры целых чисел. Программа должна использовать цикл while … do. Условие выхода из цикла – значение числа, равное 999.

35. Напишите программу, которая определит первое отрицательное число последовательности: y = sin(i/100), i = 1, 2, 3… .

36. Дано действительное число А, большее 1. Найти среди чисел 1, 1+1/2, 1+1/2+1/3, ... первое, большее А и его номер.

37. Составить программу для вычисления числа е (экспоненты) с точностью до 0,0001 по формуле 1 + 1/1! + 1/2! + 1/3! + ... .

38. С клавиатуры вводятся числа и последовательно суммируются. Найти количество введенных чисел, когда их сумма превысила 100.

39. Составьте программу вычисления степени числа a с натуральным показателем n. (Записать варианты программы с разными видами циклов while, repeat, for.)

40. Даны два целых числа A и B (A < B). Вывести все целые числа, расположенные между данными числами (не включая сами эти числа), в порядке их убывания, а также количество N этих чисел.

41. Составьте программу получения в порядке убывания всех делителей данного числа.

42. Дано действительное число b>0. Последовательность a1, a2,… образована по следующему закону: a1=1, a2=2a1+1, …, ai+1=2ai+1
(i = 2, 3,…). Требуется получить все a1, a2,…, меньшие или равные b.

43. Даны натуральное число n и действительное x. Вычислить:
x1

/1! + x2/2! + ... + xn
/n!.

44. Найти наибольшее и наименьшее значение функции
y=3x2+x–4, если на заданном интервале [a, b] x изменяется с шагом 0,1.

45. Дано целое число N (N> 0). Если N – нечетное, то вывести произведение 1·3·...·N; если N – четное, то вывести произведение 2·4·...·N. Чтобы избежать целочисленного переполнения, вычислять это произведение с помощью вещественной переменной и выводить его как вещественное число.

46. Найти сумму ряда

. Суммировать до тех пор, пока члены ряда не станут меньше некоторой заданной
величины Е.

47. Найти произведение ряда

. Сом-ножители брать с точностью eps.

48. Найти сумму натуральных чисел, предшествующих заданному числу а, введенному с клавиатуры.

49. Составить программу, определяющую, является ли данное число N простым.

50. Найти все двузначные числа, сумма квадратов цифр которых делится на 13.

51. Составить программу вывода всех трехзначных чисел, сумма цифр которого равна данному натуральному числу.

52. Найти первые сорок чисел Фибоначчи.

53. Найти первое число Фибоначчи, большее заданного числа М (М>1). Вычислить сумму всех чисел Фибоначчи, которые не превосходят 1000.

4 СТРУКТУРИРОВАННЫЕ ТИПЫ ДАННЫХ

4.1 Основные понятия

В Pascal, кроме простых типов данных (integer, real, char и т.д.), имеются и структурированные типы, в частности массивы.

Массив (array, от французского – сплошной) – это область памяти, в которой размещается совокупность конечного числа данных одного типа с одним именем. Каждый элемент такой совокупности обозначается именем массива с индексом (номером элемента в массиве).

Элемент массива – отдельная переменная, входящая в массив.

Индекс – это числовая константа или целочисленное арифметическое выражение (частный случай – целочисленная переменная), которым снабжаются элементы массива, чтобы отличать их друг от друга.

Индекс элемента массива – номер элемента в массиве.

Особенность массивов заключается в том, что все элементы массива являются данными одного типа (возможно и структурированного). При назначении массиву имени соблюдаются те же требования, какие предъявляются к именам переменных простых типов.

В зависимости от количества используемых индексов, массивы могут быть одномерные (строка), двумерные (таблица), трехмерные и т.д.

4.2 Одномерные массивы

В одномерном массиве для указания местоположения элемента достаточно одного индекса. Размер одномерного массива – количество элементов, которое содержит массив.

Описание массива можно осуществить несколькими способами:

1) type t=array[1..n] of тип;

var a:t;

2) var a:array[1..n] of тип;

Элемент массива обозначается указанием имени массива, за которым в квадратных скобках следует индекс массива. Например,
a[1] – первый элемент одномерного массива; а[5] – пятый элемент одномерного массива; a[i] – i-й элемент одномерного массива.

4.3 Двумерные массивы и массивы большей размерности

В двумерном массиве для указания местоположения элемента необходимы два индекса, для строк и столбцов. Про матрицу, имеющую m строк и n столбцов, говорят, что она имеет размер m×n.

Двумерные массивы иногда называют матрицами. Двумерные массивы могут быть прямоугольными (количество строк и столбцов разное) или квадратными (одинаковое количество строк и столбцов).
В двумерных массивах элементы, у которых номер строки совпадает с номером столбца, называются диагональными или элементами главной диагонали.

Описание массива

1) type t=array[1..n,1..m] of тип;

var a:t;

2) var a:array[1..n, 1..m] of тип;

В двухмерном массиве первый индекс – номер строки, второй – номер столбца. Обращение к элементам двумерного массива:
с[1,5] – пятый элемент первой строки массива; a[i,j] – j-й элемент i-й строки двумерного массива.

При решении задач с использованием двумерных массивов во всех случаях (кроме некоторых частных) организуются вложенные циклы.

Перемещение по строке:

for i:=1 to m do {внешний цикл, изменяется номер строки}

for j:=1 to n do {внутренний цикл, изменяется номер столбца}

Перемещение по столбцу:

for j:=1 to n do {внешний цикл, изменяется номер столбца}

for i:=1 to m do {внутренний цикл, изменяется номер строки}

4.4 Примеры решения задач

Пример 1. Заполнить одномерный массив размерностью М
(М ввести с клавиатуры) целыми числами от –30 до 39 и выдать на экран. Все отрицательные элементы массива заменить на 0 и выдать массив на экран. Поменять местами второй и предпоследний элементы массива, выдать массив на экран.

Решение:

uses crt;

const n=100;

type t=array[1..n] of integer;

var a:t; i,r,m:integer;

begin

clrscr;

randomize;

writeln('vvedite N');

readln(m);

for i:=1 to m do

begin

a[i]:=trunc(random(70))-30;

write(a[i]:4);

if a[i]<0 then a[i]:=0;

end;

writeln;

for i:=1 to m do

begin

write(a[i]:4);

end;

r:=a[2]; a[2]:=a[m-1]; a[m-1]:=r;

writeln;

for i:=1 to m do

write(a[i]:4);

readln;

end.

Пример 2. Дан одномерный массив. Упорядочить массив, удалив нули со сдвигом влево ненулевых элементов.

Решение:

uses crt;

var b:array[1..20]of integer; i,m,n:byte;

begin

clrscr;

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

readln(n);

for i:=1 to n do

begin

write('b[',i,']='); readln(b[i]);

end;

i:=1; m:=0;

while i<=n do

begin

if b[i]=0 then inc(m) else b[i-m]:=b[i];

inc(i);

end;

if n=m then

begin

write('в упорядоченном массиве нет элементов');

readln; halt;

end;

writeln('упорядоченный массив');

for i:=1 to n-m do

write(' ',b[i]);

readln;

end.

Пример 3. Выполнить транспонирование матрицы. Транспонированная матрица – это матрица, получающаяся из данной (прямоугольной или квадратной) матрицы после замены строк соответствующими столбцами.

Решение:

uses crt;

const n=8; m=8;

type t=array[1..n,1..m] of integer;

var a:t; i,j:integer;

begin

clrscr;

for i:=1 to n do begin

for j:=1 to m do begin a[i,j]:=random(10);

write (a[i,j]:3);