Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БрошюраОкончательный.doc
Скачиваний:
20
Добавлен:
28.10.2018
Размер:
3.14 Mб
Скачать

Задания для выполнения

Для начала приведем решения нескольких типичных задач.

Пример 1. Даны числа x и y. Вычислить .

Решение. Слово «дано» обычно нужно воспринимать как «пользователь вводит с клавиатуры». Следовательно, нам в программе нужно предусмотреть команду считывания с клавиатуры вещественных чисел x и y. Кроме того, определим вещественную переменную z, которой будет присваиваться результат вычисления формулы.

Посмотрев на выражение, мы видим возведение дроби в произвольную степень. Можно осуществить это, опираясь на правило . Тогда наша степень будет выглядеть так: .

Нужно вычислить выражение и вывести его на экран. Мы используем форматный вывод результата:

WriteLn(Число:n:m);

где n – количество позиций на экране, в которые будет выводиться число, m – количество позиций, которые выделены на дробную часть числа.

Запишем блок-схему алгоритма решения задачи:

Рис. 5. Блок-схема к примеру 1

Решение задачи таково (посмотрите, как записано возведение в третью степень числа x и как оформлена функция тангенса):

Var x,y,z:Real; {определяем переменные x, y, z

вещественного типа}

Begin

Write(‘Введите числа x и y:’); {выводим приглашение к

действию на экран}

ReadLn(x,y); {считываем с клавиатуры числа}

z:=exp(x*ln((y+1)/(y-1)))+

(sin(sqrt(y))/cos(sqrt(y)))/(x*x*x-15*x);

{проводим вычисления}

WriteLn(z:10:9); {выводим результат в 10-и позициях,

среди которых 9 отведено на дробную часть}

WriteLn(‘Готово. Нажмите Enter…’);

ReadLn; {тормозим работу программы до нажатия

клавиши Enter}

End.

Пример 2. Пользователь вводит два целых числа. Вывести True, если второе число является квадратом первого и False – в противном случае.

Решение. Судя по тексту задачи, у нас будет три переменных: две (x и y) – вводимые числа, третья (b) – логическая. В логическую переменную будем помещать результат сравнения второго числа и квадрата первого и ее же будем выводить на экран.

Блок-схема алгоритма и текст программы:

Рис. 6. Блок-схема к примеру 2.

Var x,y:Real; {определяем переменные x и y

вещественного типа}

b:Boolean; {определяем переменную b логического типа}

Begin

Write(‘Введите числа x и y:’); {выводим приглашение к

действию на экран}

ReadLn(x,y); {считываем с клавиатуры числа x и y}

b:=(sqr(x)=y); {проводим вычисления, в b присваиваем

результат сравнения x2 и y}

WriteLn(b); {выводим результат}

WriteLn(‘Готово. Нажмите Enter…’);

ReadLn; тормозим работу программы до нажатия

клавиши Enter}

End.

Заметим, что при составлении выражений полезно пользоваться правилами:

  • Любой открывающей скобке или кавычке должна быть соответствующая закрывающая. Следует сразу печатать открывающую и закрывающую скобки или кавычки, а текст между ними писать во вторую очередь.

  • Если у функции или процедуры несколько аргументов, то они перечисляются через запятые.

  • Текстовые константы обрамляются одинарными кавычками (апострофами).

  • Если формула содержит дроби, числители и знаменатели которых содержат иные алгебраические операции (сложение, вычитание, умножение, деление, возведение в степень), то эти числители и знаменатели заключаются в скобки. Можно для подстраховки любые числители и знаменатели заключать в скобки.

А теперь, собственно, задачи раздела. К каждой задаче нужно составить блок-схему алгоритма. Задачи с 2.1 по 2.20 решаются по аналогии с примером 1, а с 2.41 по 2.60 – по аналогии с примером 2. Возможно, при составлении логического выражения придется комбинировать условия с помощью операторов or, and и not.

Вычислить:

2.1.

2.2.

2.3.

2.4.

2.5.

2.6.

2.7.

2.8.

2.9.

2.10.

2.11.

2.12.

2.13.

2.14.

2.15.

2.16.

2.17.

2.18.

2.19.

2.20.

2.21. Даны два ненулевых числа. Найти их сумму, разность, произведение и частное.

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

2.23. Скорость лодки в стоячей воде V км/ч, скорость течения реки U км/ч (U < V). Время движения лодки по озеру T1 ч, а по реке (против течения) — T2 ч. Определить путь S, пройденный лодкой по озеру и вверх по реке.

2.24. Скорость первого автомобиля V1 км/ч, второго — V2 км/ч, расстояние между ними S км. Определить расстояние между ними через T часов, если автомобили удаляются друг от друга.

2.25. Скорость первого автомобиля V1 км/ч, второго — V2 км/ч, расстояние между ними S км. Определить расстояние между ними через T часов, если автомобили первоначально движутся навстречу друг другу.

2.26. Найти периметр и площадь прямоугольного треугольника, если даны длины его катетов a и b.

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

2.28. Найти длину окружности и площадь круга заданного радиуса R.

2.29. Найти площадь кольца, внутренний радиус которого равен R1, а внешний радиус равен R2 (R1 < R2).

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

2.31. Дана длина окружности L. Найти площадь круга, ограниченного этой окружностью.

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

2.33. Найти периметр и площадь равнобедренной трапеции с основаниями a и b (a > b) и углом alpha при большем основании (угол дан в радианах).

2.34. Найти периметр и площадь прямоугольной трапеции с основаниями a и b (a > b) и острым углом alpha (угол дан в радианах).

2.35. Найти расстояние между двумя точками с заданными координатами (x1, y1) и (x2, y2).

2.36. Даны координаты трех вершин треугольника (x1, y1), (x2, y2), (x3, y3). Найти его периметр и площадь.

2.37. Найти корни квадратного уравнения A·x2 + B·x + C = 0, заданного своими коэффициентами A, B, C (коэффициент A не равен 0), если известно, что дискриминант уравнения неотрицателен.

2.38. Найти решение системы уравнений вида

A1·x + B1·y = C1,

A2·x + B2·y = C2,

заданной своими коэффициентами A1, B1, C1, A2, B2, C2, если известно, что данная система имеет единственное решение.

2.39 Даны два вектора (X1, Y1, Z1) и (X2, Y2, Z2). Найти угол между векторами.

2.40. Вычислить первые четыре степени числа π.

2.41. Проверить истинность высказывания: "Квадратное уравнение A·x2 + B·x + C = 0 с данными коэффициентами A, B, C имеет вещественные корни".

2.42. Проверить истинность высказывания: "Данные числа x, y являются координатами точки, лежащей во второй координатной четверти".

2.43. Проверить истинность высказывания: "Данные числа x, y являются координатами точки, лежащей в первой или третьей координатной четверти".

2.44. Проверить истинность высказывания: "Точка с координатами (x, y) лежит внутри прямоугольника, левая верхняя вершина которого имеет координаты (x1, y1), правая нижняя — (x2, y2), а стороны параллельны координатным осям".

2.45. Проверить истинность высказывания: "Данное целое число является четным двузначным числом".

2.46. Проверить истинность высказывания: "Данное целое число является нечетным трехзначным числом".

2.47. Проверить истинность высказывания: "Среди трех данных целых чисел есть хотя бы одна пара совпадающих".

2.48. Проверить истинность высказывания: "Среди трех данных целых чисел есть хотя бы одна пара взаимно противоположных".

2.49. Проверить истинность высказывания: "Сумма цифр данного трехзначного числа является четным числом".

2.50. Проверить истинность высказывания: "Сумма двух первых цифр данного четырехзначного числа равна сумме двух его последних цифр".

2.51. Проверить истинность высказывания: "Данное четырехзначное число читается одинаково слева направо и справа налево".

2.52. Проверить истинность высказывания: "Все цифры данного трехзначного числа различны".

2.53. Проверить истинность высказывания: "Цифры данного трехзначного числа образуют возрастающую последовательность".

2.54. Даны координаты (как пара чисел от 1 до 8) двух различных полей шахматной доски. Если ладья за один ход может перейти с одного поля на другое, вывести логическое значение True. в противном случае вывести значение False.

2.55. Проверить истинность высказывания: "Цифры данного трехзначного числа образуют арифметическую прогрессию".

2.56. Проверить истинность высказывания: "Цифры данного трехзначного числа образуют геометрическую прогрессию".

2.57. Проверить истинность высказывания: "Цифры данного трехзначного числа образуют возрастающую или убывающую последовательность".

2.58. Даны координаты (как пара целых чисел от 1 до 8) двух различных полей шахматной доски. Если король за один ход может перейти с одного поля на другое, вывести логическое значение True, в противном случае вывести значение False.

2.59. Даны координаты (как пара целых чисел от 1 до 8) двух различных полей шахматной доски. Если слон за один ход может перейти с одного поля на другое, вывести логическое значение True, в противном случае вывести значение False.

2.60. Даны координаты (как пара целых чисел от 1 до 8) двух различных полей шахматной доски. Если ферзь за один ход может перейти с одного поля на другое, вывести логическое значение True, в противном случае вывести значение False.

Пример 3. Чтобы решить следующие задачи, нужно уяснить несколько положений о вычленении цифр из числа.

Пусть n – некоторое число, состоящее из k цифр, а a1, a2, a3, … ak – его цифры. К примеру, возьмем n = 1763, тогда a1 = 1, a2 = 7, a3 = 6, a4 = 3. Как выделить число его тысяч a1? Воспользуемся оператором div, который делит нацело: a1:=n div 1000. Так мы вычислим целое число тысяч, входящих в n, выделив первую цифру. Как выделить число сотен a2? Извлечем из n число 763, поделив n на 1000 с остатком (n mod 1000), а затем поделим этот результат на 100 нацело: a2:=(n mod 1000) div 100. Следуя закономерности, число десятков можно выделить похожим образом: a3:=(n mod 100) div 10, а число единиц a4:=(n mod 10) div 1, но делить некоторое число на 1 не имеет особого смысла, поэтому последнее выражение можно записать так: a4:=n mod 10. Видно, что деление нацело начинается со степени десятки, которая по разрядам сходна с n, а затем мы делим нацело на числа, каждое в 10 раз меньше предыдущего. Деление с остатком начинается с вычленения второй цифры, опять же со степени десятки, которая по разрядам сходна с n, а затем мы делим с остатком на числа, каждое в 10 раз меньше предыдущего. Текст программы по выводу цифр числа на экран может быть записан так:

var n,a1,a2,a3,a4: integer;

begin

writeln(‘Введите число n:’);

readln(n);

a1:=n div 1000;

a2:=(n mod 1000) div 100;

a3:=(n mod 100) div 10;

a4:=n mod 10;

writeln(‘Цифры числа: ’,a1,‘ ’, a2,‘ ’, a3,‘ ’, a4);

readln;

end.

2.61. Дано целое четырехзначное число типа Word. Используя операции div и mod, найти сумму его цифр.

2.62. Дано целое четырехзначное число типа Integer. Используя операции div и mod, найти сумму его цифр.

2.63. Дано целое четырехзначное число типа LongInt. Используя операции div и mod, найти сумму его цифр.

2.64. Дано целое пятизначное число типа LongInt. Используя операции div и mod, найти сумму его цифр.

2.65. Дано целое шестизначное число типа LongInt. Используя операции div и mod, найти сумму его цифр.

2.66. Дано целое семизначное число типа LongInt. Используя операции div и mod, найти сумму его цифр.

2.67. Дано целое восьмизначное число типа LongInt. Используя операции div и mod, найти сумму его цифр.

2.68. Дано целое девятизначное число типа LongInt. Используя операции div и mod, найти сумму его цифр.

2.69. Дано целое четырехзначное число типа Word. Используя операции div и mod, найти произведение его цифр.

2.70. Дано целое четырехзначное число типа Integer. Используя операции div и mod, найти произведение его цифр.

2.71. Дано целое четырехзначное число типа LongInt. Используя операции div и mod, найти произведение его цифр.

2.72. Дано целое пятизначное число типа LongInt. Используя операции div и mod, найти произведение его цифр.

2.73. Дано целое шестизначное число типа LongInt. Используя операции div и mod, найти произведение его цифр.

2.74. Дано целое семизначное число типа LongInt. Используя операции div и mod, найти произведение его цифр.

2.75. Дано целое восьмизначное число типа LongInt. Используя операции div и mod, найти произведение его цифр.

2.76. Дано целое девятизначное число типа LongInt. Используя операции div и mod, найти произведение его цифр.

2.77. Дано целое шестизначное число типа LongInt. Используя операции div и mod, найти сумму квадратов его цифр.

2.78. Дано целое семизначное число типа LongInt. Используя операции div и mod, найти сумму квадратов его цифр.

2.79. Дано целое восьмизначное число типа LongInt. Используя операции div и mod, найти сумму квадратов его цифр.

2.80. Дано целое девятизначное число типа LongInt. Используя операции div и mod, найти сумму квадратов его цифр.