Uploaded by Борис Семенов

Практикум по программированию на ПАСКАЛЕ.

advertisement
Московский Государственный Технический
Университет имени Н.Э.Баумана
Специализированный учебно-научный центр
ГОУ лицей № 1580 (при МГТУ имени Н.Э. Баумана)
И
Н
Ф
О
Р
М
А
Т
И
К
А
Т.Е.Айдинян
Ю.Д.Петрикова
Н.И.Хинчина
Практикум по
программированию на ПАСКАЛЕ
(сборник задач)
Москва
2007
Айдинян Т.Е., Петрикова Ю.Д., Хинчина Н.И.
Практикум по программированию на Паскале (сборник задач).
М.:Изд-во МГТУ им. Н.Э.Баумана, 2007
Данное учебное пособие написано в соответствии с программой школьной
дисциплины «Информатика и информационные технологии» и представляет собой
лабораторный практикум по курсу программирования на Паскале.
В пособии содержится 42 лабораторных работы по 18 разделам. По некоторым разделам представлено достаточно большое количество заданий различной
сложности. Мы надеемся, что это даст возможность преподавателю несколько разнообразить свою работу. Кроме того, к некоторым разделам добавлены задачи повышенной сложности.
Термины и названия, выделенные жирным шрифтом, внесены в краткий справочник в конце сборника.
Пособие адресовано учащимся Лицея №1580 при МГТУ им.Н.Э.Баумана, а также
учащимся других профильных школ.
©Лицей № 1580 при МГТУ им. Н. Э. Баумана
2
Оглавление
ОГЛАВЛЕНИЕ .................................................................................................................... 3
1. СИСТЕМЫ СЧИСЛЕНИЯ .............................................................................................. 6
Лабораторная работа 1.1 (переводим целые числа из десятичной системы счисления в
систему счисления с основанием P и наоборот) ............................................................................. 6
Лабораторная работа 1.2 (переводим целые числа из системы счисления с основанием P в
систему счисления с основанием Q=PK и наоборот без промежуточного перевода в
десятичную систему) ......................................................................................................................... 6
Лабораторная работа 1.3 (складываем целые числа в системе счисления с основанием P без
перевода в десятичную)..................................................................................................................... 7
Лабораторная работа 1.4 (простые и не очень простые вопросы и задачи по системам
счисления) ........................................................................................................................................... 8
2. ОПЕРАТОРЫ ВВОДА И ФОРМАТНОГО ВЫВОДА ................................................... 9
Лабораторная работа 2.1 (учимся вводить данные с клавиатуры, вычислять большие
формулы и выводить результат на экран) ....................................................................................... 9
3. ОПЕРАТОРЫ ВВОДА, ВЫВОДА И ПРИСВАИВАНИЯ ........................................... 10
Лабораторная работа 3.1 (первые простые содержательные задачи) ......................................... 10
4. УСЛОВНЫЙ ОПЕРАТОР ............................................................................................ 11
Лабораторная работа 4.1 (учим компьютер спрашивать) ............................................................ 11
5. ЛОГИЧЕСКИЕ ПЕРЕМЕННЫЕ И ОПЕРАЦИИ .......................................................... 13
Лабораторная работа 5.1 (таблица истинности) ........................................................................... 13
Лабораторная работа 5.2 (бросаем точку на плоскость и наблюдаем за ней)............................ 14
Лабораторная работа 5.3 (составляем логические условия) ........................................................ 16
6. ОПЕРАТОРЫ ЦИКЛА .................................................................................................. 17
Лабораторная работа 6.1 (вычисляем суммы и произведения конечных рядов) ....................... 17
Лабораторная работа 6.2 (оператор цикла с предусловием – исследуем числа) ....................... 17
3
Лабораторная работа 6.3 (еще раз тренируемся в использовании оператора цикла)................ 18
Лабораторная работа 6.4 (факториал, Фибоначчи, Евклид и ... ) ................................................ 20
Лабораторная работа 6.5 (обрабатываем последовательности) .................................................. 21
Лабораторная работа 6.6 (препарируем целые числа) ................................................................. 22
Лабораторная работа 6.7 (опять целые числа, но мастерство – на ступень выше) ................... 22
7. СИМВОЛЬНЫЕ ДАННЫЕ .......................................................................................... 24
Лабораторная работа 7.1 (узнаем у компьютера, какими он пользуется символами) .............. 24
Лабораторная работа 7.2 (впервые обрабатываем не числа, а текст) ......................................... 24
8. ПОДПРОГРАММЫ (ПРОЦЕДУРЫ И ФУНКЦИИ) ..................................................... 25
Лабораторная работа 8.1 (задачи знакомые, но записываем их в новой форме) ....................... 25
9. ЧИСЛЕННЫЕ МЕТОДЫ .............................................................................................. 27
Лабораторная работа 9.1 (приближенно решаем уравнения) ...................................................... 27
Лабораторная работа 9.2 (приближенно находим площади криволинейных фигур) ............... 28
10. ОДНОМЕРНЫЕ МАССИВЫ ..................................................................................... 28
Лабораторная работа 10.1 (наконец-то – от простых переменных переходим к массивам) .... 28
Лабораторная работа 10.2 (те же массивы, но задачи посложнее) ............................................. 29
11. ДВУМЕРНЫЕ МАССИВЫ ........................................................................................ 31
Лабораторная работа 11.1 (крестики-нолики, морской бой, шахматы, … – без двумерных
массивов не обойтись) ..................................................................................................................... 31
Лабораторная работа 11.2 (гуляем по матрице прямо и зигзагами) ........................................... 32
12. ГРАФИКА ................................................................................................................... 33
Лабораторная работа 12.1 (на первых подступах к красоте) ....................................................... 33
Лабораторная работа 12.2 (графики функций в декартовой системе координат – помощь по
математике)....................................................................................................................................... 34
Лабораторная работа 12.3 (графики кривых в полярной системе координат – и математика и
красота одновременно) .................................................................................................................... 35
Лабораторная работа 12.4 (не только рисуем, но и двигаем картинку по экрану) .................... 36
Лабораторная работа 12.5 (довольно сложные, но интересные задачи по графике) ................ 37
4
Лабораторная работа 12.6 (математические задачи с графическими иллюстрациями)............ 37
13. СТРОКИ ...................................................................................................................... 39
Лабораторная работа 13.1 (работаем уже не с отдельными символами, а с целой строкой) ... 39
Лабораторная работа 13.2 (учимся разбивать строку на слова) .................................................. 39
14. МНОЖЕСТВА ............................................................................................................. 41
Лабораторная работа 14.1 (очень легкий материал – передышка после процедур, функций,
массивов, … ).................................................................................................................................... 41
15. ЗАПИСИ...................................................................................................................... 42
Лабораторная работа 15.1 (оказывается, переменная может состоять из полей совершенно
разного типа). ................................................................................................................................... 42
16. ФАЙЛЫ ....................................................................................................................... 43
Лабораторная работа 16.1 (приступаем к изучению типизированных файлов) ........................ 43
Лабораторная работа 16.2 (используем все наши знания и пишем собственную базу данных)
............................................................................................................................................................ 44
Лабораторная работа 16.3 (текстовые файлы – незаменимый инструмент для отладки
программ с большим количеством исходных данных) ................................................................ 46
17. ДИНАМИЧЕСКАЯ ПАМЯТЬ (ПЕРВЫЙ ШАГ К СОВРЕМЕННОМУ
ПРОГРАММИРОВАНИЮ) ............................................................................................... 47
Лабораторная работа 17.1 (линейные однонаправленные списки – не так трудно, как кажется)
............................................................................................................................................................ 47
18. КРАТКИЙ СПРАВОЧНИК .......................................................................................... 50
19. ЛИТЕРАТУРА............................................................................................................. 52
5
1. Системы счисления
Лабораторная работа 1.1 (переводим целые числа из десятичной системы счисления в систему счисления с основанием P и наоборот)
1. 1510 -> X2 -> Y10
6710 -> X16 -> Y10
2. 1910 -> X2 -> Y10
4910 -> X16 -> Y10
3. 2510 -> X3 -> Y10
1710 -> X16 -> Y10
4. 3710 -> X4 -> Y10
12510 -> X16 -> Y10
5. 4310 -> X3 -> Y10
1810 -> X12 -> Y10
6. 3510 -> X5 -> Y10
3810 -> X16 -> Y10
7. 3910 -> X5 -> Y10
4810 -> X16 -> Y10
8. 1310 -> X4 -> Y10
6710 -> X12 -> Y10
9. 1510 -> X7 -> Y10
3310 -> X16 -> Y10
10. 7310 -> X6 -> Y10
1710 -> X11 -> Y10
11. 9910 -> X4 -> Y10
7710 -> X16 -> Y10
12. 1110 -> X2 -> Y10
9710 -> X16 -> Y10
13. 1210 -> X2 -> Y10
7910 -> X16 -> Y10
14. 1710 -> X2 -> Y10
6710 -> X15 -> Y10
15. 2110 -> X2 -> Y10
4510 -> X16 -> Y10
16. 2310 -> X2 -> Y10
3110 -> X14 -> Y10
Лабораторная работа 1.2 (переводим целые числа из системы счисления
с основанием P в систему счисления с основанием Q=PK и наоборот без
промежуточного перевода в десятичную систему)
1. 158 -> X2 -> Y8
2. 124 -> X2 -> Y4
3. 278 -> X2 -> Y8
4. 1516 -> X4 -> Y16
5. 134 -> X8 -> Y4
6. 3616 -> X2 -> Y16
7. 11012 -> X4 -> Y2
6
8. 1101012 -> X8 -> Y2
9. 13816 -> X2 -> Y16
10. 1078 -> X2 -> Y8
11. 1258 -> X4 -> Y8
12. 15316 -> X2 -> Y16
13. 1234 -> X16 -> Y4
14. 1324 -> X2 -> Y4
15. 1110112 -> X4 -> Y2
16. 100012 -> X8 -> Y2
Лабораторная работа 1.3 (складываем целые числа в системе счисления
с основанием P без перевода в десятичную)
1. 10012+1112=
1A16+FF16=
2. 11112+1012=
1CB16+1F16=
3. 1001112+1112=
1A12+1512=
4. 112+1112=
A16+ABF16=
5. 110012+1102=
FE16+EF16=
6. 111012+101112=
1234+3214=
7. 10112+12=
1478+768=
8. 111112+112=
334+334=
9. 10012+1012=
435+345=
10. 10012+112=
778+668=
11. 101012+1012=
3A16+BC16=
12. 11012+112=
AD116+FF16=
13. 1112+1112=
324+3324=
14. 10012+10012=
1718+7278=
15. 10112+11012=
BB16+D5C16=
16. 11112+1112=
1A16+ABCD16=
7
Лабораторная работа 1.4 (простые и не очень простые вопросы и задачи
по системам счисления)
1. Что больше 58 или 510 и почему?
2. Почему четность числа в десятичной системе счисления определяется по последней цифре? Как определить четность числа в системе счисления с любым
четным основанием? А с нечетным основанием? Ответы обосновать.
3. Возможна ли система счисления с основанием 1? Объясните Ваш ответ.
4. Записать в системе счисления с основанием 234 число 235.
5. Во сколько раз возрастет число 456, если справа к нему добавить 0?
6. Существуют ли такие p и q, при которых 12P>21Q?
7. Для десятичного числа 371 найти систему счисления с основанием p, в которой
данное число будет представлено теми же цифрами, но в обратном порядке –
173P.
8. В каких системах счисления справедливо равенство 10P*10P=100P?
9. В каких системах счисления число 10 является нечетным?
10. Докажите, что в любой позиционной системе счисления с основанием p 3, число
121P является полным квадратом.
11. Восстановите цифры двоичных чисел, на месте которых в примере стоит знак
«*»:
1*012 + 1**2 = 1*1002.
12. Калькулятор работает с числами в троичной системе счисления и имеет на экране 4 знакоместа. С каким самым большим десятичным числом, переведенным в
троичную систему счисления, можно работать?
13. В следующей задаче о чудаке-математике восстановите все числа в десятичной
системе счисления. Задача: «Я окончил курс университета молодым человеком
44 лет от роду. Спустя год, 100-летним молодым человеком, я женился на 34летней девушке. Спустя немного лет у нас уже была маленькая семья из 10 детей.»
14. Восстановите цифры двоичных чисел, на месте которых в примере стоит знак
«*»:
**0*0*1**12 + 10111*10**2 = 100*1*000102.
15. Выпишите в пятеричной системе все четные числа в диапазоне от 1 до 20 (в десятичную систему числа не переводить).
8
2. Операторы ввода и форматного вывода
Лабораторная работа 2.1 (учимся вводить данные с клавиатуры, вычислять большие формулы и выводить результат на экран)
Ввести с клавиатуры переменные a,b,x,y (a,b - целые, x,y – действительные).
Вычислить заданное арифметическое выражение F (если необходимо, использовать
стандартные функции sqr,sqrt и abs). Результаты вывести на экран, как показано ниже, причем, столбец целых чисел должен быть выровнен по правой границе, а
столбец действительных - по точке.
Строка результата должна быть отчеркнута от исходных данных.
a=
x=
b=
y=
результат
F=
Вариант
F
1
-(5a+b)/(10x +y)
2
(a-b)/(x +3 y)
3
(2a +5b)/(|x+y|)
4
3(a+b )/(x-7 y )
5
2(a+b )/(x -y )
6
(a +b )/(7 x -7y)
7
2(a+b )(|x-7y|)+ab
8
2(a+b )(5-x y )
9
(a b +5)/(x-7 y )
10
(ab+x )(5-x y )
11
( x +b )(|5a-xy|)
12
5/(a+b )+(5ab-x y )
13
2/(a+b )-(5-ax y )
2
2
2
2
2
2
2
2
2
2
2
2 2
2
2
2
2
9
2
14
(6axy+b )/(5-x y )
15
2(a+b) /(|5-xy|)
2
3. Операторы ввода, вывода и присваивания
Лабораторная работа 3.1 (первые простые содержательные задачи)
1. Вводится ребро куба. Найти объем куба и площадь его боковой поверхности.
2. Вводятся два действительных положительных числа. Найти среднее арифметическое и среднее геометрическое этих чисел.
3. Вводятся катеты прямоугольного треугольника. Найти его гипотенузу и площадь.
4. Вводится сторона равностороннего треугольника. Найти площадь этого треугольника.
5. Вводится длина окружности. Определить площадь круга, ограниченного этой окружностью.
6. Вводятся основания равнобедренной трапеции и угол при большем основании.
Найти площадь трапеции.
7. Вводятся координаты двух точек на плоскости (x1,y1,x2,y2). Найти расстояние
между этими точками.
8. Вводятся координаты вершин треугольника. Найти периметр и площадь треугольника.
9. Вводятся гипотенуза и катет треугольника. Найти периметр и площадь треугольника.
10. Вводятся два радиуса r1 и r2 (r1>r2). Найти площадь кольца, ограниченного концентрическими окружностями этих радиусов.
11. Найти сумму членов арифметической прогрессии a, a+d, a+2d, …, a+(n-1)d.
Значения a, d и n вводятся.
12. Вводятся стороны прямоугольника. Найти его периметр и диагонали.
13. Вводится радиус окружности, описанной вокруг квадрата. Определить периметр и
площадь этого квадрата.
14. Вводится стороны квадрата. В квадрат вписана окружность. Найти ее радиус и
длину.
10
15. Смешано V1 литров воды температуры T1 с V2 литрами воды температуры T2.
Найти объем и температуру образовавшейся смеси.
16. Вводятся два действительных числа. Найти их среднее арифметическое и
среднее геометрическое их модулей.
17. Вводятся стороны треугольника. Определить площадь треугольника по формуле
Герона.
18. Вводятся объем и масса тела. Определить плотность материала этого тела.
19. Вводятся количество жителей в государстве и площадь его территории. Определить плотность населения в этом государстве.
Дополнительные задания
Вводится действительное число X. Не пользуясь никакими другими арифметическими операциями, кроме умножения, сложения и вычитания, вычислить:
2x4-3x3+4x2-5x+6.
Разрешается использовать не более четырех умножений и четырех сложений
и вычитаний.
Вводится действительное число X. Не пользуясь никакими другими арифметическими операциями, кроме умножения, сложения и вычитания, вычислить:
1-2x+3x2-4x3
и
1+2x+3x2+4x3.
Поменять местами значения двух целых переменных A и B, не используя дополнительных переменных.
Вводится действительное число A. Не пользуясь никакими другими арифметическими
A6
а)
8
за
за
г)
A9
д)
A10
кроме
за
A7
б)
в)A
операциями,
три
четыре
три
за
за
умножения,
операции
операции
операции
получить:
умножения.
умножения.
умножения.
четыре
операции
умножения.
четыре
операции
умножения.
4. Условный оператор
Лабораторная работа 4.1 (учим компьютер спрашивать)
1. Вводятся три целых числа. Определить, могут ли они являться сторонами треугольника.
11
2. Вводятся два целых числа. Поместить большее из них в переменную MAX, а
меньшее в переменную MIN. Если числа равны, то выдать об этом сообщение.
3. Вводятся два целых числа. Определить, одинаковая ли у них четность.
4. Вводятся координаты точки на плоскости (X,Y). Определить, в какой четверти находится эта точка.
5. Вводятся три целых числа. Найти из них максимальное значение.
6. Вводятся коэффициенты A,B и C квадратного уравнения Ax2+Bx+C=0. Определить количество действительных корней этого уравнения.
7. Заданы два прямоугольника размерами A*B и C*D. Определить, можно ли поместить второй прямоугольник в первый при условии параллельности и перпендикулярности их сторон.
8. Вычислить функцию:
tg ( x )
0
x
cos(x )
x
0
1
x
F ( x)
/2
/2
9. Поля шахматной доски пронумерованы слева направо и сверху вниз числами от
единицы до восьми. Заданы два поля. Определить, являются ли они полями одного цвета.
10. Поля шахматной доски пронумерованы слева направо и сверху вниз числами от
единицы до восьми. Заданы два поля. Определить, угрожает ли ладья, стоящая
на первом поле фигуре, стоящей на втором поле.
11. Заданы размеры плоского прямоугольного отверстия (a*b) и размеры трехмерного кирпича (c*d*e). Определить, можно ли протащить кирпич через отверстие, соблюдая параллельность и перпендикулярность сторон.
12. Вводится номер года. Определить, является ли этот год високосным (год високосный, если его номер кратен четырем, однако из кратных ста високосными являются лишь кратные четыремстам; например, 1700, 1900 – не високосные годы,
а 2000 - високосный).
13. Вводятся коэффициенты (k1,b1,k2,b2), определяющие две прямые y=k1*x+b1 и
y=k2*x+b2. Найти точку пересечения этих прямых или указать, что они совпадают
или параллельны.
14. Даны стороны и диагонали параллелограмма. Определить, является он ромбом,
прямоугольником или квадратом.
15. Вводятся координаты трех точек. Проверить, лежат ли все три точки на одной
прямой.
12
16. Даны действительные числа x, y (x y). Меньшее из этих чисел заменить их
полусуммой, а большее – их удвоенным произведением.
17. Вводится действительное число. Выделить его целую и дробную части, преобразовав их в целые числа; сообщить, если дробная часть равна нулю.
18. Имеется стол прямоугольной формы размером a*b (a и b – целые числа, a>b). В
каком случае на столе можно разместить большее количество картонных прямоугольников с размерами c*d (c и d – целые числа, c>d): при размещении их длинной стороной вдоль длинной стороны стола или вдоль короткой. Прямоугольники
не должны лежать один на другом и не должны свисать со стола.
19. Вводятся две скорости: одна в километрах в час, а другая в метрах в секунду.
Определить, какая из скоростей больше.
20. Известны площади круга и квадрата. Выяснить, уместится ли круг в квадрате.
21. Известны площади круга и квадрата. Выяснить, уместится ли квадрат в круге.
22. Даны объемы и массы двух тел. Определить, у какого тела больше плотность материала.
5. Логические переменные и операции
Лабораторная работа 5.1 (таблица истинности)
Переменные x, y и z – переменные логического типа. Написать программу,
строящую расширенную таблицу истинности для вычисления формулы:
1. x and not y or (z and x)
2. x and y or (not z and x)
3. y and not y or (z and x)
4. x or ( not y or (z and x))
5. x or y and (z and not x)
6. x and not y or (z and x)
7. not (x and y and z) or (not z and x)
8. x and not y or (z and x)
9. not x and (not y or (z and x))
10. x and not y and (z or x)
13
11. x and not z or (y and x)
12. x or (z and x and not y)
13. not x and not y or (z and x)
14. x or y or (not z and x)
15. x and not y and (not z or not x)
16. x or not x or (not z and y and x)
Лабораторная работа 5.2 (бросаем точку на плоскость и наблюдаем за ней)
Вводятся координаты точки на плоскости. Определить, попадает ли эта точка
в заштрихованную область.
1
2
3
3
3
-3
3
-3
-3
-3
3
4
4
1
2
-3
-3
3
1.5
14
3
5
6
-2
3
3
-1
3
-3
-3
4
-3
-3
7
8
2
Y=x2- 4
-2
x=-y2+ 4
9
10
5
y=-x2+4
Y=x2- 4
-3
3
-5
11
12
3
2
-2
3
-3
3
-2
-3
15
13
14
4
5
4
-4
-3
2
3
-4
4
-2
-5
-4
15
16
X2/16+y2/4=1
4
3
-4
X2/3+y2/1=1
4
-4
-2
2
4
-4
Лабораторная работа 5.3 (составляем логические условия)
Записать логическое выражение, которое имеет значение «истина» только при
выполнении следующего условия:
1. Каждое из чисел X и Y больше 100.
2. Только одно из чисел X и Y четное.
3. Неверно, что X>2.
4. Неверно, что X>0 и X<5.
5. Только одно из чисел X, Y и Z меньше 20.
6. Целое N кратно двум или трем.
7. Целое N не кратно трем и оканчивается нулем.
8. Целое N кратно двум и не кратно семи.
9. Каждое из чисел X, Y и Z отрицательное.
10. Числа A, B и C могут являться длинами сторон треугольника.
11. X>2 и Y<3.
12. X>3 или X<-2.
13. Каждое из трѐх чисел кратно трем.
14. Только одно из трѐх чисел кратно пяти.
16
15. Только одно из чисел X, Y и Z отрицательное.
16. X>5 и X<1.
6. Операторы цикла
Лабораторная работа 6.1 (вычисляем суммы и произведения конечных рядов)
Вводятся действительные a и x и натуральное n. Вычислить Y:
1. Y= sin (x) + sin(x2) + … + sin(xn).
2. Y= cos(x) + cos(2x) + … + cos(nx).
3. Y= x + x/2 + x/3 + … + x/n.
4. Y= x + x2 + x3 + … + xn.
5. Y= x + x2/2 + x3/3 + … +xn/n.
6. Y= x + x3/3 + x5/5 + … + x2n-1/(2n-1).
7. Y= a + x2/2 + x4/4 + … + x2n/2n.
8. Y= nxn-1 + (n-1)xn-2 + … + 2x + 1.
9. Y= x + (1+2)x2 + (1+2+3)x3 + … +(1+2+3+…+n)xn.
10. Y= 1! + 2! + … + n!.
11. Y= (1+sin(0.1)) (2+sin(0.2)) … (n+sin(n/10)).
12. Y= x(x+1) (x+2) … (x+n-1).
13. Y= 1/sin(1) + 2/(sin(1)+sin(2)) + … +n/(sin(1)+sin(2)+…+sin(n)).
14. Y= x - x2 + x3 – x4 + … + (-1)xn.
15. Y= -x + x2 - x3 + … + (-1)xn.
16. Y= nx + (n-1)x2 + (n-2)x3 +… + xn.
Лабораторная работа 6.2 (оператор цикла с предусловием – исследуем числа)
Вводится последовательность положительных целых чисел, за которой следует 0 (признак конца последовательности). Определить сумму чисел, их количество, минимальное и максимальное число с их порядковыми номерами среди тех введенных чисел, которые обладают следующими свойствами:
17
1. находятся между 11 и 99;
2. имеют четный порядковый номер ввода;
3. кратны пяти;
4. оканчиваются на цифру нуль;
5. имеют нечетный порядковый номер ввода;
6. четные;
7. оканчиваются на цифру семь;
8. нечетные;
9. оканчиваются на цифру один;
10. оканчиваются на цифру три;
11. кратны семи;
12. кратны трем;
13. оканчиваются на цифру пять;
14. однозначные;
15. двузначные;
16. трехзначные;
Лабораторная работа 6.3 (еще раз тренируемся в использовании оператора
цикла)
1. Даны натуральные числа x и y. Найти произведение x*y, используя лишь операцию сложения. Задачу решить двумя способами (первый способ – x*y,
второй – y*x).
2. Составить программу возведения натурального числа в квадрат, учитывая
следующую закономерность:
12=1,
22=1+3,
32=1+3+5,
42=1+3+5+7,
…
n2=1+3+5+7+…+2n-1.
3. Найти сумму 12+22+32+…+102. Учесть особенности получения квадрата натурального числа, отмеченные в предыдущей задаче.
18
4. Составить программу возведения натурального числа в третью степень, учитывая следующую закономерность:
13=1,
23=3+5,
33=7+9+11,
43=13+15+17+19,
53=21+23+25+27+29.
5. Одноклеточная амеба каждые три часа делится на две клетки. Определить,
сколько клеток будет через 3, 6, 9, … , 24 часа, если первоначально была одна амеба.
6. Ученик A открыл первого сентября счет в банке, вложив X рублей. Каждый
месяц размер вклада увеличивается на 2% от текущей суммы. Какой суммой
денег будет располагать ученик к концу июня, чтобы отпраздновать успешное
окончание учебного года?
7. Вводится натуральное число N. Вычислить:
2
2
2 ...
2 – всего N
корней.
8. На полу около стенки наклонно стоит палка длиной L метров. Нижний конец
находится на расстоянии X метров от стенки. Палка начинает скользить и падает на пол. Определить значение угла между палкой и полом (в градусах) с
момента начала скольжения до падения палки через каждые 0.1 метра.
9. В сентябре поступивший в школу №1580 ученик идет от дома до школы прогулочным шагом со скоростью 3 км/час и тратит на это путешествие t часов
времени. Но количество задаваемых на дом работ увеличивается каждый месяц на 3% по отношению к предыдущему месяцу, и в таком же соотношении
увеличивается скорость ученика. Спрашивается, с какой скоростью и за какое
время он будет пробегать этот же путь в конце мая.
10. Определить суммарный объем в литрах 12 вложенных друг в друга шаров со
стенками толщиной 5 мм. Внутренний диаметр внутреннего шара равен 10
см. Принять, что шары вкладываются друг в друга без зазоров.
11. В некоторой стране используются купюры следующего достоинства 1, 2, 4, 8,
16, 32 и 64 единиц. Как наименьшим количеством купюр можно расплатиться
за товар стоимостью в N единиц (указать количество каждой из купюр). Считаем, что имеется достаточное количество купюр всех достоинств.
19
12. Начав тренировки, лыжник в первый день пробежал 10 км. Каждый следующий день он увеличивал длину пробега на 10% от пробега предыдущего дня.
Определить:
в какой день он пробежит больше 20 км;
в какой день суммарный пробег за все дни превысит 100 км.
13.
Вводится действительное число A.
Найти среди чисел 1, 1+1/2, 1+1/2+1/3, … первое, большее A.
Лабораторная работа 6.4 (факториал, Фибоначчи, Евклид и ... )
1. Вводится натуральное число. Определить, является ли оно простым.
2. Вводится натуральное число n. Вычислить его факториал (n!).
3. Вводятся натуральные n и k. Вычислить nk.
4. Вводится радиус круга R. Подсчитать, сколько точек с целочисленными координатами попадают в круг радиуса R с центром в начале координат.
5. Вводится натуральное n. Получить наименьшее число вида 2R, превосходящее n.
6. Вводится натуральное число n. Определить, является ли оно совершенным.
Например 6 – совершенное число, т.к. 6=1+2+3.
7. Вычислить наименьшее общее кратное двух чисел, используя алгоритм Евклида для вычисления их наибольшего общего делителя.
8. Даны натуральные числа a и b, являющиеся соответственно числителем и знаменателем дроби. Сократить дробь, найдя наибольший общий делитель
(НОД(a,b)) по алгоритму Евклида.
9. Даны натуральные числа a и b (a>b). Найти результат и остаток целочисленного
деления a на b, не используя стандартных операций DIV и MOD.
10. Вводится натуральное число n. Найти n-ое число Фибоначчи.
11. Вводится натуральное число n. Найти сумму первых n чисел Фибоначчи.
12. Задан прямоугольник размером A*B (A и B- натуральные). От прямоугольника каждый раз отрезаются квадраты максимальной площади. Найти общее количество
квадратов.
13. Вводятся три натуральных числа a, b и c. Найти их наибольший общий делитель
по алгоритму Евклида, учитывая, что НОД(a,b,c)=НОД( НОД(a,b),c ).
14. Вводятся два натуральных числа. Найти их наибольший общий делитель по алгоритму Евклида.
20
15. Вводится факториал некоторого числа N. Найти число N.
Лабораторная работа 6.5 (обрабатываем последовательности)
Вводится натуральное число N, а затем последовательность из N целых чисел.
1. Определить, является ли эта последовательность возрастающей.
2. Найти минимальный член этой последовательности и его порядковый номер.
3. Определить, является ли эта последовательность убывающей.
4. Найти максимальный член этой последовательности и его порядковый номер.
5. Определить, является ли эта последовательность невозрастающей.
6. Определить максимальное количество подряд идущих отрицательных членов последовательности.
7. Определить, является ли эта последовательность неубывающей.
8. Найти возрастающую подпоследовательность максимальной длины. Указать ее
длину, а также начальный и конечный порядковые номера.
9. Определить, является ли эта последовательность знакопеременной.
10. Найти количество, сумму и произведение четных элементов последовательности.
11. Определить, является ли эта последовательность арифметической прогрессией.
12. Определить, является ли эта последовательность геометрической прогрессией.
13. Определить, есть ли в последовательности хотя бы одна пара одинаковых «соседних» чисел. В случае положительного ответа указать порядковые номера чисел первой из таких пар.
14. Определить, есть ли в последовательности хотя бы одна пара нечетных «соседних» чисел. В случае положительного ответа указать порядковые номера чисел первой из таких пар.
15. Найти минимальный член этой последовательности и количество таких элементов.
16. Найти максимальный член этой последовательности и количество таких элементов.
21
Дополнительные задания
Очень
«умная»
задача
на
однопроходные
алгоритмы.
Вводится натуральное число N, а затем последовательность из N целых чисел.
Найти убывающую подпоследовательность, дающую максимальную сумму элементов. Указать эту сумму и начальный и конечный порядковые номера элементов.
Лабораторная работа 6.6 (препарируем целые числа)
Вводится натуральное число N. Требуется:
1. Найти количество цифр числа N.
2. Найти сумму цифр числа N.
3. Найти произведение цифр числа N.
4. Вывести на экран цифру, с которой начинается число N.
5. Найти максимальную цифру числа N.
6. Найти минимальную цифру числа N.
7. Найти среднее арифметическое всех цифр числа N.
8. Вводится цифра A. Определить, присутствует ли хотя бы одна такая цифра в
числе N.
9. Вводится цифра A. Определить, сколько таких цифр присутствует в числе N.
10. Определить, четное или нечетное количество разрядов в числе N.
11. Определить, является ли последовательность цифр от младшего разряда к
старшему возрастающей.
12. Определить, является ли последовательность цифр от младшего разряда к
старшему убывающей.
13. Выяснить, одинаковые ли цифры стоят в начале и конце числа N.
14. Выяснить, четно ли произведение цифр числа N.
15. Выяснить, кратно ли произведение цифр числа N трем.
16. Выяснить, кратно ли сумма цифр числа N трем.
Лабораторная работа 6.7 (опять целые числа, но мастерство – на ступень выше)
22
1. Вводится натуральное число N. Требуется получить из него “число-перевертыш”
(N1), т.е. число, полученное из данного выписыванием его цифр в обратном порядке.
Например: N=1025 - N1=5201; N=430 - N1=34.
2. Вводится натуральное число N. Проверить, является ли оно палиндромом.
Например: N=1025 – не палиндром ; N=10201 – палиндром ; N=9889 – палиндром.
3. Вводятся натуральные числа N1 и N2. Вывести на экран все палиндромы на отрезке [N1,N2].
4. Вводится натуральное число N и цифра A..Требуется получить новое число N1,
вычеркивая из числа N цифру A.
Например: N=1215, A=1 - N1=25 ; N=125, A=9 - N1=125.
5. Вводится натуральное число N и цифра A..Требуется получить новое число N1,
вычеркивая из числа N цифру A и одновременно меняя порядок следования
цифр числа N на обратный.
Например: N=1215, A=1 - N1=52 ; N=125, A=9 - N1=521.
6. Вводится натуральное число N. Получить новое число N1, приписав к числу N
само себя.
Например: N=12 - N1=1212;
7. Вводится натуральное число N. Получить все числа, меньшие N квадрат которых
оканчивается на само число N.
Например: 62=36 ; 252=625.
8. Вводятся два натуральных числа N1 и N2, а также натуральное число P (1<P<10).
Считаем, что N1 и N2 – это числа в системе счисления с основанием P. Требуется найти сумму чисел N1 и N2, не переводя их в десятичную систему счисления.
9. Вводится натуральное шестизначное число N. Определить, является ли оно счастливым (счастливым называется число, у которого сумма цифр первой половины разрядов равна сумме второй половины разрядов).
Например: N=175355 – счастливое ; N=136451 – счастливое.
10. Вводится натуральное число N. Получить из него новое число N1, переставив
первую и последнюю цифры числа N.
Например: N=2509 - N1=9502.
11. Вводятся натуральные числа N и P (1<P<10). Считаем, что N – это число в системе счисления с основанием P. Перевести число N в десятичную систему счисления.
23
12. Вводятся натуральные числа N и P (1<P<10). Перевести число N из десятичной
системы счисления в систему счисления с основанием P.
13. Вводится натуральное число N. Требуется получить новое число N1 по следующему правилу: если в числе N четное число разрядов, то вставить цифру
ноль в середину числа, а, если нечетное, то вычеркнуть среднюю цифру.
Например: N=1259 - N1=12059 ; N=145 - N1=15.
14. Вводится натуральное число N,состоящее только из нулей и единиц. Считаем,
что это число в двоичной системе счисления. Прибавить к нему единицу по правилам двоичной арифметики (в десятичную систему не переводить).
15. Вводится натуральное число N. Получить новое число N1, приписав к числу N
единицу в начало и в конец.
Например: N=315 - N1=13151.
7. Символьные данные
Лабораторная работа 7.1 (узнаем у компьютера, какими он пользуется символами)
Вывести на экран таблицу символов с соответствующими кодами.
Лабораторная работа 7.2 (впервые обрабатываем не числа, а текст)
С клавиатуры вводится текст - последовательность символов, возможно пустая, за которой следует точка. В сам текст точка не входит. Определить, удовлетворяет ли введенный текст следующему свойству:
1. Текст является десятичной записью числа, кратного 9.
2. Текст является записью четного числа в семеричной форме.
3. Текст является десятичной записью числа, кратного 6.
4. Текст является десятичной записью числа, кратного 4.
5. Текст является шестнадцатеричной записью числа, кратного 7.
6. Текст начинается с некоторой ненулевой цифры, за которой следуют только буквы, и их количество равно числовому значению этой цифры.
7. Текст начинается с k букв (1 <= k <= 9), за которыми следует только одна литера
- цифра с числовым значением k.
24
8. Текст совпадает с начальным отрезком ряда 0123456789.
Например: 0,01,012 .
9. Текст совпадает с конечным отрезком ряда 0123456789.
Например: 9,89,789.
10. Текст совпадает с кaким-либо отрезком ряда 0123456789.
Например: 2,678.
11. Текст состоит только из цифр, причем их числовые значения образуют арифметическую прогрессию.
Например: 2468, 741, 3.
12. Текст содержит, помимо букв, только одну цифру, причем ее цифровое значение
равно длине текста.
13. Сумма числовых значений цифр, входящих в текст, равна длине текста.
14. Текст является шестнадцатеричной записью числа, кратного 5.
8. Подпрограммы (процедуры и функции)
Лабораторная работа 8.1 (задачи знакомые, но записываем их в новой форме)
1. Вычислить наименьшее общее кратное двух чисел a и b, используя алгоритм
Евклида для вычисления их наибольшего общего делителя (вычисление
НОД(a,b) оформить в виде подпрограммы).
2. Вводятся два натуральных числа M и N. Вычислить сумму факториалов этих чисел (определение факториала числа выполнить в подпрограмме).
3. Даны натуральные числа a и b, являющиеся соответственно числителем и знаменателем дроби. Сократить дробь, найдя наибольший общий делитель
(НОД(a,b)) по алгоритму Евклида (вычисление НОД(a,b) оформить в виде подпрограммы).
4. Вводятся натуральные числа X, Y, m и n. Вычислить сумму Xm+Yn (определение
степени числа выполнить в подпрограмме).
5. Найти наибольший общий делитель трех натуральных чисел, имея в виду, что
НОД(a,b,c)=НОД(НОД(a,b),c). Вычисление НОД(a,b) оформить в виде подпрограммы.
25
6. Вводится натуральное число N. Вывести на экран все палиндромы, меньшие N
(Написать подпрограмму, позволяющую распознать, является ли число палиндромом).
7. Вводится последовательность натуральных чисел. Признаком окончания ввода
является ноль. Определить число с наибольшим средним арифметическим его
цифр (написать подпрограмму вычисления среднего арифметического цифр числа).
8. Вводится последовательность натуральных чисел. Признаком окончания ввода
является ноль. Найти наибольший общий делитель введенных чисел, учитывая,
что НОД(a,b,c)=НОД(НОД(a,b),c). Вычисление НОД(a,b) оформить в виде
подпрограммы.
9. Вводится натуральное число N. Вывести на экран все простые числа, меньшие
N (написать подпрограмму, позволяющую распознать, является ли число простым).
10. Два простых числа называются близнецами, если они отличаются друг от друга
на 2 (напрмер 41 и 43 - близнецы). Вводится натуральное число N. Вывести на
экран все числа-близнецы, меньшие N (написать подпрограмму, позволяющую
распознать, является ли число простым).
11. Получить все счастливые шестизначные номера. Счастливым является число, у
которого сумма первых трех цифр равна сумме последних трех цифр (Определить подпрограмму для расчета суммы цифр трехзначного числа).
12. Вводится натуральное число N. Выписать все его простые делители (написать
подпрограмму, позволяющую распознать, является ли число простым).
13. Вводится натуральное число N. Вывести на экран все числа, меньшие N, являющиеся полными квадратами (написать подпрограмму, позволяющую распознать, является ли число полным квадратом). Число a называется полным квадратом, если найдется такое натуральное b, что a=b2.
14. Вводится натуральное число N. Вывести на экран все совершенные числа,
меньшие N (написать подпрограмму, позволяющую распознать, является ли число совершенным).
15. Вводится последовательность натуральных чисел. Признаком окончания ввода
является ноль. Найти сумму тех элементов последовательности, порядковый номер которых является числом Фибоначчи (написать подпрограмму, определяющую, является ли данное число числом Фибоначчи).
26
16. Дружественными числами являются два натуральных числа, таких, что каждое из
них равно сумме всех натуральных делителей другого, исключая само это другое
число.
Например:
220 и 284 – дружественные числа, так как
1+2+4+5+10+11+20+22+44+55+110=284 и 1+2+4+71+142=220.
Найти все дружественные числа в интервале [1;10000], используя подпрограмму
нахождения суммы делителей.
9. Численные методы
Лабораторная работа 9.1 (приближенно решаем уравнения)
Найти корень уравнения f(x)=0 на отрезке [a,b] с точностью 0.001.
вариант
f(x)
a
1
sin(x) - 0.2
0
2
cos(x) + 0.4
/2
3
cos(x) – x
0
/2
4
tg(x) – 2x
0
/2
5
tg(x) – x
0
/2
6
X2 - 4x - 5
0
7
7
x2 – x
0.5
2
8
sin(x) – cos(x)
0
/2
9
1/x – x
0.5
2
10
x - cos(x)
0
/2
11
x + 2x – 1
0
1
12
1/x – x2
0.5
2
13
x –x
0.5
2
14
x - x2 +2
0.5
3
15
X3 – cos(x)
0
/2
27
b
Лабораторная работа 9.2 (приближенно находим площади криволинейных
фигур)
Hа отрезке [a, b] заданы две функции f1(x) и f2(x). Вычислить площадь фигуры,
заключенной между этими функциями, двумя методами: методом трапеций (или
прямоугольников) и методом Монте-Карло. Точность вычисления 0.01. Сравнить результаты.
вариант
A
B
f1(x)
f2(x)
1
0
/2
sin(x)
(2/ )x
2
1
3
1/x
X2
3
0.1
/2
cos x
ctg(x)
4
0
/4
cos x
sin(x)
5
0
2
x2
-x2+4
6
0
/2
cos(x)
ось OX
7
0
/4
sin(x)
ось OX
8
1
2
2/x
-x+3
9
0
1
x2
x3
10
/2
(3/4)
-cos(x)
sin x
11
0
/2
cos(x)
ось OX
12
0
1
x2 - 1
1 - x2
13
0
1
x3
x
14
0
/4
tg(x)
ось OX
15
0
1
x3
x
10. Одномерные массивы
Лабораторная работа 10.1 (наконец-то – от простых переменных переходим к массивам)
1. Дан массив целых чисел. Найти максимальный элемент массива и его порядковый номер.
2. Дан массив целых чисел. Сдвинуть его циклически на один элемент вправо.
28
3. Дан массив целых чисел. Найти минимальный элемент массива и его порядковый
номер.
4. Дан массив целых чисел. Сдвинуть его циклически на один элемент влево.
5. Дан массив целых чисел. Проверить, является ли массив палиндромом.
6. Массив целых чисел упорядочен по возрастанию. Преобразовать его так, чтобы
он стал упорядоченным по убыванию.
7. Дан массив целых чисел. Вывести все тройки различных подряд идущих элементов.
8. В массиве целых чисел поменять местами максимальный и минимальный элементы.
9. Упорядочить массив целых чисел по возрастанию.
10. Упорядочить массив целых чисел по убыванию.
11. Дан массив действительных чисел. Найти сумму элементов с четными номерами
и произведение элементов с нечетными номерами.
12. В массиве целых чисел все нулевые элементы заменить на среднее арифметическое всех элементов массива.
13. Дан массив целых чисел. Переписать все положительные элементы во второй
массив, а остальные – в третий. Во втором массиве элементы должны стоять на
тех же местах, что и в первом; а в третьем – идти подряд.
14. Дан массив целых чисел. Найти элемент наиболее близкий к среднему арифметическому всех элементов массива.
15. Дан массив целых чисел. Найти максимальный элемент массива и количество
таких элементов в массиве (за один проход по массиву).
16. Дан массив целых чисел. Найти минимальный элемент массива и количество таких элементов в массиве (за один проход по массиву).
Лабораторная работа 10.2 (те же массивы, но задачи посложнее)
1. Два массива целых чисел x и y упорядочены по неубыванию. Объединить элементы этих двух массивов в один массив z так, чтобы и он оказался упорядочен
по неубыванию, По отношению к массиву z алгоритм сортировки не применять.
2. Удалить из массива целых чисел все числа большие N и сжать массив, не заводя
нового массива для пересылки (N вводится).
3. Вставить в упорядоченный по убыванию массив целых чисел заданный элемент,
сохраняя порядок. Использовать алгоритм бинарного поиска.
29
4. Дано 2 массива по 10 чисел в каждом. Найти наименьшее среди тех чисел первого массива, которые не входят во второй массив, считая, что хотя бы одно такое
число есть.
5. Дан массив, состоящий из строчных латинских букв. Последним символом массива является точка. Напечатать в алфавитном порядке все буквы, которые входят
в текст по одному разу.
6. Дан массив из N целых чисел (N<=10). Осуществить циклический сдвиг элементов массива на L позиций влево.
7. Дан массив из N целых чисел (N<=10). Осуществить циклический сдвиг элементов массива на L позиций вправо.
8. В упорядоченном по возрастанию символьном массиве, состоящем только из
строчных латинских букв, найти заданный элемент, используя алгоритм бинарного поиска.
9. Ввести и упорядочить последовательность из N натуральных чисел таким образом, чтобы она возрастала по четным номерам и убывала по нечетным.
10. Ввести и упорядочить последовательность из N натуральных чисел таким образом, чтобы она возрастала до середины, а затем убывала.
11. Ввести массив из N латинских букв. Удалить наиболее часто встречающуюся букву и сжать массив, не заводя нового массива для пересылки.
12. Дан одномерный массив целых чисел. Число компонент кратно 5. Переписать
элементы этого массива в другой массив, порядок в каждой пятерке так, чтобы
сначала шли положительные числа, затем нули, а затем – отрицательные числа.
Порядок самих пятерок должен быть сохранен.
13. Ввести массив из N натуральных чисел. Найти в нем и вывести на печать монотонно возрастающую подпоследовательность максимальной длины.
14. Логической переменной A присвоить значение true, если элементы массива вещественных чисел X образуют неубывающую последовательность, и значение
false в противном случае.
15. Дан массив целых чисел. Найти минимальный из положительных и максимальный из отрицательных элементов массива ( если они есть ) и поменять их
местами.
16. Дан массив целых чисел. Удалить все отрицательные элементы, сжав массив.
Новый массив для пересылки не заводить.
30
11. Двумерные массивы
Лабораторная работа 11.1 (крестики-нолики, морской бой, шахматы, … – без
двумерных массивов не обойтись)
1. Дана прямоугольная матрица целых чисел. Найти максимальный элемент матрицы с указанием номеров строки и столбца, на пересечении которых он находится.
2. Дана прямоугольная матрица целых чисел. Выписать максимальный элемент в
каждой строке, указав его номер столбца.
3. Дана прямоугольная матрица целых чисел. Выписать максимальный элемент в
каждом столбце, указав его номер строки.
4. Дана прямоугольная матрица целых чисел. Найти сумму элементов каждой строки.
5. Дана прямоугольная матрица целых чисел. Найти сумму элементов каждого
столбца.
6. Дана квадратная матрица целых чисел. Поменять местами элементы главной и
побочной диагоналей.
7. Дана квадратная матрица целых чисел. Выписать все элементы матрицы, находящиеся выше главной диагонали.
8. Дана квадратная матрица целых чисел. Выписать все элементы матрицы, находящиеся ниже главной диагонали.
9. Дана квадратная матрица целых чисел. Выписать все элементы матрицы, находящиеся выше побочной диагонали.
10. Дана квадратная матрица целых чисел. Выписать все элементы матрицы, находящиеся ниже побочной диагонали.
11. Дана квадратная матрица целых чисел. Поменять местами элементы матрицы
симметрично главной диагонали.
12. Дана квадратная матрица целых чисел. Найти максимум среди элементов главной диагонали, указав номера строки и столбца, на пересечении которых он находится.
13. Дана квадратная матрица целых чисел. Найти максимум среди элементов побочной диагонали, указав номера строки и столбца, на пересечении которых он находится.
14. Дана квадратная матрица целых чисел. Выписать все элементы матрицы, находящиеся в ее верхней половине между главной и побочной диагоналями.
31
15. Дана квадратная матрица целых чисел. Выписать все элементы матрицы, находящиеся в ее нижней половине между побочной и главной диагоналями.
16. Дана квадратная матрица целых чисел. Выписать все элементы матрицы, находящиеся в ее левой половине между главной и побочной диагоналями.
17. Дана квадратная матрица целых чисел. Выписать все элементы матрицы, находящиеся в ее правой половине между побочной и главной диагоналями.
18. Назовем седловой точкой матрицы элемент минимальный в строке и максимальный в столбце, или максимальный в строке и минимальный в столбце. Найти
все седловые точки прямоугольной матрицы целых чисел.
19. Дана матрица, элементами которой являются вещественные числа. Создать одномерный массив, элементами которого являются суммы отрицательных элементов столбцов данной матрицы.
20. Дана матрица, элементами которой являются вещественные числа. Создать одномерный массив, элементами которого являются суммы положительных элементов строк данной матрицы.
21. Дана матрица N*M, элементами которой являются целые числа и номер столбца
K. Сдвинуть все столбцы с K-ого по M-ый на один влево.
22. Дана матрица N*M, элементами которой являются целые числа и номер строки K.
Сдвинуть все строки с K-ой по N-ую на одну вверх.
Лабораторная работа 11.2 (гуляем по матрице прямо и зигзагами)
Заполнить матрицу размером 5*5 целыми числами от 1 до 25 по схеме.
1
2
3
4
5
6
7
8
32
9
10
11
12
13
14
15
16
12. Графика
Лабораторная работа 12.1 (на первых подступах к красоте)
Для выполнения заданий с 1-го по 9-ое использовать только процедуру PutPixel.
1. Нарисовать прямоугольную сетку с заданным шагом.
2. Верхнюю половину экрана разлиновать горизонтальными линиями, а нижнюю вертикальными.
3. Часть экрана над побочной диагональю разлиновать вертикальными линиями, а
под главной диагональю – горизонтальными.
4. Нарисовать наклонную (под 45 градусов) сетку с заданным шагом.
5. Нарисовать наклонную (под 135 градусов) сетку с заданным шагом.
6. Нарисовать горизонтальный отрезок, движущийся от левой границы экрана к
правой.
33
7. Нарисовать вертикальный отрезок, движущийся от верхней границы экрана к
нижней.
8. Нарисовать горизонтальный отрезок, движущийся из верхнего левого угла экрана
в нижний правый.
9. Разбить экран на четыре прямоугольника. Каждый прямоугольник заполнить своей сеткой – горизонтальной, вертикальной, прямоугольной и наклонной (под 45
градусов).
Для выполнения заданий с 10-го по 12-ое использовать только процедуру Line.
10. Нарисовать закрашенный прямоугольник, движущийся от левой границы экрана к
правой.
11. Нарисовать закрашенный прямоугольник, движущийся от верхней границы экрана к нижней.
12. Нарисовать закрашенный прямоугольник, движущийся из верхнего левого угла
экрана в нижний правый.
13. Дан массив из 10 натуральных чисел. Построить по его значениям столбчатую
диаграмму.
14. Дан массив из 10 натуральных чисел. Построить по его значениям круговую диаграмму.
15. Изобразить на экране шахматную доску.
Лабораторная работа 12.2 (графики функций в декартовой системе координат – помощь по математике)
Построить график функции в пользовательской системе координат (начало
системы координат – в центре экрана, направление осей Ox и Oy – вправо и вверх).
На экране должны быть нарисованы координатные оси, указан масштаб по осям и
написано уравнение кривой и имя автора.
Вариант
Ф у н к ц и и
1
cos (2x)
2
abs( sin (x))
3
cos (x)
4
1/x
34
5
cos (0.5x)
6
sin (abs (x))
7
-x2
8
Abs(sin(x)*cos(x))
9
0.5x2
10
1/(x-1)
11
0.5/x
12
-0.5x2
13
2x2
14
Sin(x)*cos(2x)
15
Sin(x)*sin(2x)
Лабораторная работа 12.3 (графики кривых в полярной системе координат
– и математика и красота одновременно)
Построить график кривой в полярной системе координат. На экране должны
быть нарисованы координатные оси, указан масштаб по осям и написано уравнение
кривой и имя автора.
Вариант
Уравнения кривых
Названия кривых
1
=a*sin(2 )
4-х лепестковая роза
2
=a*sin(3 )
3-х лепестковая роза
3
=2r*(1-cos( ))
Картоида
4
2=a2
Спираль Ферма
5
=a/
Гиперболическая спираль
6
=a*em
Логарифмическая спираль
7
=a*
Спираль Архимеда
8
=a*ctg( )
Каппа
9
2=a2/
Жезл
10
2=2a2*cos(2 )
Лемниската Бернулли
11
=a*sin(4 /3)
Семейство роз
35
12
=a*sin( /3)
Семейство роз
13
=a*sin( /2)
Семейство роз
14
=a*sin(5 /3)
Семейство роз
Лабораторная работа 12.4 (не только рисуем, но и двигаем картинку по экрану)
1. Нарисовать квадрат, вращающийся по часовой стрелке вокруг своего центра.
2. Нарисовать квадрат, вращающийся по часовой стрелке вокруг своей вершины.
3. Нарисовать правильный треугольник, вращающийся по часовой стрелке вокруг
своей вершины.
4. Нарисовать правильный треугольник, вращающийся по часовой стрелке вокруг
середины своего основания.
5. Нарисовать правильный треугольник, вращающийся по часовой стрелке вокруг
центра вписанной (или описанной) окружности.
6. Нарисовать правильный N-угольник, вращающийся по часовой стрелке вокруг
своей вершины (N вводится).
7. Нарисовать правильный N-угольник, вращающийся по часовой стрелке вокруг
середины своей стороны (N вводится).
8. Нарисовать правильный N-угольник, вращающийся по часовой стрелке вокруг
своего центра (N вводится).
9. Нарисовать два вращающихся вокруг своих центров отрезка (один – по часовой
стрелке, а другой - против).
10. Нарисовать квадрат, «катящийся» по горизонтальной плоскости.
11. Нарисовать правильный треугольник, «катящийся» по горизонтальной плоскости.
12. Нарисовать два квадрата с одним центром и разными длинами сторон, вращающихся относительно центра в противоположную сторону.
13. Нарисовать квадрат, «катящийся» по наклонной плоскости.
14. Нарисовать отрезок, вращающийся по часовой стрелке вокруг своего центра.
15. Нарисовать отрезок, вращающийся по часовой стрелке вокруг своего конца.
36
Лабораторная работа 12.5 (довольно сложные, но интересные задачи по
графике)
1. В центре экрана построить квадрат со стороной a. Разделить каждую сторону
квадрата в соотношении k и полученные точки соединить в новый квадрат. Процесс деления сторон и рисования нового квадрата повторять n раз. Величины a, k
и n вводятся.
2. В центре экрана построить m-угольник со стороной a. Разделить каждую его сторону в соотношении k и полученные точки соединить в новый m-угольник. Процесс деления сторон и рисования нового многоугольника повторять n раз. Величины a, m, k и n вводятся.
3. В центре экрана нарисовать первую букву своего имени. Затем эту букву перенести на заданный вектор, отмасштабировать и повернуть на заданный угол.
4. Разработать и реализовать любой алгоритм «хранителя экрана».
5. Обруч катится без проскальзывания по горизонтальной поверхности. Нарисовать
траекторию движения точки обруча.
6. Первый обруч катится без проскальзывания по внешней поверхности второго обруча. Нарисовать траекторию движения точки первого обруча.
7. Первый обруч катится без проскальзывания по внутренней поверхности второго
обруча. Нарисовать траекторию движения точки первого обруча.
8. Нарисовать квадрат, скользящий по внутренней стороне обруча.
9. Нарисовать квадрат, скользящий по внешней стороне обруча.
10. На катушку наматывают нить. Нарисовать траекторию движения конца нити.
11. Нарисовать правильный треугольник, скользящий по внутренней стороне обруча.
12. Нарисовать правильный треугольник, скользящий по внешней стороне обруча.
13. Нарисовать отрезок, скользящий по внутренней стороне обруча.
14. Построить касательную к окружности из заданной точки (рассмотреть все случаи
расположения точки относительно окружности).
15. Обруч «катится» без проскальзывания по потолку. Нарисовать траекторию движения точки обруча.
Лабораторная работа 12.6 (математические задачи с графическими иллюстрациями)
Ко всем задачам дать графическую иллюстрацию.
37
На плоскости задано конечное множество точек М.
1. Выбрать из множества М три различные точки A,B,C так, чтобы внутри треугольника ABC содержалось максимальное количество точек этого множества.
2. Выбрать четыре точки, являющиеся вершинами выпуклого четырехугольника
наибольшей площади.
3. Построить множество всех различных остроугольных треугольников с вершинами
из множества М.
4. Построить множество всех различных выпуклых четырехугольников с вершинами
из множества М.
5. Разбить множество М на непересекающиеся треугольники (количество точек
кратно трем).
6. Постройте кратчайший путь из точки с координатами (X1,Y1) в точку с координатами (X2,Y2), проходящий через две промежуточные точки из множества М.
7. Построить выпуклую оболочку данного множества М.
8. Соединить точки из множества М несамопересекающейся ломаной.
На плоскости задано конечное множество прямых L (коэффициентами уравнений Ах+Ву+С=0)
9. Подсчитать количество точек пересечения прямых из множества L.
10. Указать в множестве L прямую, имеющую максимальное число пересечений с остальными прямыми (все прямые различны).
Многоугольник на плоскости (не обязательно выпуклый, без самопересечений)
задан перечислением вершин в порядке их обхода.
11. Определить, является ли многоугольник выпуклым.
12. Вычислить площадь многоугольника.
13. Написать программу поворота многоугольника вокруг начала координат на угол а
и параллельного переноса многоугольника на вектор (х,у).
14. Даны положительные числа a,b,c,d. Поместится ли прямоугольник размера a*b
внутри прямоугольника c*d ? Параллельность сторон не обязательна.
38
13. Строки
Лабораторная работа 13.1 (работаем уже не с отдельными символами, а с
целой строкой)
1. Вводится строка. Удалить из строки символ «*».
2. Вводится строка. Удвоить в ней все символы «!».
3. Вводится строка. Оставить в каждой группе рядом стоящих точек этой строки
только одну точку.
4. Вводится строка. Проверить, является ли она правильной записью десятичного
числа (целого и возможно со знаком) и при положительном ответе перевести эту
строку в число (не используя стандартную процедуру VAL).
5. Вводится целое число (возможно отрицательное). Перевести его в строку, не
пользуясь стандартной процедурой STR.
6. Вводится строка. Проверить, является ли она правильной записью десятичного
числа (действительного и возможно со знаком) и при положительном ответе перевести эту строку в число (не используя стандартную процедуру VAL).
7. Вводится действительное число (возможно отрицательное). Перевести его в
строку, не пользуясь стандартной процедурой STR.
8. Написать «свою» функцию COPY.
9. Написать «свою» функцию INSERT.
10. Написать «свою» функцию DELETE.
11. Написать «свою» функцию CONCAT.
12. Написать «свою» функцию POS.
13. Написать «свою» процедуру COPY.
14. Написать «свою» процедуру INSERT.
15. Написать «свою» процедуру DELETE.
16. Написать «свою» процедуру CONCAT.
17. Написать «свою» процедуру POS.
Лабораторная работа 13.2 (учимся разбивать строку на слова)
Вводится строка, представляющая собой набор слов. Слова отделяются друг
от друга одним или несколькими пробелами. Строка может быть пустой или состоять
из одного слова.
39
Обработать слова по заданному правилу:
1. Подсчитать, сколько слов начинается и заканчивается одним и тем же символом.
2. Подсчитать, сколько слов имеет нечетное количество символов.
3. Подсчитать, сколько слов заканчивается восклицательным знаком.
4. Подсчитать, сколько слов начинается с заглавной русской буквы.
5. Подсчитать, сколько слов содержат три буквы "е".
6. Подсчитать, сколько слов заканчивается запятой.
7. Во всех словах с четным номером поменять местами первый и последний символы.
8. Во всех словах с нечетным номером поменять сочетание "ed" на "ing".
9. Записать каждое слово в обратном порядке ("задом-наперед").
10. Подсчитать, сколько слов содержат цифры.
11. Подсчитать, сколько слов состоит только из одного символа.
12. Во всех словах, имеющих нечетное количество символов, средний символ уничтожить.
13. Найти все слова минимальной длины.
14. Подсчитать, сколько слов являются палиндромами (читаются одинаково слева
направо и справа налево).
15. Найти все слова максимальной длины.
Дополнительные задания
Зашифровать и затем расшифровать текст шифром Цезаря.
Шифр Цезаря (метод сдвига).
Каждая буква исходного текста заменяется N-ой после нее буквой в алфавите (N
вводится или задается константой), который считается написанным по кругу, т. е.
после буквы Я следует буква А.
Например, исходное слово КРИПТОГРАФИЯ преобразуется в зашифрованное
НУЛТХСЕУГЧЛВ.
Зашифровать и затем расшифровать текст шифром Вижинера.
Шифр Вижинера представляет собой шифр Цезаря с переменной величиной
сдвига. Задается ключевое слово, каждая буква которого своим номером указывает величину сдвига букв. Ключевое слово повторяется столько раз, сколько
нужно для замены всех букв исходного текста.
Например, ключевое слово ВАЗА означает следующую последовательность
40
сдвигов букв текста 31913191... Исходное слово КРИПТОГРАФИЯ преобразуется в зашифрованное НССРХПЛСГХСА.
В строке заглавными латинскими буквами записано число в непозиционной римской системе счисления (считаем, что запись правильная). Перевести это число в
позиционную десятичную систему счисления.
14. Множества
Лабораторная работа 14.1 (очень легкий материал – передышка после процедур, функций, массивов, … )
1. Дана строка из строчных латинских букв. Напечатать первые вхождения букв в
текст, сохраняя их исходный взаимный порядок.
2. Дана строка из строчных латинских букв. Напечатать в алфавитном порядке все
буквы, входящие в текст не менее двух раз.
3. Дана строка из строчных латинских букв. Напечатать в алфавитном порядке все
буквы, входящие в текст по одному разу.
4. Вводится натуральное число. Подсчитать количество различных цифр в его записи.
5. Вводится натуральное число. Выписать в возрастающем порядке все цифры, не
входящие в запись данного числа.
6. Дано натуральное число N. Используя метод «решета Эратосфена» выписать
все простые числа от 1 до N в убывающем порядке.
7. Дан массив из N натуральных чисел. Выписать в возрастающем порядке те цифры, которые не входят ни в одно из этих чисел.
8. Дан массив из N натуральных чисел. Выписать в возрастающем порядке те цифры, которые входят во все эти числа.
9. Задать два множества A и B (одного и того же типа). Поменять местами значения
A и B, не используя дополнительных переменных.
10. Дан массив из N натуральных чисел. Выписать в убывающем порядке те цифры,
которые не входят ни в одно из четных.
11. Дан массив из N натуральных чисел. Выписать в убывающем порядке те цифры,
которые входят во все нечетные числа.
41
В заданиях с 12-го по 15-ое вводится строка - последовательность слов из
строчных русских букв, между соседними словами
запятая, за последним словом
точка. Напечатать в алфавитном порядке:
12. Все гласные буквы, которые входят в каждое слово.
13. Все согласные буквы, которые не входят ни в одно слово.
14. Все звонкие согласные буквы, которые входят хотя бы в одно слово.
15. Все звонкие согласные буквы, которые входят в каждое нечѐтное слово.
Примечание:
гласные буквы:
а, е, и, о, у, ы, э, ю, я;
согласные буквы:
все остальные буквы, кроме ь, ъ;
звонкие согласные:
б, в, г, д, ж, з, л, м, н, р.
15. Записи
Лабораторная работа 15.1 (оказывается, переменная может состоять из
полей совершенно разного типа).
1. Задано время T. Определить, чему будет равно время спустя одну секунду (с
учетом смены минут, часов и суток).
2. Написать программу, вычисляющую время, прошедшее от времени T1 до времени T2 , считая, что T2>T1 .
3. Написать программу для проверки предшествует ли время T1 времени T2 (в рамках суток).
4. Заданы два поля шахматной доски. Определить, может ли ферзь за один ход перейти с первого поля доски на второе поле.
5. При задаваемых датах рождения определить, кто старше из двух друзей.
6. На столе выложены в ряд костяшки домино. Проверить, составляют ли они правильную последовательность.
7. Заданы две окружности. Определить их взаимное расположение (пересекаются,
одна в другой, удалены друг от друга).
В заданиях с 8-го по 16-ое задан набор из N кубиков (N указано в константе).
Каждый кубик характеризуется следующими параметрами: размер ребра, вес, цвет.
8. Отсортировать кубики по размеру.
9. Отсортировать кубики по цвету.
42
10. Отсортировать кубики по весу.
11. Вывести на экран порядковый номер и параметры самого тяжелого кубика.
12. Вывести на экран порядковый номер и параметры самого маленького кубика.
13. Отсортировать кубики по цветам, а внутри одного цвета – по размеру.
14. Отсортировать кубики по размеру, а внутри одного размера – по весу.
15. Отсортировать кубики по цветам, внутри одного цвета – по размеру, а внутри одного размера – по весу.
16. Вывести на экран порядковые номера и параметры всех кубиков цвета Color
(Color вводится) и суммарный вес этих кубиков.
17. Подсчитать количество самых крупных кубиков и вывести на экран их порядковые
номера и параметры.
16. Файлы
Лабораторная работа 16.1 (приступаем к изучению типизированных файлов)
1. Вводится файл натуральных чисел (file of integer). Требуется найти среднее
арифметическое этих чисел и создать еще один файл, переписав в него все числа из первого файла, большие среднего арифметического.
2. Вводится файл целых чисел (file of integer). Требуется отсортировать числа в
файле по возрастанию. Дополнительный файл не использовать.
3. Вводится файл целых чисел (file of integer). Создать еще один файл и переписать
в него все положительные числа из первого файла, удалив их оттуда.
4. Вводится файл символов (file of char). Упорядочить файл по алфавиту.
5. Вводятся два упорядоченных по возрастанию файла целых чисел. Объединить
их в третий файл, также упорядоченный по возрастанию.
6. Вводятся два файла целых чисел. Первый файл упорядочен по возрастанию, а
второй – по убыванию. Объединить их в третий файл, упорядоченный по возрастанию.
7. Вводится файл строк (file of string). Создать файл целых чисел и записать в каждую строку этого файла, сколько повторяющихся маленьких латинских букв находится в соответствующей строке первого файла.
8. Вводится файл целых чисел в следующем порядке: четыре положительных, четыре отрицательных, четыре положительных, четыре отрицательных и т.д. (ну43
левых компонент в файле нет). Переписать эти данные в другой файл, но уже в
таком порядке: два положительных, два отрицательных, два положительных, два
отрицательных и т.д.
9. Даны два файла целых чисел (file of integer), содержащие коэффициенты двух
полиномов, начиная со старших степеней. Перемножить два полинома и результат (коэффициенты третьего полинома) поместить в третий файл того же типа.
10. Даны два файла целых чисел (file of integer), содержащие коэффициенты двух
многочленов, начиная со старших степеней. Сложить два многочлена и результат
(коэффициенты третьего многочлена) поместить в третий файл того же типа.
11. Вводится файл целых чисел (file of integer). Создать еще один файл и переписать
в него все четные числа, удалив их из первого файла.
12. Даны два файла целых чисел (file of integer), содержащие коэффициенты двух
многочленов, начиная со старших степеней. Вычесть из первого многочлена второй и результат (коэффициенты третьего многочлена) поместить в третий файл
того же типа.
13. Вводится файл строк (file of string). Создать файл целых чисел и записать в каждую строку этого файла числовое значение суммы цифр, находящихся в соответствующей строке первого файла.
14. Вводится файл целых чисел (file of integer). Если число компонент файла чѐтное,
вставить число 100 в середину файла. Дополнительный файл не использовать.
15. Вводится файл целых чисел (file of integer).Найти минимальный компонент файла
( их может быть несколько) и после каждого вставить 0. Дополнительный файл не
использовать.
Лабораторная работа 16.2 (используем все наши знания и пишем собственную базу данных)
В данной работе надо написать программу по обслуживанию базы данных.
Программа должна выполнять следующие функции:
Ввод данных (как первоначальный, так и дозапись).
Вывод данных.
Поиск записи по ключу.
Корректировка найденной записи.
Сортировка данных по ключам.
44
Удаление записи по ключу
1. База данных по животным в зоопарке. По каждому животному указать его название, кличку и возраст. Ключ для поиска – кличка, а для сортировки – название
животного и возраст.
2. База данных по книгам в библиотеке. По каждой книге указать автора, название,
и год издания. Ключ для поиска – название книги, а для сортировки – автор и год
издания.
3. База данных по ученикам в классе. По каждому ученику указать фамилию и имя и
год рождения. Ключ для поиска – фамилия, а для сортировки – фамилия и год
рождения.
4. База данных по учителям в школе. По каждому учителю указать фамилию, имя,
отчество и предмет. Ключ для поиска – фамилия, а для сортировки – предмет и
фамилия.
5. База данных по CD-дискам. По каждому диску указать название, год выпуска и
цену. Ключ для поиска – название диска, а для сортировки – название и цена.
6. База данных по компьютерам в школе. По каждому типу компьютера указать тактовую частоту процессора, объем оперативной памяти и количество компьютеров
такого типа. Ключ для поиска – частота процессора, а для сортировки – частота
процессора и объем оперативной памяти.
7. База данных по товару магазина. По каждому виду товара указать название, количество на данный момент и цену. Ключ для поиска – название, а для сортировки – название и цена.
8. База данных по факультетам института. По каждому факультету указать название, проходной балл и количество обучающихся на нем студентов. Ключ для поиска – название, а для сортировки – проходной балл и название.
9. База данных по растениям в ботаническом саду. По каждому растению указать
вид, название и количество. Ключ для поиска – название, а для сортировки – название и количество.
10. База данных по издаваемым газетам. По каждой газете указать название, издательство и цену. Ключ для поиска – название, а для сортировки – издательство и
название.
11. База данных по издаваемым журналам. По каждому журналу указать название,
издательство, количество страниц и цену. Ключ для поиска – название, а для
сортировки – издательство и название.
45
12. База данных по аптекам города. По каждой аптеке указать название, адрес, телефон и признак – государственная это аптека или частная. Ключ для поиска –
название, а для сортировки – признак (государственная или частная) и название.
13. База данных по высшим учебным заведениям города. По каждому высшему
учебному заведению указать название, статус (университет, академия, институт)
и адрес. Ключ для поиска – название, а для сортировки – статус и название.
14. База данных по гимназиям и лицеям города. По каждому учебному заведению
указать номер, статус и количество учащихся. Ключ для поиска – номер, а для
сортировки – статус и количество учащихся.
15. База данных по экскурсиям по городу и области. По каждой экскурсии указать название, продолжительность и стоимость. Ключ для поиска – название, а для сортировки – название и стоимость.
Лабораторная работа 16.3 (текстовые файлы – незаменимый инструмент
для отладки программ с большим количеством исходных данных)
Дано описание: var
T : text;
Написать процедуры ввода и вывода текстового файла T, а также одну из
следующих процедур:
1. DEL_pred_Last_Str(T) - удаляет из текста предпоследнюю строку, если она есть.
2. DOUBLE_Str_with_Digit(T) - удваивает в тексте каждую строку, содержащую цифры.
3. PRINT_Elem_N(T,N) - выводит на экран N-ый элемент текста, если он есть.
4. DEL_pred_Last_Elem(T) - удаляет из текста предпоследний элемент, если он
есть.
5. DEL_1word_Str(T) - удаляет из текста строки, состоящие из одного слова (слова в
строке разделены одним или несколькими пробелами).
6. ROTATE_Str(T) – переворачивает в тексте все строки.
7. PRINT_Max_LINE(T) - выводит на экран самую длинную строку.
8. REPLACE_Last_Str_to_C(T,C) - заменяет последнюю строку текста на строку C.
9. REPLACE_N_Str_to_C(T,N,C)- заменяет N-ую строку текста (если она есть) на
строку C.
10. MOVE_Last_Str_to_Begin(T) - переносит последнюю строку в начало текста.
11. Del_Palindr_Str(T) – удаляет из текста все строки, являющиеся палиндромами.
46
12. COUNT_Str(T) – считает количество строк в тексте.
13. PRINT_Min_LINE(T) - выводит на экран самую короткую строку.
14. DEL_Empty_Str(T) – удаляет из текста все пустые строки.
15. CHANGE_Words_Str(T) – меняет местами первое и последнее слово в каждой
строке текста.
16. REPLACE_First_Str_to_C(T,C) - заменяет первую строку текста на строку C.
17. Динамическая память (первый шаг к современному программированию)
Лабораторная работа 17.1 (линейные однонаправленные списки – не так
трудно, как кажется)
Пусть имеется линейный однонаправленный список, тип звена которого описан следующим образом:
Type
list
= ^node;
node = record
K : integer;
next : List;
end;
Написать следующие функции (L – указатель на голову списка, а El – переменная типа integer).
1.Функция добавляет El в голову
Function ToHead(l:list; El:integer):list;
списка.
2. Функция добавляет El в хвост
Function ToTail(l:list; El:integer):list;
непустого списка.
3. Функция определяет длину
Function Length_List(l:list):integer;
списка.
47
4. Функция возвращает число
Function
вхождений El в список.
Count_El(l:list;El:integer):integer;
5. Функция возвращает ссылку на
Function Min_List(l:list):list;
минимальный элемент списка.
6. Функция возвращает ссылку на
Function Max_List(l:list):list;
максимальный элемент списка.
7. Функция возвращает значение
Function Is_Neg(l:list):boolean;
true, если в списке есть отрицательные элементы.
8. Функция возвращает ссылку на
Function Find_El(l:list; El:integer):list;
элемент, равный El.
9. Функция удаляет все вхожде-
Function Del_All_El(l:list;
ния El из непустого списка.
El:integer):list;
10. Функция удаляет все отрица-
Function Del_All_Neg(l:list):list;
тельные элементы из непустого
списка.
11. Функция возвращает значение
Function Is_Vozr(l:list):boolean;
true, если список упорядочен по
возрастанию.
12. Функция вставляет El в упоря-
Function El_into_VList(l:list;
доченный по возрастанию список
El:integer):list;
(не нарушая порядка).
13. Функция вставляет El в упоря-
Function El_into_UList(l:list;
доченный по убыванию список (не
El:integer):list;
нарушая порядка).
48
14. Функция удваивает все эле-
Function Double(l:list; El:integer):list;
менты, равные El (удваивает –
т.е. вставляет новый элемент со
значением El).
15. Функция возвращает значение
Function Is_Double(l:list):boolean;
true, если в списке есть повторяющиеся элементы.
49
18. Краткий справочник
Герона
формула.
Герон – выдающийся греческий инженер и математик, живший в
г.Александрия в первом веке до н.э. Дал систематическое изложение основных достижений древности в области прикладной механики. Математические
работы Герона являются энциклопедией античной прикладной математики.
Формула Герона позволяет вычислить площадь треугольника по трем
его сторонам:
P=
(P*(P-a)*(P-b)*(P-c)),
где: a, b и c – стороны треугольника,
P – полупериметр (P=(a+b+c)/2).
Евклида
алгоритм.
Евклид –древнегреческий математик, живший в г.Александрия в треть-
ем веке до н.э. Важнейший труд Евклида «Начала», содержащий изложение
планиметрии, стереометрии и некоторых вопросов теории чисел, оказал огромное влияние на развитие математики.
Алгоритм Евклида нахождения наибольшего общего делителя (НОД)
неотрицательных целых чисел основан на следующих свойствах этой величины. Пусть 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.
Натуральное
число.
Числа 1, 2, 3 и т.д., использующиеся для счета предметов, т.е. целые
положительные числа, называются натуральными.
Палиндром.
Палиндром – это число, которое читается одинаково справа налево и
слева направо. Например, числа 1221, 343, 66 – палиндромы.
50
Понятие палиндром применимо и к тексту. Например, слово «шалаш»
это тоже палиндром.
Прогрессия
арифметическая.
Последовательность, каждый член которой, начиная со второго, получен сложением предыдущего члена с некоторым постоянным числом D, называется арифметической прогрессией. Число D – разность прогрессии.
Прогрессия
геометрическая.
Последовательность, первый член которой отличен от нуля и каждый
член, начиная со второго, получен умножением предыдущего члена на некоторое постоянное число Q
0, называется геометрической прогрессией. Чис-
ло Q – знаменатель прогрессии.
Простое
число.
Простым называется число, которое делится только на единицу и на
само себя.
Совершенное
число.
Совершенным называется число, которое равно сумме своих делителей (конечно, за исключением себя самого). Например, число 6 – совершенное, т.к. 6 = 1 + 2 + 3.
Среднее
арифметическое.
Среднее арифметическое чисел a1, a2, a3, …,an это сумма этих чисел,
деленная на их количество (n).
Среднее
геометрическое.
Среднее геометрическое чисел a1, a2, a3, …,an – это корень n–ой сте-
пени из произведения этих чисел.
Факториал.
Факториалом натурального числа n называется произведение натуральных чисел от 1 до n. Обозначается n!.
Фибоначчи
числа.
51
Фибоначчи Леонардо – итальянский математик из г.Пиза (иначе его
звали Леонардо Пизанский), живший в XII-XIII веке. Путешествуя по Востоку,
Леонардо познакомился с достижениями арабской математики, и его труды
способствовали передаче этих знаний на Запад.
Фибоначчи описал интересную последовательность чисел: первые два
числа равны единице, а каждое следующее равно сумме двух предыдущих (1,
1, 2, 3, 5, 8, 13, …).
Эратосфена
решето.
Эратосфен жил в третьем веке до н.э.; родился он в Африке, учился в
Александрии и Афинах. Эратосфен был очень разносторонним человеком: он
занимался наукой (астрономией, географией, математикой), а также филологией, музыкой и поэзией.
Эратосфен предложил алгоритм, с помощью которого можно определить все простые числа в заданном диапазоне. Суть алгоритма в следующем: выписываются все натуральные числа от 2 до границы заданного
диапазона; выбирается первое из них (это 2, простое число) и вычеркиваются
все кратные ему числа, кроме него самого; затем берется следующее из невычеркнутых чисел (это 3, также простое число) и опять вычеркиваются кратные ему числа и т. д. В конце концов, останутся только простые числа, начиная с 2.
19. Литература.
1. С.А.Абрамов, Г.Г.Гнездилова, Е.Н.Капустина, М.И.Селюн Задачи по программированию. – М.: «Наука», 1988.
2. В.Н.Пильщиков Сборник упражнений по языку Паскаль. – М.: «Наука», 1989.
3. Е.Андреева, И.Фалина Системы счисления и компьютерная арифметика. – М.:
«Лаборатория базовых знаний», 2000
4. О.П.Зеленяк Практикум по программированию на TUBO PASCAL.- Киев: «ДиаСофт», 2001
5. Д.М.Златопольский Я иду на урок информатики. – М.: «Первое сентября», 2001
52
Download