Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

new_pos_2011

.pdf
Скачиваний:
5
Добавлен:
18.03.2016
Размер:
1.46 Mб
Скачать

else f:=ln(1+exp(x));

end; {f}

Сделаем некоторые выводы из вышесказанного. Компьютерные вычисления несколько отличаются от абстрактных математических вычислений. В математике вещественная ось непрерывна (между двумя любыми вещественными числами находится бесконечное множество чисел) - компьютерное множество вещественных чисел дискретно. Математика опери-

рует с бесконечно большими и бесконечно малыми величинами -

компьютерные вещественные числа ограничены сверху и снизу. Математические вычисления точны - компьютерные вычисления приближенны. Вы должны учитывать это, когда программируете какую-либо вычислительную задачу.

19.Файлы.Работастекстовымифайлами

Научимся работать с внешними файлами: читать из них информацию, записывать информацию в файл, корректировать файлы, создавать новые файлы, переименовывать и уничтожать существующие файлы. Различают три типа файлов: текстовые, типизированные и бинарные. Это различие влияет лишь на способы обращения к файлу, один и тот же файл на диске программа может рассматривать и как текстовый, и как типизированный, и как бинарный. Рассмотрим текстовые файлы.

Для работы с текстовым файлом в программе следует описать файло-

вую переменную типа TEXT:

VAR f : TEXTFILE;

которая называется дескриптором файла. В дескрипторе хранится указатель файла, который похож на курсор в текстовом редакторе. Как и курсор, указатель файла обозначает текущую позицию в открытом текстовом файле. В режиме чтения информации из файла указатель файла определяет следующий элемент данных, который будет считан из файла. В режиме записи указатель файла определяет позицию, в которую будет записан следующий элемент данных.

Описав дескриптор файла, необходимо связать или инициализировать файл, т.е. установить связь файловой переменной с файлом на диске процедурой

1. AssignFile(VAR f:TEXT; Name:String) ,

где Name - правильно построенное имя файла, существующего или вновь создаваемого. Если файл находится не в текущей папке - в той, где хранится ваша программа, в Name должно быть указано полное имя файла, включая имя диска и всех папок.

81

После этого для доступа к файлу выполняется открытие файла одной из трех процедур:

2.Reset(VAR f:TEXT) - открывает файл для чтения.

3.Rewrite(VAR f:TEXT) - открывает файл для записи.

4.Append(VAR f:TEXT) - открывает файл для записи в конец файла. Процедуры Reset и Append выполняются только для существующих файлов, процедура Rewrite - для любых файлов, но если файл существует, он будет уничтожен и создан заново. Чтение из файла и запись в файл выполняются процедурами READ[LN] и WRITE[LN], но перед списком ввода или вывода задается файловая переменная:

5.Read[Ln](VAR f:TEXT; список ввода).

6.Write[Ln](VAR f:TEXT;список вывода).

Списки ввода и вывода строятся точно так же, как и в случае ввода с клавиатуры и вывода на экран. Особенностью текстовых файлов является то, что они состоят из строк, каждая из которых заканчивается символом конца строки. Процедура WriteLn записывает в файл этот символ, а процедура Write - нет. Вы можете сами управлять длинами записываемых строк, в нужный момент вызывая процедуру WriteLn. При вводе следует помнить, что если символ конца строки не считан процедурой ReadLn, то следующая строка недоступна. Как правило, текстовый файл используется для хранения строк или символов, но можно держать там и числа.

Для текстовых файлов определены четыре логические функции:

7.Function EOLN(VAR f:TEXT):Boolean - возвращает TRUE, если при чтении достигнут конец строки.

8.Function EOF(VAR f:TEXT):Boolean - возвращает TRUE, если при чтении достигнут конец файла.

9.Function SeekEOLN(VAR f:TEXT):Boolean - возвращает TRUE,

если в строке больше нет ничего, кроме пробелов.

10.Function SeekEOF(VAR f:TEXT):Boolean - возвращает TRUE,

если в файле нет больше ничего, кроме пробелов.

Функция EOLN пригодится вам, если вы читаете из текстового файла символы; функция EOF - если вы читаете символы или строки, а функции SeekEOLN и SeekEOF необходимы при вводе чисел из текстового файла. Функции EOLN и SeekEOLN также могут быть полезны при обычном вводе с клавиатуры. Приведем пример: пусть необходимо ввести некоторый массив натуральных чисел и некоторый массив символов. Известно, что в обоих массивах не более 100 элементов. Запишем программу, которой не нужно заранее знать, сколько элементов будет введено, это удобнее, чем сначала запрашивать количество элементов в массиве.

const nmax=100;

var x : array[1..nmax] of word;

82

c : array[1..nmax] of char; i, nx, nc : byte;

begin

nx:=0; nc:=0; writeln(Rus('введите числа'));

{вводим все числа, заканчивая клавишей enter} while not seekeoln do

begin inc(nx); read(x[nx]);

end;

{считываем конец строки, иначе не введутся символы} readln;

{вводим символы, заканчивая клавишей enter} writeln(Rus('введите символы')); while not eoln do

begin inc(nc); read(c[nc]);

end;

writeln(Rus('введено '),nx,Rus(' чисел :')); for i:=1 to nx do

write(x[i]:8);

writeln;

writeln(Rus('введено '),nc,Rus(' символов :')); for i:=1 to nc do

write(c[i]);

writeln; readln;readln; end.

Вернемся к работе с файлами. Файл закрывается процедурой.

11. Procedure Close(VAR f:TEXT),

после чего файловую переменную можно использовать для других целей. Любой файл можно удалить с диска процедурой.

12. Procedure Erase(VAR f).

Удаляемый файл должен быть инициализирован, но не открыт, или открыт, но затем закрыт. Напишем программу, которая читает текстовый файл и выводит его на экран. Для ее работы нам понадобится создать при помощи любого текстового редактора файл, сохранить его под именем test.txt в той же папке, где будет храниться наша программа:

var f : textfile; s : string;

const name='test.txt'; begin assign(f,name);

83

reset(f);

while not eof(f) do begin readln(f,s); writeln(s);

end;

close(f); readln end.

Теперь выполним то же самое, не используя строку: var f : text;

c : char;

const name='test.txt'; begin assign(f,name); reset(f);

while not eof(f) do begin

while not eoln(f) do begin read(f,c);

write(c);

end;

readln(f);

writeln;

end;

end.

Если в этой программе опустить READLN(f) , то она зациклится. Прочтем из текстового файла числа (в таком файле должны быть записаны только числовые константы и пробелы):

var f : text; x : single;

const name='num.txt'; begin

assign(f,name);

reset(f);

while not seekeof(f) do begin read(f,x);

write(x:10:5); end; readln

end.

Числа в текстовом файле могут быть записаны как в одной, так и в нескольких строках и разделяться любым количеством пробелов.

84

ЗАДАНИЯ ДЛЯ ЛАБОРАТОРНЫХ РАБОТ

Лабораторнаяработа№1.

Вычислениепростейшихарифметическихвыражений

1.Даны два действительных числа a и b . Получить их сумму, раз-

ность и произведение.

2. Даны действительные числа x и y

| x | | y | 1 | xy | .

3.Дана длина ребра куба. Найти объем куба и площадь его боковой поверхности.

4.Даны два действительных положительных числа. Найти среднее арифметическое и среднее геометрическое этих чисел.

5.Даны два действительных числа. Найти среднее арифметическое этих чисел и среднее геометрическое их модулей.

6.Даны катеты прямоугольного треугольника. Найти его гипотенузу и площадь.

7.Определить периметр правильного n -угольника, описанного около окружности радиуса r .

8.Даны x , y , z . Вычислить a , b , если

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

| x 1 |

3 | y |

,

b x (arctg z e ( x 3) ) .

 

 

1

x2

 

y2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

4

 

 

 

 

 

 

 

9. Даны x , y ,

z . Вычислить a , b , если

 

 

 

 

a

3 ey 1

 

,

 

 

b 1 | y x |

( y x)2

 

| y x |3

.

 

1 x2 | y tg z |

 

 

 

 

 

2

 

3

 

10.Дана сторона равностороннего треугольника. Найти площадь этого треугольника.

11.Даны гипотенуза и катет прямоугольного треугольника. Найти второй катет и радиус вписанной окружности.

12.Известна длина окружности. Найти площадь круга, ограниченного этой окружностью.

13.найти площадь кольца, внутренний радиус которого равен 20, а внешний – заданному числу r ( r 20 ).

14.Найти сумму членов арифметической прогрессии

a , a d , …, a (n 1)d

по данным значениям a , d , n .

85

15.Найти площадь равнобочной трапеции с основаниями a и b и углом при большем основании a .

16.Вычислить расстояние между двумя точками с координатами x1 ,

y1 и x2 , y2 .

17.Дано действительное число x . Не пользуясь никакими другими арифметическими операциями, кроме умножения, сложения и вычитания, вычислить

2x4 3x3 4x2 5x 6 .

Разрешается использовать не более четырех умножений и четырех сложений и вычитаний.

18.Дано действительное число x . Не пользуясь никакими другими арифметическими операциями, кроме умножения, сложения и вычитания, вычислить

1 2x 3x3 4x3

и 1 2x 3x3 4x3 .

Разрешается использовать не более восьми операций.

19.Дано действительное число a . Не пользуясь никакими другими арифметическими операциями, кроме умножения, получить a13 за пять операции.

20.Дано действительное число a . Не пользуясь никакими другими арифметическими операциями, кроме умножения, получить a4 и a20 за пять операции.

Лабораторнаяработа№2. Разветвления

1.Даны действительные числа x , y . Получить max(x, y) .

2.Даны действительные числа x , y . Получить min(x, y) . Примечание. Здесь и далее min(x, y) обозначает минимальное

из чисел x и y, max(x, y) – максимальное из чисел x и y.

3.Даны действительные числа x , y , z . Получить max(x, y, z) .

4.Даны действительные числа x , y , z . Получить min(x, y, z) .

5.

Даны

действительные

числа

x ,

y ,

z .

Вычислить

 

max(x y z, xyz) .

 

 

 

 

 

6.

Даны

действительные

числа

x ,

y ,

z .

Вычислить

min2 (x y z / 2, xyz) 1 .

7.Даны действительные числа a , b , c . Проверить, выполняются ли неравенства a b c .

86

8.

Даны действительные числа

a , b , c . Удвоить эти числа, если

 

a b c , и заменить их абсолютными значениями, если это не так.

9.

Даны действительные числа x ,

y . Вычислить z :

 

x y,

åñëè x y,

 

z

 

 

 

y x 1,

в п ро тивн о м случае.

10.Даны два действительных числа. Вывести первое число, если оно больше второго, и оба числа, если это не так.

11.Даны два действительных числа. Заменить первое число нулем, если оно меньше или равно второму, и оставить числа без изменения в противном случае.

12.Даны три действительных числа. Выбрать их них те, которые принадлежат интервалу (1,3) .

13.Даны действительные числа x , y ( x y ). Меньшее из этих двух

чисел заменить их полусуммой, а большее – их удвоенным произведением.

14.Даны три действительных числа. Возвести в квадрат те из них, зна-

чения которых неотрицательны.

15. Если сумма трех попарно различных действительных чисел x , y ,

z меньше единицы, то наименьшее из этих трех чисел заменить полусуммой двух других; в противном случае заменить меньшее из

xи y полусуммой двух оставшихся значений.

16.Даны действительные положительные числа x , y , z . Выяснить, существует ли треугольник с длинами сторон x , y , z .

17.Даны действительные числа a , b , c ( a 0 ). Выяснить, имеет ли

уравнение ax2 bx c 0 действительные корни. Если действительные корни имеются, то найти их. В противном случае ответом должно служить сообщение, что действительных корней нет.

18. Даны действительные числа x1 , x2 , x3 , y1 , y2 ,

y3 . Принадлежит

ли начало координат треугольнику с вершинами

(x1 , y1 ) , (x2 , y2 ) ,

(x3 , y3 ) ?

19. Дано действительное число a . Вычислить f (a) , если

x2

ï ðè 2 x 2,

f (x)

 

4

в п ро тивн о м случае.

20. Дано действительное число a . Вычислить f (a) , если

87

x2

4x 5

ï ðè x 2,

 

 

 

f (x)

1

в п ро тивн о м случае.

 

 

 

x2

4x 5

 

Лабораторнаяработа№3. Простейшиециклы

1.Дано натуральное число n . Вычислить 2n .

2.Дано натуральное число n . Вычислить n! .

3.Дано натуральное число n . Вычислить

 

 

1

 

 

1

 

 

1

 

1

 

 

1

 

 

 

... 1

 

 

.

2

2

2

n

2

 

 

1

 

 

 

 

 

 

 

 

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

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

a(a 1)...(a n 1) .

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

 

 

 

1

 

1

 

 

1

 

...

1

 

.

 

 

 

 

 

 

 

 

 

a2

 

a4

 

a2n

 

 

 

 

 

 

a

 

 

 

 

 

 

 

 

 

 

 

 

7.

Вычислить (1 sin 0.1)(1 sin 0.2)...(1 sin10) .

 

 

 

 

8.

Дано действительное число x . Вычислить

 

 

 

 

 

 

 

 

x

x3

 

x5

 

 

x7

 

 

x9

 

x11

 

 

x13

.

 

 

 

 

 

 

 

 

 

3!

 

 

 

5!

 

7!

 

 

9!

 

11!

 

13!

9.

Дано натуральное

n ,

 

 

действительное

 

 

x . Вычислить

sin x sin2 x ... sinn x .

10.Дано натуральное число n . Сколько цифр в числе n ?

11.Дано натуральное число n . Чему равна сумма его цифр?

12.Дано натуральное число n . Найти первую цифру числа n .

13.Даны натуральные числа n и m . Получить сумму m последних цифр числа n .

14.Дано натуральное число n . Выяснить, входит ли цифра 3 в запись числа n2 .

15.Дано натуральное число n . Поменять порядок цифр числа n на обратный.

16.Дано натуральное число n . Переставить первую и последнюю цифры числа n .

17.Пусть

88

a0 1;

ak kak 1 1/ k ,

k 1, 2,...

Дано натуральное число n . Получить an .

18.Алгоритм Евклида нахождения наибольшего общего делителя (НОД) неотрицательных целых чисел основан на следующих свойствах этой величины. Пусть m и n – одновременно не равные нулю целые неотрицательные числа и пусть m n . Тогда, если n 0 , то Í Î Ä(m, n) m , а если n 0 , то для чисел m , n и r , где r

остаток от деления m на n ,

выполняется равенство

Í Î Ä(m, n) Í Î Ä(n, r) .

Например,

Í Î Ä(15, 6) Í Î Ä(6,3) Í Î Ä(3, 0) 3 .

Даны натуральные числа

n , m . Используя алгоритм Евклида, найти наибольший общий делитель n и m .

19. Даны натуральные числа n и m . Найти такие натуральные p и q , не имеющие общих делителей, что p / q m / n .

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

xn2 / 2n .

Лабораторнаяработа№4. Итерационныециклы.Вычислениесуммыряда

Для заданного положительного 10 6 , описывается как константа, и заданного x , вводится с клавиатуры, вычислить сумму ряда с точностью . Значение параметра m , входящего в некоторые варианты, вводится с клавиатуры. Значение полученной суммы сравнить с соответствующим значением в левой части равенства. Так же на печать выдать количество суммируемых членов ряда. Предусмотреть ограничение количества слагаемых ряда для предотвращения «зацикливания». Приложением должен быть также предусмотрен ввод чисел только из указанного диапазона.

1. sin x x x3 x5 x7 x9 3! 5! 7! 9!

2. cos x 1 x2 x4 x6 x8 2! 4! 6! 8!

3. ln(1 x) x x2 x3 x4 2 3 4

... , | x | 1 .

... , | x | 1 .

 

x5

... ,

| x | 1 .

5

 

 

 

89

 

 

1 1 x

 

 

 

 

 

 

 

 

 

 

 

 

 

x3

 

 

 

x5

 

 

x7

 

 

 

 

 

 

 

 

x9

 

 

 

 

 

 

 

 

 

 

 

 

 

4.

 

 

ln(

 

 

 

 

 

 

 

)

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

... ,

| x | 1 .

 

 

 

 

 

 

 

2

1 x

3

 

5

 

7

 

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5.

(1 x)m 1 mx

m(m 1)

x2

 

m(m 1)(m 2)

x3

... ,

 

| x | 1 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3!

 

 

 

 

 

 

 

 

 

 

m 0 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6.

(1 x)m 1 mx

m(m 1)

x2

 

m(m 1)(m 2)

x3

... ,

 

| x | 1 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3!

 

 

 

 

 

 

 

 

 

 

 

m 0 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7.

(1 x) m 1 mx

m( m 1)

x2

 

 

m( m 1)(m 2)

 

x3

... ,

| x | 1 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3!

 

 

 

 

 

 

 

 

 

 

m 0 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8.

(1 x) m 1 mx

m( m 1)

x2

 

m( m 1)(m 2)

x3

...

| x | , 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3!

 

 

 

 

 

 

 

 

 

 

m 0 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9.

arctg x x

x3

 

x5

 

 

 

x7

 

 

x9

 

... ,

| x | 1 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x3

 

 

 

 

 

 

 

x5

 

 

 

 

 

x7

 

 

 

 

 

 

 

 

x9

 

 

 

 

 

 

 

 

 

 

 

 

 

10.

arcctg x

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

... ,

| x | 1 .

 

 

 

 

 

 

 

2

 

 

3

 

 

 

5

 

 

 

7

 

 

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11.

. ln x

 

 

x 1

 

 

(x 1)2

 

 

 

 

(x 1)3

 

 

 

(x 1)4

... ,

x

1

.

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

2x2

 

 

 

 

 

 

 

3x3

 

 

 

 

 

 

 

 

 

 

4x4

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

12.

ln(1 x) x

x2

 

 

 

x3

 

 

 

x4

 

 

 

 

x5

 

 

... ,

| x | 1 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

3

 

 

 

 

 

 

4

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

13.

 

1

1 x x2

x3 x4

 

... ,

 

 

 

 

 

 

 

| x | 1 .

 

 

 

 

 

 

 

 

 

 

1 x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14.

 

1

1 x x2

x3

 

... ,

 

 

 

 

 

 

| x | 1 .

 

 

 

 

 

 

 

 

 

 

 

 

 

1 x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15.

1

 

 

 

 

 

 

1 2x 3x2

 

4x3 ... ,

 

 

 

 

| x | 1 .

 

 

 

 

 

 

 

 

 

(1 x)2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x 1

 

 

 

 

(x 1)2

 

 

 

 

 

 

(x 1)3

 

 

 

 

 

 

 

(x 1)4

 

 

0 x 2 .

 

16.

ln x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

... ,

 

 

 

1

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

17.

ex 1

 

x

 

 

 

x2

 

x3

 

x4

 

... ,

 

 

 

 

 

 

 

0 x 1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1!

 

 

 

2!

 

 

3!

 

 

 

 

4!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ex e x

 

 

 

 

 

 

 

 

x2

 

 

 

 

 

 

x4

 

 

 

 

 

 

 

x6

 

 

 

 

 

 

x8

 

 

 

 

 

 

 

 

 

 

0 x 1.

 

 

 

 

 

 

 

18.

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

... ,

 

 

 

 

 

 

 

2

 

 

 

 

 

 

2!

 

4!

 

 

6!

 

8!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

90

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ex e x

 

 

 

 

x3

x5

 

 

 

x7

 

 

x9

 

0 x 1.

19.

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

... ,

2

 

3

 

5

7

 

 

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

20.

3x 1

ln 3

 

x

ln2 3

x2

ln3 3

x3 ... ,

 

0 x 1.

 

 

 

 

 

 

 

 

 

 

 

 

1!

 

 

2!

 

 

 

 

3!

 

 

 

 

 

 

 

 

21.

e2 x 1

2x

 

(2x)2

 

 

(3x)3

 

 

(4x)4

... ,

0 x 1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1!

 

 

2!

 

 

 

 

 

3!

 

 

 

4!

 

 

 

Лабораторнаяработа№5. Целыечисла

1.Дано натуральное число n . Получить все пифагоровы тройки натуральных чисел, каждое из которых не превосходит n , т.е. все такие тройки натуральных чисел, что a2 b2 c2 ( a b c n ).

2.Треугольником Паскаля называется числовой

 

 

1

 

 

 

1

1

 

 

 

1

2

1

 

1

3

3

 

1

1

4

6

4

1

...........................................

треугольник, в котором по краям стоят единицы, а каждое число внутри равно сумме двух стоящих над ним в ближайшей строке сверху. Дано натуральное n . Получить первые n строк треугольника Паскаля.

3.Дано натуральное число n . Найти все меньшие n числа Мерсена. Простое число называется числом Мерсена, если оно может быть представлено в виде 2p 1, где p – тоже простое число.

4.Два натуральных числа называют дружественными, если каждое из них равно сумме всех делителей другого, кроме самого этого числа. Найти все пары дружественных чисел, лежащих в диапазоне от

200 до 300.

5.Дано натуральное число n . Среди чисел 1,..., n найти все такие, запись которых совпадает с последними цифрами записи их квадрата (как, например, 62 36 , 252 625 и т.д.).

6.Натуральное число из n цифр является числом Армстронга, если сумма его цифр, возведенная в n -степень, равна самому числу (как, например, 153 13 53 33 ). Получить все числа Армстронга, состоящие из двух, трех и четырех цифр.

91

7.Назовем натуральное число палиндромом, если его запись читается с начала и с конца (как, например, 4884, 393, 1). Найти все меньшие 100 натуральные числа, которые при возведении в квадрат дают палиндром.

8.Найти все меньшие 100 числа – палиндромы (см. предыдущую задачу), которые при возведении в квадрат также дают палиндромы.

9.Найти все простые несократимые дроби, заключенные между 0 и 1, знаменатели которых не превышают 7 (дробь задается двумя натуральными числами – числителем и знаменателем).

10.Дано натуральное число n . Выяснить, можно ли представить n! в виде произведения трех последовательных целых чисел.

11.Дано натуральное число n . Получить в порядке возрастания n первых натуральных чисел, которые не делятся ни на какие простые числа, кроме 2, 3 и 5.

12.Дано натуральное число n ( n 99 ). Получить все способы выплаты суммы n с помощью монет достоинством 1, 2, 5 и 10 рублей.

13.Дано натуральное число n ( n 5 ). Получить все пятерки нату-

ральных чисел x1 , x2 , x3 , x4 , x5 такие, что x1 x2 x3 x4 x5 и x1 x2 x3 x4 x5 n .

14.Дано натуральное число n . Каким наименьшим количеством монет можно выплатить n рублей? Предполагается, что в достаточно большом количестве имеются монеты достоинством 1, 2, 5, 10 рублей.

15.Даны натуральные числа a1 ,..., a10 . Предположим, что имеются 10 видов монет достоинством a1 ,..., a10 . Обозначим через bk число способов, которыми можно выплатить сумму k , т.е. bk – это число

решений уравнения a1 x1 ... a10 x10

k , где xi может принимать

целые неотрицательные значения. Получить b1 ,...,b20 .

16.Даны натуральные числа a1 ,..., a10 . Предположим, что имеются 10 гирь весом a1 ,..., a10 . Обозначим через ck число способов, которы-

ми можно составить вес k , т.е. ck – это число решений уравнения a1 x1 ... a10 x10 k , где xi может принимать значение 0 и 1

( i 1,...,10 ). Получить c0 ,..., c10 .

17.Рассмотрим некоторое натуральное число n . Если это – не палиндром, то изменим порядок его цифр на обратный и сложим исходное число с получившимся. Если сумма – не палиндром, то над ней повторяется то же действие и т.д., пока не получится палиндром.

92

До настоящего времени неизвестно, завершается ли этот процесс для любого натурального n . Даны натуральные числа k , l , m ( k l ). Проверить, верно ли, что для любого натурального числа из диапазона от k до l процесс завершится не позднее, чем после

mтаких действий.

18.Рассмотрим некоторое натуральное число n ( n 1 ). Если оно четно, то разделим его на 2, иначе умножим на 3 и прибавим 1. Если полученное число не равно 1, то повторяется то же действие и т.д.,

пока не получится 1. До настоящего времени неизвестно, завершается ли этот процесс для любого натурального n 1 . Даны натуральные числа k , l , m ( k l ). Проверить, верно ли, что для любого натурального числа n из диапазона от k до l процесс завершится не позднее, чем после m таких действий.

19.Дано натуральное число n . Получить m , каждая цифра которого в

сумме с соответствующей цифрой числа n равна десяти. (Напри-

мер, n 123 , m 987 ).

20.Дано натуральное трехзначное число. Определить цифры этого числа ( k , l , m ) и выяснить, можно ли построить произвольный треугольник со сторонами k , l , m .

Лабораторнаяработа№6. Вычислениясхранениемпоследовательностей

1.Даны действительные числа a1 , …, a20 . Получить числа b1 , …, b20 , где bi – среднее арифметическое всех членов последователь-

ности a1 , …, a20 , кроме ai ( i 1, 2,..., 20 ).

2. Даны действительные числа

x1 ,

…,

x10 , y1 , …,

y10 . Получить

10

 

 

 

 

xi yi . Как упростить решение,

если исходные

данные будут

i 1

 

 

 

 

иметь следующий порядок: x1 ,

y1 ,

x2 ,

y2 , …, x10 ,

y10 ?

3. Построить последовательность целых чисел a1 , …, a30 , где a1 1; a2 1 ; ai a[i / 2] ai 2 ( i 3,...,30 ).

4. Даны натуральные числа n1 , …, n20 , действительные числа x1 , …,

x

 

. Вычислить

n1 x1 ... n20 x20

.

20

 

 

 

n1

... n20

 

 

 

5.Даны действительные числа a1 , …, an , b1 , …, bn . Вычислить

(a1 bn )(a2 bn 1 )...(an b1 ) .

93

6.Даны целые числа a1 , …, a99 . Получить новую последовательность, выбросив из исходной все члены со значением

max(a1 ,..., a99 ) .

7.Даны действительные числа a1 , …, an . Если в результате замены отрицательных членов последовательности a1 , …, an их квадратами члены будут образовывать неубывающую последовательность, то получить сумму членов исходной последовательности; в противном случае получить их произведение.

8.Даны целые числа a1 , …, an . Все члены последовательности с четными номерами, предшествующие первому по порядку члену со значением max(a1 ,..., a99 ) , домножить на max(a1 ,..., a99 ) .

9.Дано натуральное число m , действительные числа a1 , …, a30 (числа a1 , …, a30 попарно различны, m 30 ). В последовательности a1 , …, a30 поменять местами наибольший член и член с номером m .

10.Даны действительные числа a1 , …, a30 . Получить

max(a1 a30 , a2 a29 ,..., a15 a16 ) .

11.Даны действительные числа a1 , …, a20 . Преобразовать эту последовательность по правилу: большее из ai и a10 i ( i 1,...,10 ) принять в качестве нового значения ai , а меньшее – в качестве нового значения a10 i .

12.Даны целые числа a1 , …, an . Если в данной последовательности ни одно четное число не расположено после нечетного, то получить все отрицательные члены последовательности, иначе – все положительные. Порядок следования чисел в обоих случаях заменяется на обратный.

13.Даны целые числа a1 , …, a20 . Наименьший член последовательности a1 , …, a20 заменить целой частью среднего арифметического всех членов, остальные члены оставить без изменения. Если в последовательности несколько членов со значением min(a1,..., a20 ) , то заменить последний по порядку.

14.Даны действительный числа a1 , …, a20 (все числа попарно различны). Поменять в этой последовательности местами наибольший и наименьший члены.

94

15.Даны действительный числа a1 , …, a20 (все числа попарно различны). Поменять в этой последовательности местами наибольший и последний члены.

16.Даны целые числа a1 , …, a100 . Получить новую последовательность из 100 целых чисел, заменяя ai нулями, если | ai | не равно

max(a1 ,..., a100 ) , и заменяя ai единицей в противном случае

( i 1,...,100 ).

17. Даны целые числа a1 , …, a25 , b1 , …, b25 . Преобразовать последовательность b1 , …, b25 по правилу: если ai 0 , то bi увеличивается в 10 раз, иначе bi заменить нулем ( i 1,..., 25 ).

18.Даны действительные числа a1 , …, a26 . Требуется домножить все

члены последовательности a1 , …, a26 на квадрат ее наименьшего члена, если a1 0 , и на квадрат ее наибольшего члена, если a1 0 .

19.Дано натуральное число n . Сколько различных цифр встречается в его десятичной записи?

20.Даны действительные числа a1 , …, a30 . Оставить без изменения последовательность a1 , …, a30 , если она упорядочена по неубыванию или по невозрастанию; в противном случае удалить из последовательности те члены, порядковые номера которых кратны четырем, сохранив прежний порядок оставленных членов.

Лабораторнаяработа№7. Двумерныемассивы.

1.Дана действительная матрица размера 6 9 . Найти среднее арифметическое наибольшего и наименьшего значения ее элементов.

2.Дана действительная матрица размера n m . Найти сумму наибольших значений элементов ее строк.

3.В данной действительной квадратной матрице порядка n найти сумму элементов строки, в которой расположен элемент с наименьшим значением. Предполагается, что такой элемент единственный.

4.В данной действительной матрице размера 6 9 поменять местами строку, содержащую элемент с наибольшим значением, со строкой, содержащей элемент с наименьшим значением. Предполагается, что эти элементы единственны.

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

95

6.Дана целочисленная квадратная матрица порядка 8. Найти наименьшее из значений элементов столбца, который обладает наибольшей суммой модулей элементов. Если таких столбцов несколько, то взять первый из них.

7.Дана действительная квадратная матрица порядка 10. В строках с отрицательным элементом на главной диагонали найти сумму всех элементов.

8.Дана действительная квадратная матрица порядка n . Рассмотрим те элементы, которые расположены в строках, начинающихся с отрицательного элемента. Найти суммы тех из них, которые расположены соответственно ниже, выше и на главной диагонали.

9.Даны натуральное число n 2 , действительная квадратная матри-

ца порядка n . Поострить последовательность b1 ,...,bn из нулей и единиц, в которой bi 1 тогда и только тогда, когда элементы i - строки матрицы образуют возрастающую последовательность.

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

11.Дана действительная квадратная матрица порядка 9. Вычислить сумму тех из ее элементов, расположенных на главной диагонали и выше нее, которые превосходят по величине все элементы, расположенные ниже главной диагонали. Если на главной диагонали и выше нее нет элементов с указанным свойством, то ответом должно служить сообщение об этом.

12.Дана действительная квадратная матрица порядка n . Найти сумму элементов главной и побочной диагоналей.

13.Дана действительная квадратная матрица порядка n . Найти наименьшее из значений элементов побочной диагонали и двух соседних с ней линий.

14.Дана действительная квадратная матрица порядка n . Выяснить, верно ли, что наибольшее из значений элементов главной диагонали больше, чем наименьшее из значений элементов побочной диагонали.

15.Даны целые числа a1 ,..., a10 , целочисленная квадратная матрица порядка n . Заменить нулями в матрице те элементы с четной суммой индексов, для которых имеются равные среди a1 ,..., a10 .

16.Дана целочисленная матрица размера 6 9 . Найти матрицу, получающуюся из данной перестановкой столбцов – первого с последним, второго с предпоследним и т.д.

96

17.Дана целочисленная матрица размера 6 9 . Найти матрицу, получающуюся из данной перестановкой строк – первой с последней, второй с предпоследней и т.д.

18.Дана действительная квадратная матрица порядка n . Преобразовать матрицу по правилу: строку с номером n сделать столбцом с

номером n , а столбец с номером n сделать строкой с номером n . 19. Даны две действительные квадратные матрицы порядка n .Получить новую матрицу – умножением элементов каждой строки первой матрицы на наибольшее из значений элементов со-

ответствующей строки второй матрицы.

20.В данной действительной квадратной матрице порядка n найти

наибольший по модулю элемент. Получить квадратную матрицу порядка n 1 путем выбрасывания из исходной матрицы какойлибо строки и столбца, на пересечении которых расположен элемент с найденным значением.

Лабораторнаяработа№8. Обработкапоследовательностейсимволов

Для всех упражнений данной лабораторной работы входной информацией является строка – последовательность английских слов, разделенных пробелами.

1.Дана строка символов, состоящая из строчных и прописных букв. Преобразовать строку, заменив все вхождения прописных букв на строчные.

2.Дана строка, символов, содержащая буквы и пробелы. Преобразовать данную строку, заменив все внутренние группы пробелов одним пробелом.

3.Дана строка символов, в которой есть хотя бы одна точка. Преобразовать строку символов, удалив из нее все символы «*», стоящие до первой точки, и заменить символы «-» на «+» после первой точки.

4.Дана строка символов. В ней даны минимум два символа «кавычки». Вывести на экран набор символов, размещенных между данными кавычками.

5.Дана строка символов, состоящая из букв и цифр. Вывести на экран число, состоящее из цифр данной строки.

6.Дана строка символов, состоящая из букв и цифр. Подсчитать сумму всех цифр данной строки.

7.Строка содержит одно слово максимальной длины и одно слово минимальной длины. Поменять их местами.

97

8.Даны натуральное число n, символы s1 , …, sn . Исключить из последовательности s1 , …, sn . группы символов, расположенные между скобками ( ). Сами скобки тоже должны быть исключены. Предполагается, что внутри каждой пары скобок нет других скобок.

9.Даны натуральное число n, символы s1 , …, sn . Заменить в последовательности s1 , …, sn каждую группу букв child группой букв children.

10.Даны натуральное число n, символы s1 , …, sn . Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри себя, будем называть словами. Подсчитать количество слов в данной последовательности.

11.Даны натуральное число n, символы s1 , …, sn . Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри себя, будем называть словами. Подсчитать количество английских букв а в последнем слове данной последовательности.

12.Даны натуральное число n, символы s1 , …, sn . Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри себя, будем называть словами. Найти количество слов, начинающихся с буквы w.

13.Даны натуральное число n, символы s1 , …, sn . Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри себя, будем называть словами. Найти количество слов, у которых первый и последний символы совпадают между собой.

14.Даны натуральное число n, символы s1 , …, sn . Группы символов,

разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри себя, будем называть словами. Найти какоенибудь слово, начинающееся с английской буквы а.

15.Даны натуральное число n, символы s1 , …, sn . Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри себя, будем называть словами. Преобразовать данную последовательность, заменяя всякое вхождение слова this на слово these.

16.Даны символы s1 , s2 , …Известно, что символ s1 отличен от пробела и что среди s2 , s3 , … имеется хотя бы один пробел. Рассмат-

98

риваются s1 , …, sn - символы, предшествующие первому пробелу (n заранее известно). Преобразовать последовательность s1 , …, sn удалив из нее все символы, не являющиеся буквами.

17.Даны символы s1 , s2 , …Известно, что символ s1 отличен от пробела и что среди s2 , s3 , … имеется хотя бы один пробел. Рассматриваются s1 , …, sn - символы, предшествующие первому пробелу (n заранее известно). Преобразовать последовательность s1 , …, sn , заменив все малые буквы одноименными большими.

18.Даны символы s1 , s2 , …Известно, что символ s1 отличен от пробела и что среди s2 , s3 , … имеется хотя бы один пробел. Рассматриваются s1 , …, sn - символы, предшествующие первому пробелу (n заранее известно). Преобразовать последовательность s1 , …, sn , удалив все символы, не являющиеся буквами или цифрами, и заменив каждую большую букву одноименной малой.

19.Даны символы s1 , s2 , …Известно, что символ s1 отличен от пробела и что среди s2 , s3 , … имеется хотя бы один пробел. Рассматриваются s1 , …, sn - символы, предшествующие первому пробелу (n заранее известно). Преобразовать последовательность s1 , …, sn , удалив из каждой группы идущих подряд цифр, в которой более двух цифр и которой предшествует точка, все цифры, начиная с третьей (например, ab+0.1973-1.1 преобразуется в ab+0.19-1.1).

20.Даны символы s1 , s2 , …Известно, что символ s1 отличен от пробела и что среди s2 , s3 , … имеется хотя бы один пробел. Рассматриваются s1 , …, sn – символы, предшествующие первому пробелу (n заранее известно). Преобразовать последовательность s1 , …, sn , удалив из каждой группы цифр, которой не предшествует точка, все начальные нули (кроме последнего, если за ним идет точка).

Лабораторнаяработа№9. Использованиеподпрограмм

1.Даны действительные числа s , t . Получить

f (t, 2s,1.17) f (2.2,t, s t) ,

где

f (a,b, c, ) 2a b sin c . 5 | c |

99

2.Даны действительные числа s , t . Получить

g(1.2, s) g(t, s) g(2s 1, st) ,

где

g(a,b) a2 b2

a2 2ab 3b2 4

3.Даны действительные числа a , b , c . Получить

max(a, a b) max(a,b c) . 1 max(a bc,1,15)

4.Даны действительные числа a , b . Получить

u max(a,b) ,

v min(ab, a b) ,

min(u v2 ,3.14) .

5.Даны действительные числа s , t . Получить

h(s,t) max(h2 (s t, st), h4 (s t, s t)) h(1,1) ,

где

h(a,b)

 

a

 

b

(a b)3 .

 

b2

1 a2

1

 

 

6.Даны действительные числа a0 ,..., a6 . Получить для x 1,3, 4 значения p(x 1) p(x) , где

p( y) a y6

a y5

... a .

6

5

0

7. Даны действительные числа

s ,

t , a0 ,..., a12 . Получить

p(1) p(t) p2 (s t) p3 (1) , где

 

 

p( y) a12 x12 a11x11 ... a0 .

8.Даны действительные числа x1 , y1 , x2 , y2 , …, x10 , y10 . Найти периметр десятиугольника, вершины которого соответственно координаты (x1 , y1 ) , (x2 , y2 ) , …, (x10 , y10 ) . Определить процедуру вычисления расстояния между двумя точками, заданными своими координатами.

9.Дано натуральное число n , действительные числа x1 , y1 , x2 , y2 , …, xn , yn . Найти площадь n -угольника, вершины которого при некотором последовательном обходе имеют координаты (x1 , y1 ) , (x2 , y2 ) , …, (xn , yn ) . Определить процедуру вычисления площади треугольника по координатам его вершин.

10.Дано четное число n 2 ; проверить для этого числа гипотезу Гольдбаха. Эта гипотеза (по сегодняшний день не опровергнута и полностью не доказана) заключается в том, что каждое четное n ,

100

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]