Студопедия
rus | ua | other

Home Random lecture






Практика программирования.


Date: 2015-10-07; view: 366.


4.1 Задачи обработки целых чисел.

Целый класс задач посвящен обработке целых чисел. В этом пункте приводятся некоторые из них.

1. Определение четности.

Требуется определить, является заданное целое число N четным или нечетным. Для решения задачи необходимо проверить: если N четное, то оно кратно двум и значение N/2 совпадает со значением INT(N/2) – целой частью.

INPUT"Введите целое число N=";N

LET S$="нечетное"

IF N/2=INT(N/2) THEN S$="четное"

? "Число";N;S$

 

2. Нахождение делителей числа.

Требуется найти и напечатать все делители числа N, включая 1. Число А является делителем числа В, если В делится на А нацело. Будем проверять являются ли делителем числа N числа начиная с 1 до N/2. Проверку, является ли число I делителем будем производить в цикле. Условием будет равенство N/I=INT(N/I).

INPUT"Введите целое число N=";N

C=INT(N/2)

?"Делители числа";N

FOR I=1 TO C

IF N/I<>INT(N/I) THEN 10

? I;

10 NEXT I

?N

3. Нахождение простых чисел.

Каждое натуральное число можно получить в виде суммы единиц. Совсем иначе дело обстоит с умножением. Здесь не только не существует числа, произведение которого на себя дало бы все остальные числа, но, что гораздо хуже, существует бесконечно много чисел, которые невозможно представить в виде произведения без своего собственного участия. Такие числа принято называть простыми. Определение простых чисел в курсе математики формулируется следующим образом: простым числом называется натуральное число, которое не имеет делителей, отличных от себя и от единицы. Число 1 не принято считать простым, так как оно ничего не дает в образовании новых чисел множительным путем.

Требуется найти все простые числа от 2 до N и напечатать их. Проверяем каждое значение на отсутствие делителей перебором чисел от 2 до N-1. Условие делимости нацело N/D=INT(N/D)

5 CLS

INPUT"Введите интервал для от 2 до:";K

IF K<=2 THEN 5

?"Простые числа "

N=2

7 FOR D=2 TO N-1

IF N/D=INT(N/D) THEN 10

NEXT D

?N

N=N+1

10 IF N<K THEN 7

4. Вычисление степени числа 2.

Требуется составить программу, печатающую числа 2n: N=N+1; X=2^N. Однако такой способ не рационален. Вычислим первые 6 значений:

21=2

22=2*2=4

23=4*2=8

24=8*2=16

25=16*2=32

26=32*2=64

Вместо того чтобы каждый раз перемножать N двоек, лучше один раз умножить на 2 предыдущее значение 2n=2*2n-1 . То же самое можно выразить соотношением Un=2*Un-1, где U1=2. Такой способ задания числовых последовательностей, когда следующие элементы определяются через значения предыдущих, называется возвратным или рекуррентным.

Если N будет пробегать натуральный ряд (N=N+1), то каждый раз удваивая Х (Х=Х+Х) получим таблицу квадратов.

CLS

LET X=1

2 N=N+1

X=X+X

? N,X

IF N<21 THEN 2

5. Прогрессии.

В математике рекуррентными последовательностями называются последовательности вида:

Un=a1*Un-1+a2*Un-2+…+ak*Un-k, где а12,…,аk – некоторые постоянные. Число k определяет, сколько предыдущих элементов участвуют в образовании очередного, поэтому k называют степенью рекурсивности. Простейшим примером рекуррентных последовательностей являются арифметическая и геометрическая прогрессии.

- арифметическая: аnn-1+b, a1=a;

- геометрическая: an=an-1*b, a1=a.

Требуется составить программу печатающую арифметическую прогрессию с начальным элементом А и разностью В: А, А+В, А+2*В, А+3*В,…,А+N*В. Исходные данные А и В. Обозначим за N=N+1 номер очередного элемента последовательности.

CLS

INPUT A,B

5 N=N+1

? N,A

A=A+B

IF N<21 THEN 5

 

Задания для самостоятельной работы.

1. Для натурального числа N определить кратно ли оно 3.

2. Для натуральных чисел N и M определить, являются ли они взаимно простыми (то есть не имеют общих делителей кроме 1).

3. Составить программу печатающую геометрическую прогрессию.

 


<== previous lecture | next lecture ==>
Двумерные массивы | Построение графика функции.
lektsiopedia.org - 2013 год. | Page generation: 0.128 s.