Главная страница

Методические указания для студентов механикоматематического, физического и экономического факультетов РостовнаДону 2004


Скачать 0.6 Mb.
НазваниеМетодические указания для студентов механикоматематического, физического и экономического факультетов РостовнаДону 2004
Дата11.10.2022
Размер0.6 Mb.
Формат файлаpdf
Имя файлаrsu552.pdf
ТипМетодические указания
#727890
страница2 из 7
1   2   3   4   5   6   7
одинакового размера. Это позволяет использовать для обработки строковых файлов методы прямого доступа, однако делает невозможным их просмотр и редактирование в обычных текстовых редакторах. В языке Pascal строковые файлы описываются как file of string (в Borland Delphi необходимо ис- пользовать описание file of ShortString). В языке Basic строковые фай- лы надо описывать как файлы прямого доступа (открытые в режиме Random) с элементами-строками фиксированного размера, например, String*80. В язы- ке C++ строковые файлы, как любые двоичные файлы, должны открываться в режиме ios_base::binary и иметь в качестве элементов строки фиксиро- ванного размера, например, char[80].
Под размером двоичного типизированного файла всегда подразумевается количество содержащихся в нем элементов указанного типа (а не количество байтов, как это принято в операционной системе). Как и для элементов массива, для элементов файла в формулировках заданий применяется «естественная» нумерация: первый элемент файла имеет порядковый номер 1. Это следует учи- тывать при организации перемещения к элементу с требуемым номером; в ча- стности, в языке Pascal для перехода к K-му элементу файла F необходимо вы- звать процедуру Seek(F, K–1).

10
Максимальный размер исходных файлов не указывается, поэтому при ре- шении заданий на файлы не следует использовать вспомогательные массивы, содержащие все элементы исходных файлов, однако допускается использова- ние вспомогательных файлов. Все исходные файлы считаются существующими и непустыми, за исключением специально оговоренных случаев (см., например, задания File4, File5, File9), в которых существование исходных файлов требует- ся проверять в ходе выполнения задания.
Если при выполнении заданий не используется электронный задачник
Programming Taskbook, то следует позаботиться о генерации исходных фай- лов, а также о наглядном выводе содержимого результирующих двоичных фай- лов. Для этих целей целесообразно применять специальные процедуры, кото- рые может разработать либо преподаватель, либо сами учащиеся.
Указатели
В заданиях этой группы используется особые типы данных: записи типа
TNode и указатели на них типа PNode. Описание этих типов на языках Pascal и
C++ приводится в начале раздела «Указатели». При использовании электронно- го задачника Programming Taskbook эти типы не следует описывать в про- грамме учащегося, так как они уже описаны в модулях задачника, подключае- мых к программе.
Для нулевого указателя в формулировках заданий используется обозначе- ние nil, заимствованное из языка Pascal.
Если при выполнении заданий не используется электронный задачник
Programming Taskbook, то следует позаботиться о подготовке тестовых дина- мических структур (и размещении их в динамической памяти в начале работы программы), а также о наглядном выводе содержимого результирующих струк- тур. Здесь, как и в случае с файлами, могут оказаться полезными специальные процедуры, разработанные либо преподавателем, либо самими учащимися.
3 Ввод и вывод данных, оператор присваивания: группа Begin
Все входные и выходные данные в заданиях этой группы являются веще- ственными числами.
Begin1. Дана сторона квадрата a. Найти его периметр P = 4·a.
Begin2. Дана сторона квадрата a. Найти его площадь S = a
2
Begin3
°. Даны стороны прямоугольника a и b. Найти его площадь S = a·b и пе- риметр P = 2·(a + b).
Begin4. Дан диаметр окружности d. Найти ее длину L =
π·d. В качестве значе- ния
π использовать 3.14.

11
Begin5. Дана длина ребра куба a. Найти объем куба V = a
3
и площадь его по- верхности S = 6·a
2
Begin6. Даны длины ребер a, b, c прямоугольного параллелепипеда. Найти его объем V = a·b·c и площадь поверхности S = 2·(a·b + b·c + a·c).
Begin7
°. Найти длину окружности L и площадь круга S заданного радиуса R:
L = 2·
π·R, S = π·R
2
В качестве значения
π использовать 3.14.
Begin8. Даны два числа a и b. Найти их среднее арифметическое: (a + b)/2.
Begin9. Даны два неотрицательных числа a и b. Найти их среднее геометриче-
ское, то есть квадратный корень из их произведения:
a b

Begin10. Даны два ненулевых числа. Найти сумму, разность, произведение и частное их квадратов.
Begin11. Даны два ненулевых числа. Найти сумму, разность, произведение и частное их модулей.
Begin12. Даны катеты прямоугольного треугольника a и b. Найти его гипоте- нузу c и периметр P:
c =
2
a
b
2
+
, P = a + b + c.
Begin13. Даны два круга с общим центром и радиусами R
1
и R
2
(R
1
> R
2
). Найти площади этих кругов S
1
и S
2
, а также площадь S
3
кольца, внешний радиус которого равен R
1
, а внутренний радиус равен R
2
:
S
1
=
π·(R
1
)
2
, S
2
=
π·(R
2
)
2
, S
3
= S
1
S
2
В качестве значения
π использовать 3.14.
Begin14. Дана длина L окружности. Найти ее радиус R и площадь S круга, ог- раниченного этой окружностью, учитывая, что L = 2·
π·R, S = π·R
2
. В ка- честве значения
π использовать 3.14.
Begin15. Дана площадь S круга. Найти его диаметр D и длину L окружности, ограничивающей этот круг, учитывая, что L =
π·D, S = π·D
2
/4. В качестве значения
π использовать 3.14.
Begin16. Найти расстояние между двумя точками с заданными координатами
x
1
и x
2
на числовой оси: |x
2
x
1
|.
Begin17. Даны три точки A, B, C на числовой оси. Найти длины отрезков AC и BC и их сумму.
Begin18. Даны три точки A, B, C на числовой оси. Точка C расположена между точками A и B. Найти произведение длин отрезков AC и BC.
Begin19. Даны координаты двух противоположных вершин прямоугольника:
(x
1
, y
1
), (x
2
, y
2
). Стороны прямоугольника параллельны осям координат.
Найти периметр и площадь данного прямоугольника.

12
Begin20. Найти расстояние между двумя точками с заданными координатами
(x
1
, y
1
) и (x
2
, y
2
) на плоскости. Расстояние вычисляется по формуле
2 2
2 1
2 1
(
)
(
) .
x
x
y
y

+

Begin21. Даны координаты трех вершин треугольника: (x
1
, y
1
), (x
2
, y
2
), (x
3
, y
3
).
Найти его периметр и площадь, используя формулу для расстояния между двумя точками на плоскости (см. задание Begin20). Для нахождения пло- щади треугольника со сторонами a, b, c использовать формулу Герона:
(
) (
) (
S
p p a
p b
p c
=

− ⋅
− ⋅
− ), где p = (a + b + c)/2 — полупериметр.
Begin22
°. Поменять местами содержимое переменных A и B и вывести новые значения A и B.
Begin23. Даны переменные A, B, C. Изменить их значения, переместив содер- жимое A в B, B — в C, C — в A, и вывести новые значения переменных A,
B, C.
Begin24. Даны переменные A, B, C. Изменить их значения, переместив содер- жимое A в C, C — в B, B — в A, и вывести новые значения переменных A,
B, C.
Begin25. Найти значение функции y = 3·x
6
– 6·x
2
– 7 при данном значении x.
Begin26. Найти значение функции y = 4·(x–3)
6
– 7·(x–3)
3
+ 2 при данном значе- нии x.
Begin27
°. Дано число A. Вычислить A
8
, используя вспомогательную перемен- ную и три операции умножения. Для этого последовательно находить A
2
,
A
4
, A
8
. Вывести все найденные степени числа A.
Begin28. Дано число A. Вычислить A
15
, используя две вспомогательные пере- менные и пять операций умножения. Для этого последовательно находить
A
2
, A
3
, A
5
, A
10
, A
15
. Вывести все найденные степени числа A.
Begin29. Дано значение угла
α в градусах (0 < α < 360). Определить значение этого же угла в радианах, учитывая, что 180° =
π радианов. В качестве зна- чения
π использовать 3.14.
Begin30. Дано значение угла
α в радианах (0 < α < 2·π). Определить значение этого же угла в градусах, учитывая, что 180° =
π радианов. В качестве зна- чения
π использовать 3.14.
Begin31. Дано значение температуры T в градусах Фаренгейта. Определить значение этой же температуры в градусах Цельсия. Температура по Цель- сию T
C
и температура по Фаренгейту T
F
связаны следующим соотношени- ем:
T
C
= (T
F
– 32)·5/9.

13
Begin32. Дано значение температуры T в градусах Цельсия. Определить значе- ние этой же температуры в градусах Фаренгейта. Температура по Цельсию
T
C
и температура по Фаренгейту T
F
связаны следующим соотношением:
T
C
= (T
F
– 32)·5/9.
Begin33. Известно, что X кг конфет стоит A рублей. Определить, сколько стоит
1 кг и Y кг этих же конфет.
Begin34. Известно, что X кг шоколадных конфет стоит A рублей, а Y кг ирисок стоит B рублей. Определить, сколько стоит 1 кг шоколадных конфет, 1 кг ирисок, а также во сколько раз шоколадные конфеты дороже ирисок.
Begin35. Скорость лодки в стоячей воде V км/ч, скорость течения реки U км/ч
(U < V). Время движения лодки по озеру T
1
ч, а по реке (против течения) —
T
2
ч. Определить путь S, пройденный лодкой (путь = время · скорость).
Учесть, что при движении против течения скорость лодки уменьшается на величину скорости течения.
Begin36. Скорость первого автомобиля V
1
км/ч, второго — V
2
км/ч, расстояние между ними S км. Определить расстояние между ними через T часов, если автомобили удаляются друг от друга. Данное расстояние равно сумме на- чального расстояния и общего пути, проделанного автомобилями; общий путь = время · суммарная скорость.
Begin37. Скорость первого автомобиля V
1
км/ч, второго — V
2
км/ч, расстояние между ними S км. Определить расстояние между ними через T часов, если автомобили первоначально движутся навстречу друг другу. Данное рас- стояние равно модулю разности начального расстояния и общего пути, проделанного автомобилями; общий путь = время · суммарная скорость.
Begin38. Решить линейное уравнение A·x + B = 0, заданное своими коэффици- ентами A и B (коэффициент A не равен 0).
Begin39. Найти корни квадратного уравнения A·x
2
+ B·x + C = 0, заданного своими коэффициентами A, B, C (коэффициент A не равен 0), если извест- но, что дискриминант уравнения положителен. Вывести вначале меньший, а затем больший из найденных корней. Корни квадратного уравнения на- ходятся по формуле x
1,2
=
(
) /
B
D
− ±
(2·A), где Dдискриминант, рав- ный B
2
– 4·A·C.
Begin40. Найти решение системы линейных уравнений вида
A
1
·x + B
1
·y = C
1
,
A
2
·x + B
2
·y = C
2
, заданной своими коэффициентами A
1
, B
1
, C
1
, A
2
, B
2
, C
2
, если известно, что данная система имеет единственное решение. Воспользоваться формулами
x = (C
1
·B
2
C
2
·B
1
)/D, y = (A
1
·C
2
A
2
·C
1
)/D, где D = A
1
·B
2
A
2
·B
1

14 4 Целые числа: группа Integer
Все входные и выходные данные в заданиях этой группы являются целыми числами. Все числа, для которых указано количество цифр (двузначное число, трехзначное число и т. д.), считаются положительными.
Integer1. Дано расстояние L в сантиметрах. Используя операцию деления наце- ло, найти количество полных метров в нем (1 метр = 100 см).
Integer2. Дана масса M в килограммах. Используя операцию деления нацело, найти количество полных тонн в ней (1 тонна = 1000 кг).
Integer3
°. Дан размер файла в байтах. Используя операцию деления нацело, найти количество полных килобайтов, которые занимает данный файл
(1 килобайт = 1024 байта).
Integer4. Даны целые положительные числа A и B (A > B). На отрезке длины A размещено максимально возможное количество отрезков длины B (без на- ложений). Используя операцию деления нацело, найти количество отрез- ков B, размещенных на отрезке A.
Integer5. Даны целые положительные числа A и B (A > B). На отрезке длины A размещено максимально возможное количество отрезков длины B (без на- ложений). Используя операцию взятия остатка от деления нацело, найти длину незанятой части отрезка A.
Integer6. Дано двузначное число. Вывести вначале его левую цифру (десятки), а затем — его правую цифру (единицы). Для нахождения десятков исполь- зовать операцию деления нацело, для нахождения единиц — операцию взятия остатка от деления.
Integer7. Дано двузначное число. Найти сумму и произведение его цифр.
Integer8
°. Дано двузначное число. Вывести число, полученное при перестанов- ке цифр исходного числа.
Integer9. Дано трехзначное число. Используя одну операцию деления нацело, вывести первую цифру данного числа (сотни).
Integer10. Дано трехзначное число. Вывести вначале его последнюю цифру
(единицы), а затем — его среднюю цифру (десятки).
Integer11
°. Дано трехзначное число. Найти сумму и произведение его цифр.
Integer12. Дано трехзначное число. Вывести число, полученное при прочтении исходного числа справа налево.
Integer13. Дано трехзначное число. В нем зачеркнули первую слева цифру и приписали ее справа. Вывести полученное число.
Integer14. Дано трехзначное число. В нем зачеркнули первую справа цифру и приписали ее слева. Вывести полученное число.

15
Integer15. Дано трехзначное число. Вывести число, полученное при переста- новке цифр сотен и десятков исходного числа (например, 123 перейдет в 213).
Integer16. Дано трехзначное число. Вывести число, полученное при переста- новке цифр десятков и единиц исходного числа (например, 123 перейдет в 132).
Integer17. Дано целое число, большее 999. Используя одну операцию деления нацело и одну операцию взятия остатка от деления, найти цифру, соответ- ствующую разряду сотен в записи этого числа.
Integer18. Дано целое число, большее 999. Используя одну операцию деления нацело и одну операцию взятия остатка от деления, найти цифру, соответ- ствующую разряду тысяч в записи этого числа.
Integer19. С начала суток прошло N секунд (N — целое). Найти количество полных минут, прошедших с начала суток.
Integer20
°. С начала суток прошло N секунд (N — целое). Найти количество полных часов, прошедших с начала суток.
Integer21. С начала суток прошло N секунд (N — целое). Найти количество се- кунд, прошедших с начала последней минуты.
Integer22. С начала суток прошло N секунд (N — целое). Найти количество се- кунд, прошедших с начала последнего часа.
Integer23. С начала суток прошло N секунд (N — целое). Найти количество полных минут, прошедших с начала последнего часа.
Integer24. Дни недели пронумерованы следующим образом: 0 — воскресенье,
1 — понедельник, 2 — вторник, …, 6 — суббота. Дано целое число K, ле- жащее в диапазоне 1–365. Определить номер дня недели для K-го дня года, если известно, что в этом году 1 января было понедельником.
Integer25. Дни недели пронумерованы следующим образом: 0 — воскресенье,
1 — понедельник, 2 — вторник, …, 6 — суббота. Дано целое число K, ле- жащее в диапазоне 1–365. Определить номер дня недели для K-го дня года, если известно, что в этом году 1 января было четвергом.
Integer26. Дни недели пронумерованы следующим образом: 1 — понедельник,
2 — вторник, …, 6 — суббота, 7 — воскресенье. Дано целое число K, ле- жащее в диапазоне 1–365. Определить номер дня недели для K-го дня года, если известно, что в этом году 1 января было вторником.
Integer27. Дни недели пронумерованы следующим образом: 1 — понедельник,
2 — вторник, …, 6 — суббота, 7 — воскресенье. Дано целое число K, ле- жащее в диапазоне 1–365. Определить номер дня недели для K-го дня года, если известно, что в этом году 1 января было субботой.

16
Integer28. Дни недели пронумерованы следующим образом: 1 — понедельник,
2 — вторник, …, 6 — суббота, 7 — воскресенье. Дано целое число
1   2   3   4   5   6   7


написать администратору сайта