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

Линейные_разветвления

.pdf
Скачиваний:
32
Добавлен:
02.06.2015
Размер:
336.42 Кб
Скачать

21

Задание 3. Найти все возможные корни квадратного уравнения вида ax2 + bx + c = 0 . Значения a, b, c вводятся с клавиатуры.

Для реализации алгоритма необходимо описать шесть вещественных переменных: a, b, с – коэффициенты уравнения, d – дискриминант уравнения, x1, x2

– корни уравнения.

Алгоритм решения данной задачи:

1.Ввод с клавиатуры трех коэффициентов уравнения: a, b, с.

2.Вычисление дискриминанта: d = b2 − 4ac .

3.Условие: если дискриминант больше нуля, тогда вычисляются и выво-

дятся на экран два корня: x1 =

b +

d

, x2 =

b d

, иначе проверяется

2a

 

 

 

 

 

2a

второе условие: если дискриминант равен нулю, тогда вычисляется и выводится на экран один корень: x1 = 2ab , иначе выводится на экран

строка: «Корней нет!».

Самостоятельно составьте блок-схему алгоритма, наберите текст программы, проверьте правильность ее работы, после чего пригласите преподавателя для проверки.

Задание 4. Написать программу для вывода названия дня недели по введенному номеру дня недели.

Для реализации алгоритма необходимо описать одну целочисленную переменную: number – номер дня недели.

Алгоритм решения данной задачи:

1.Ввод с клавиатуры номера дня недели: number.

2.Если ввели 1, то вывести на экран «понедельник».

3.Если ввели 2, то вывести на экран «вторник».

4.Если ввели 3, то вывести на экран «среда».

5.Если ввели 4, то вывести на экран «четверг».

6.Если ввели 5, то вывести на экран «пятница».

7.Если ввели 6, то вывести на экран «суббота».

8.Если ввели 7, то вывести на экран «воскресенье».

9.Если ввели другое число, то вывести на экран «Такого дня нет».

Запустите MS Visio и составьте блок-схему программы, приведенную на рисунке 6.

22

начало

Ввод number

number

1

2

3

4

5

6

7

Вывод

«понедель

ник»

Вывод

«вторник»

Вывод

«среда»

Вывод

«четверг»

Вывод

«пятница»

Вывод

«суббота»

Вывод

«воскресен

ье»

конец

Иначе

Вывод

«Такого дня нет»

Рисунок 6

Запустите Pascal и наберите текст программы:

23

Program Example_4;

Uses crt; {или wincrt}

Var number : integer; begin

clrscr;

writeln('Программа вывода дня недели'); write('Введите номер дня недели:');

readln(number); case number of

1: writeln('понедельник'); 2: writeln('вторник');

3: writeln('среда'); 4: writeln('четверг'); 5: writeln('пятница'); 6: writeln('суббота');

7: writeln('воскресенье');

Else writeln('Такого дня нет');

End;

writeln('Программа завершена. Нажмите Enter.');

readln end.

Запустите программу, проверьте результаты и пригласите преподавателя для проверки.

Задание 5. Составить программу, которая позволяет ввести два числа в первой строке и один из знаков +,-,*,/ во второй строке, а на экран выводит результат соответствующего арифметического действия.

Для реализации алгоритма необходимо описать одну символьную переменную operation для ввода знака операции и три вещественных переменных: x, y, z для хранения двух исходных чисел и результата.

Алгоритм решения данной задачи:

1.Ввод с клавиатуры двух вещественных чисел: x, y.

2.Ввод с клавиатуры знака операции.

3.Если операция +, тогда переменной z присвоить сумму x+y.

4.Если операция -, тогда переменной z присвоить разность x–y.

5.Если операция *, тогда переменной z присвоить произведение x*y.

6.Если операция /, тогда переменной z присвоить отношение x/y.

7.Вывод на экран результата.

Самостоятельно составьте блок-схему алгоритма, после чего наберите текст программы:

Program Example_5;

Uses crt; {или wincrt}

Var x,y,z: real; operation: char; begin

24

clrscr;

writeln('Программа выбора операции'); write('Введите числа х и у '); readln(x,y);

write('Введите символ операции ');

readln(operation); case operation of

'+': z:=x+y; '-': z:=x-y; '*': z:=x*y;

'/': z:=x/y; end;

writeln('Результат = ',z:5:2); writeln('Программа завершена. Нажмите Enter.');

readln end.

Задание 6. Дано натуральное число N < 101, определяющее возраст человека (в годах). Составить программу, которая бы выводила на экран заданное число и подпись в зависимости от числа «год», «года» или «лет». Например, 1 год, 23 года, 45 лет и т. п.

Для реализации алгоритма необходимо описать одну целочисленную переменную: N – возраст человека.

Алгоритм решения данной задачи:

1.Ввод с клавиатуры возраста человека: N (от 0 до 100).

2.Если возраст находится в диапазоне от 12 до 14, тогда вывести на экран возраст и слово «лет», иначе найти остаток от деления возраста на 10 и

взависимости от его значения сделать следующее:

если остаток равен 1, то вывести возраст и слово «год»;

если остаток равен от 2 до 4, то вывести возраст и слово «года»;

если остаток равен 0, 5-9, то вывести возраст и слово «лет».

Самостоятельно составьте блок-схему алгоритма, наберите текст программы, проверьте правильность ее работы, после чего пригласите преподавателя для проверки.

25

Задания для самостоятельной работы (для каждого задания составить словесный алгоритм, нарисовать блок-схему и реализовать алгоритм в виде программы на языке Pascal):

1.Если целое число т делится нацело на целое число п, то вывести на экран частное от деления, в противном случае вывести сообщение «т на п нацело не делится».

2.Определить, является ли число а делителем числа b.

3.Дано целое число. Определить:

является ли оно четным;

оканчивается ли оно цифрой 7;

оканчивается ли оно четной цифрой (составное условие не использовать).

4.Известны год и номер месяца рождения человека, а также год и номер месяца сегодняшнего дня (январь — 1 и т. д.). Определить возраст человека (число полных лет). В случае совпадения указанных месяцев считать, что прошел полный год.

5.Известны два расстояния: одно в километрах, другое — в футах (1 фут = 0,45 м). Определить какое из расстояний меньше?

6.Известны две скорости: одна в километрах в час, другая — в метрах в секунду. Определить какая из скоростей больше?

7.Даны радиус круга и сторона квадрата. Определить у какой фигуры площадь больше?

8.Известны площади круга и квадрата. Определить:

уместится ли круг в квадрате;

уместится ли квадрат в круге.

9.Даны объемы и массы двух тел из разных материалов. Материал какого из тел имеет большую плотность?

10.Известны сопротивления двух не соединенных друг с другом участков электрической цепи и напряжение на каждом из них. По какому участку протекает меньший ток?

11.Дано двузначное число. Определить:

какая из его цифр больше, первая или вторая;

одинаковы ли его цифры?

12.Дано двузначное число. Определить, равен ли квадрат этого числа учетверенной сумме кубов его цифр? Например, для числа 48 ответ положительный, для числа 52 — отрицательный.

13.Дано двузначное число. Определить:

является ли сумма его цифр двузначным числом;

больше ли числа а сумма его цифр?

14.Дано двузначное число. Определить:

кратна ли трем сумма его цифр;

кратна ли сумма его цифр числу а?

15.Имеется стол прямоугольной формы размером а×b (а и b — целые числа, а > b). В каком случае на столе можно разместить большее количество

26

картонных прямоугольников с размерами c×d(c и d — целые числа, c>d) при размещении их длинной стороной вдоль длинной или вдоль короткой стороны стола. Прямоугольники не должны лежать один на другом и не должны свисать со стола.

16.Дано трехзначное число. Выяснить, является ли оно палиндромом («перевертышем»), то есть таким числом, десятичная запись которого читается одинаково слева направо и справа налево.

17.Дано трехзначное число. Определить, какая из его цифр больше:

первая или последняя;

первая или вторая;

вторая или последняя.

18.Дано трехзначное число. Определить, равен ли квадрат этого числа сумме кубов его цифр.

19.Дано трехзначное число. Определить:

является ли сумма его цифр двузначным числом;

является ли произведение его цифр трехзначным числом;

больше ли числа а произведение его цифр;

кратна ли пяти сумма его цифр;

кратна ли сумма его цифр числу а.

20.Дано трехзначное число.

Верно ли, что все его цифры одинаковые?

Определить, есть ли среди его цифр одинаковые? 21.Дано четырехзначное число. Определить:

равна ли сумма двух первых его цифр сумме двух его последних цифр;

кратна ли трем сумма его цифр;

кратно ли четырем произведение его цифр;

кратно ли произведение его цифр числу а.

22.Даны цифры двух десятичных целых чисел: трехзначного a3a2al и двузначного b2b1 где al и b1 — число единиц, a2 и b2 — число десятков, а3 — число сотен. Получить цифры, составляющие сумму этих чисел, если она четная, в противном случае — цифры, составляющие разность этих чисел.

23.Дано натуральное число. Верно ли, что оно заканчивается:

нечетной цифрой;

четной цифрой (составные условия не использовать).

24.Даны три вещественных числа. Возвести в квадрат те из них, значения которых неотрицательны, и в четвертую степень — отрицательные.

25.Даны две точки: A(xl,yl) и В(х22). Составить алгоритм, определяющий, которая из точек находится ближе к началу координат.

26.Даны два угла треугольника (в градусах). Определить, существует ли такой треугольник, и если да, то является ли он прямоугольным.

27.Даны вещественные числа х и у, не равные друг другу. Меньшее из этих двух чисел заменить половиной их суммы, а большее — их удвоенным произведением.

27

28.На плоскости ХОY задана своими координатами точка А. Указать, где она расположена (на какой оси или в каком квадранте).

29.Даны целые числа m, n. Если числа не равны, то заменить каждое из них одним и тем же числом, равным большему из исходных, а если равны, то заменить числа нулями.

30.Подсчитать количество отрицательных среди чисел а, b, с. 31.Подсчитать количество положительных среди чисел а, b, с. 32.Подсчитать количество целых среди чисел а, b, с.

33.Определить, делителем каких чисел а, b, с является число k.

34.Услуги телефонной сети оплачиваются по следующему правилу: за разговоры до А минут в месяц — В руб., а разговоры сверх установленной нормы оплачиваются из расчета С руб. за минуту. Написать программу, вычисляющую плату за пользование телефоном для введенного времени разговоров за месяц.

35.Программа-льстец. На экране высвечивается вопрос «Кто ты: мальчик или девочка? Введи Д или М». В зависимости от ответа на экране должен появиться текст «Мне нравятся девочки!» или «Мне нравятся мальчики!».

36.Грузовой автомобиль выехал из одного города в другой со скоростью v1 км/ ч. Через t ч в этом же направлении выехал легковой автомобиль со скоростью v2 км/ч. Составить программу, определяющую, догонит ли легковой автомобиль грузовой через t1, ч после своего выезда.

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

38.Определить правильность даты, введенной с клавиатуры (число — от 1 до 31, месяц — от 1 до 12). Если введены некорректные данные, то сообщить об этом.

39.Составить программу, определяющую результат гадания на ромашке («любит — не любит»), взяв за исходное данное количество лепестков n.

40.Написать программу — модель анализа пожарного датчика в помещении, которая выводит сообщение «Пожароопасная ситуация», если температура в комнате превысила 60 °С.

41.Рис расфасован в два пакета. Масса первого — m кг, второго — n кг. Составить программу, определяющую:

какой пакет тяжелее — первый или второй;

массу более тяжелого пакета.

42.Написать программу, которая анализирует данные о возрасте и относит человека к одной из четырех групп: дошкольник, ученик, работник, пенсионер. Возраст вводится с клавиатуры.

43.Составить программу, определяющую, пройдет ли график функции y = ax2 + bx + c через заданную точку с координатами (m, n).

44.К финалу конкурса лучшего по профессии «Специалист электронного офиса» были допущены трое: Иванов, Петров, Сидоров. Соревнования проходили в три тура. Иванов в первом туре набрал m1, баллов, во втором — n1, в третьем — р1. Петров — m2, m2, р2 соответственно; Сидоров — m3, n3, р3. Составить программу, определяющую, сколько баллов набрал победитель.

28

45.Написать программу-фильтр, которая при нажатии любых клавиш выводит на экран только буквы и цифры, при этом указывая, что выводится: буква или цифра.

46.Заданы два натуральных числа. Определить, является ли среднее арифметическое этих чисел целым числом.

47.Заданы радиус круга, сторона квадрата, две смежные стороны прямоугольника и три стороны треугольника. Определить, какая фигура имеет большую площадь.

48.Заданы три стороны треугольника a, b и с. Определить, является ли этот треугольник прямоугольным и какая сторона является гипотенузой.

49.Заданы три положительных числа a, b и с. Определить, являются ли они последовательно стоящими элементами арифметической или геометрической прогрессии. Если являются, то вычислить разность или знаменатель прогрессии.

50.Заданы два целых числа. Определить, являются ли они оба четными или оба нечетными или какое из них четное, а какое нечетное.

51.Заданы координаты вершин треугольника и точки. Определить, лежит ли точка внутри треугольника.

52.Написать программу нахождения суммы большего и меньшего из трех чисел.

53.Написать программу, по длинам сторон распознающую среди всех треугольников ABC прямоугольные. Если таковых нет, то вычислить величину угла С.

54.Найти max {min (a, b), min (с, d)}.

55.Даны три числа: а, b, с. Определить, какое из них равно d. Если ни одно не равно d, то найти max (d - a, d - b, d - с).

56.Даны четыре точки: A1(x1,y1), A2(x2,y2), A3(x3,y3), A4(x4,y4),. Определить, являются ли они вершинами параллелограмма.

57.Даны три точки: A(x1,y1), B(x2,y2), C(x3,y3) - Определить, расположены ли они на одной прямой. Если нет, то вычислить угол В.

58.Даны вещественные числа а, b, с. Удвоить эти числа, если а < b < с, и заменить их абсолютными значениями, если это не так.

59.На оси ОХ расположены три точки: а, b, с. Определить, какая из точек, b или с, расположена ближе к а.

60.Даны три положительных числа: а, b, с. Проверить, являются ли они сторонами треугольника. Если да, то вычислить площадь этого треугольника.

61.Написать программу решения уравнения ах3 + bх = 0 для произвольных а, b.

62.Дан круг радиусом R. Определить, поместится ли правильный треугольник со стороной а в этом круге.

63.Дано число х. Напечатать в порядке возрастания числа: sin х, cos х, ln х. Если при каком-либо значении х некоторые из выражений не имеют смысла, вывести сообщение об этом и сравнивать значения только тех выражений, которые имеют смысл.

29

64.Заданы размеры А, В прямоугольного отверстия и размеры х, у, z кирпича. Определить, пройдет ли кирпич через отверстие.

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

66.Два прямоугольника, расположенные в первом квадранте, со сторонами, параллельными осям координат, заданы координатами своих левого верхнего и правого нижнего углов. Для первого прямоугольника это точки (x1,y1) и (x2,0), для второго — (x3,y3), (x4,0). Составить программу, определяющую, пересекаются ли данные прямоугольники, и вычисляющую площадь общей части, если она существует.

67.В небоскребе N этажей и всего один подъезд; на каждом этаже по 3 квартиры; лифт может останавливаться только на нечетных этажах. Человек садится в лифт и набирает номер нужной ему квартиры М. На какой этаж лифт должен доставить пассажира (пассажир при необходимости может спуститься на этаж вниз)?

68.Написать программу, которая по заданным трем числам определяет, является ли сумма каких-либо двух из них положительной.

69.Известно, что из четырех чисел a1, а2, а3 и a4 одно отлично от трех других, равных между собой; присвоить номер этого числа переменной п.

70.Составить программу, которая проверяет, не приводит ли суммирование двух целых чисел А и В к переполнению (то есть к результату, большему чем 32767). При переполнении сообщить об этом, иначе вывести сумму этих чисел.

71.Написать программу, которая по паролю определяет уровень доступа сотрудника к секретной информации в базе данных. Доступ к базе имеют только шесть человек, разбитых на три группы по уровням доступа. Они имеют следующие пароли: 9583, 1747 — доступны модули баз А, В, С; 3331, 7922 - доступны модули баз В, С; 9455,8997 - доступен модуль базы С.

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

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

74.Определить взаимное расположение точки с координатами (x0, y0) и окружности радиусом R с центром в точке (x1,y1).

75.По координатам вершин четырехугольника определить, выпуклый он или нет.

76.Вычислить число и месяц в не високосном году по номеру дня.

77.Даны два прямоугольника, стороны которых параллельны или перпендикулярны осям координат. Известны координаты левого нижнего угла каждого

30

из них и длины их сторон. Один из прямоугольников назовем первым, другой — вторым. Найти координаты левого нижнего и правого верхнего углов минимального прямоугольника, содержащего указанные прямоугольники.

78.Даны три вещественных числа а, b, с. Проверить:

выполняется ли неравенство а<b<с;

выполняется ли неравенство b > а > с.

79.Определить, является ли число а делителем числа b или, наоборот, число b

— делителем числа а. Ответом должны служить сообщения: «Да, одно из чисел является делителем другого» или «Нет, ни одно из чисел не является делителем другого».

80.Определить, верно ли, что при делении неотрицательного целого числа а на положительное число b получается остаток, равный одному из двух заданных чисел с или d.

81.Даны три вещественных числа а, b, с. Определить, имеется ли среди них хотя бы одна пара равных между собой чисел.

82.Определить, является ли треугольник со сторонами а, b, с равнобедренным. 83.Определить, является ли треугольник со сторонами а, b, с равносторонним. 84.Известен рост трех человек. Определить, одинаков ли их рост.

85.Год является високосным, если его номер кратен 4. Из кратных 100 високосными являются лишь те года, которые кратны также 400 (например, 1700, 1800 и 1900 — не високосные года, 2000 — високосный). Дано натуральное число п. Определить, является ли високосным год с таким номером.

86.Даны вещественные положительные числа а, b, с. Выяснить, существует ли треугольник со сторонами а, b, с.

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

88.В подъезде жилого дома имеется п квартир, пронумерованных подряд, начиная с номера а. Определить, является ли сумма номеров всех квартир четным числом. Формулу суммы членов арифметической прогрессии не использовать.

89.Дано натуральное число п (п < 9999). Выяснить, верно ли, что это число содержит ровно три одинаковые цифры, если оно записано четырьмя цифрами, как, например, числа 3363,4844, 0300 и т. п.

90.Дано натуральное число п (п < 9999). Выяснить, различны ли все четыре цифры этого числа (если оно записано четырьмя цифрами). Например, в числе 3678 все цифры различны, в числе 0023 — нет.

91.Определить, является ли заданное шестизначное число счастливым. (Счастливым называют такое шестизначное число, у которого сумма его первых трех цифр равна сумме его последних трех цифр.)

92.Имеются стол прямоугольной формы с размерами а×b (а и b — целые числа, а > b) и кости домино с размерами с×d×е (с, d и е — целые числа, c>d> е). Найти вариант размещения на столе наибольшего количества костей. Все

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