ЕСТЕСТВЕННЫЕ НАУКИ
УДК 511:681.3
ИСПОЛЬЗОВАНИЕ ЭВМ ПРИ РЕШЕНИИ НЕКОТОРЫХ ЗАДАЧ ТЕОРИИ ЧИСЕЛ
Б.Т. Абдрахманов, В.И Фандюшин
Павлодарский государственный университет им. С. Торайгырова
Апшлмыш жумысша программалау mi.n PASCAL сандар пгеория-сындагы Keùôip ecenmepdi uieuiy ушш к,олданылады. Осы есептер кейде отшпиадаларда кездесед1.
В данной работе язык программирования PASCAL используется при решении некоторых задач теории чисел Эти задачи иногда встречаются на олимпиаде.
In this work the language of programming Pascal is used in solving some numerous theory problems. Sometimes these exercises are met on olympiads.
В школьном курсе математики встречаются задачи, которые решаются нестандартными методами. Эти методы не эффективны, поскольку требуют громоздких вычислений. Наличие вычислительной техники в школах позволяет решать задачи на ЗВМ. Для составления программ можно использовать различные языки программирования, доступные учащимся. В работе мы используем язык программирования Pascal и даём примеры составления таких программ для решения некоторых задач из теории чисел.
Задача 1. Найти трёхзначное число, обладающее свойствами ток = кто + кот.
Эта задача встречалась на городской олимпиаде школьников. Математическое решение для неё найти сложно. В конце концов, решение сводится к перебору множества возможных вариантов. С наличием програымы ускоряется процесс решения задачи.
Программа 1.
VAR X, Y, Z: BYTE; К, L, M: WORD;
BEGIN
FOR X: =1 TO 9 DO
8
НАУКА И ТЕХНИКА КАЗАХСТАНА
FOR Y: -1 ТО 9 DO FOR Z: =0 ТО 9 DO BEGIN
К: = 100*X+10*Y+Z; L: =100*X+10*Z+Y; . M: = 10()*Y+I0*Z+X;
IF M=K+L THEN WRITELN ('трёхзначное число равно'. M); END; END.
Задача 2. Существует ли двузначное число., равное сумме квадратов своих цифр.
Программа 2. VAR А, В, С: BYTE; BEGIN
FORA: =1 ТО 9 DO FOR В: =0 TO 9 DO BEGIN C; =1()*A+B;
IF C=A*A+B*B THEN WRITE (C) ELSE WRITE ('Решений нет '); END; END.
Задача 3. Найти трёхзначное число равное разности квадрата двузначного числа, состоящего из первых двух его цифр и квадрата последней цифры. Эта задача, аналогична первой. Учащиеся, знающие вложенные циклы в информатике составили программу на языке Basic.
Ниже мы приводим программу для решения этой задачи на языке Pascal.
Программа 3.1. (на языке Basic)
10 FOR X=1 ТО 9
20 FOR Y=0 TO 9
30 FOR Z=0 TO 9
40 M=100*X+10*Y+Z: N=10*A+B
50 IF M-NA2-ZA2 THEN PRINT M
60 NEXT Z
70 NEXT Y
80 NEXT X
90 END
Программа 3.2. (на языке Pascal) VAR X, Y, Z: BYTE;
M,N: WORD; BEGIN
FOR X: =1 TO 9 DO FOR Y; =0 TO 9 DO FOR Z: =0 TO 9 DO BEGIN
M: =100*X+10*Y+Z;
N: =10*X+Y;
IF M=N*N-Z*Z THEN WRITELN (M); END;
END..
Задача 4. Могут ли три произвольных числа а, Ь, с выражать стороны треугольника? Если да, то определить вид треугольника. Программа 4. VAR А, В, С, D, Е: REAL; BEGIN
WRITELN ('Введите А, В, С'); READLN (А, В, С); IF А>В THEN Е: =А ELSE Е: =В; IF ОЕ THEN Е: =С; IF 2*Е<А+В+С THEN BEGIN
D: =SQR (A)+SQR (B)+SQR (C)-2*SQR (E); IF D=0 THEN WRITELN ('треугольник прямоугольный'); IF D>() THEN WRITELN ('треугольник остроугольный'); IF D<0 THEN WRITELN ('треугольник тупоугольный'); END ELSE
WRITELN ('такой треугольник не существует'); END.
Анализировать эту задачу не будем. Учащиеся, имеющие хорошие знания по геометрии смогут решить данную задачу. Задавая всё новые значения длин сторон, можно иметь представление об этом треугольнике. Без ЭВМ для каждого нового случая нужен подсчёт, на что уходит много времени. Готовую программу можно использовать при решении более сложной задачи.
ЛИТЕРАТУРА
1. Рудаков П.И., Федотов М.А. Основы языка Pascal.- M.: Радио и связь. Горячая линия-Телеком, 2000.
2. Немнюгин С.A. Turbo Pascal.-СПб: Питер, 2001.-С.379-381.