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

Belova_T_M_Programmirovanie_na_S_Builder

.pdf
Скачиваний:
226
Добавлен:
15.03.2016
Размер:
2.15 Mб
Скачать

Программирование с использованием одномерных массивов

81

3.4 Индивидуальные задания к разделу 3

Каждому студенту нужно решить две задачи первого и второго уровней сложности.

Задачи первого уровня сложности.

1.Дано четырехзначное положительное целое число. Написать программу, которая печатает true или false в зависимости от того, выполняется или нет указанное условие: сумма 1 и 4 цифры равна произведению 2 и 3 цифры.

2.Даны действительные числа x, y. Если x и y отрицательны, то каждое значение заменить его модулем; если отрицательно только одно из них, то оба значения увеличить на 5.5; в остальных случаях оба значения уменьшить в 10 раз.

3.Даны действительные числа x, y. Если x и y положительны, то каждое значение уменьшить в 5 раз; если оба значения лежат в диапазоне [-3, 9], то оба значения заменить на 0; в остальных случаях x и y увеличить на 3.

4.Даны действительные числа x, y (x<>y). Меньшее из этих двух чисел заменить их полусуммой, а большее – их удвоенным произведением.

5.Если сумма трех попарно различных действительных чисел x, y, z меньше 1, то наименьшее из этих трех чисел заменить полусуммой двух других; в противном случае заменить меньшее из x и y полусуммой двух оставшихся значений.

6.Даны действительные числа a, b, c, d. Если a<b<c<d, то каждое число заменить наибольшим из них; если a>b>c>d, то числа оставить без изменения; в противном случае все числа заменить их квадратами.

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

8.Для решения следующей задачи написать программу, которая печатает true или false в зависимости от того, выполняется или нет

указанное условие: для произвольных вещественных чисел a, b, c определить, имеет ли уравнение ax2+bx+c=0 хотя бы одно вещественное решение.

82

Программирование линейных алгоритмов в системе C++Builder

9.Для решения следующей задачи написать программу, которая печатает true или false в зависимости от того, выполняется или нет указанное условие: определить, равна ли сумма двух первых цифр заданного четырехзначного числа сумме двух его последних чисел.

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

100баллов каждый. Если абитуриент набирает не менее 150 баллов, то это дает право поступать на дневное отделение, от 100 до 149 – на вечернее отделение; ниже 100 баллов означает отказ в приеме на учебу. Написать программу, которая в зависимости от суммы набранных баллов сообщает абитуриенту его права на поступление.

11.Написать программу с использованием оператора выбора, позволяющую получить словесное описание отметок. (1 − «плохо», 2 – «неудовлетворительно», 3 - «удовлетворительно», 4 – «хорошо», 5 – «отлично».)

12.Для решения следующей задачи написать программу, которая печатает true или false в зависимости от того, выполняется или нет указанное условие: определить, есть ли среди цифр заданного трехзначного числа одинаковые.

13.Написать программу, которая печатает true, если дата d1, m1 предшествует (в рамках года) дате d2, m2 и значение false в противном случае.

14.Написать программу с использованием оператора выбора, которая по первой букве имени выводит на экран имя полностью (Иван, Петр, Николай, Владимир, Георгий).

15.Написать программу с использованием оператора выбора, которая по введенной цифре 0≤k≤5 печатает название этой цифры на русском и английском языках.

16.Дано целое число k (1 k 365). Определить, каким будет k-й день года − выходным или рабочим, если 1 января – понедельник.

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

 

 

 

x 0,

5

 

при

 

2

x

 

 

0 x 1,

f x

при

11

sin x

2

в остальных случаях.

x

 

 

Программирование с использованием одномерных массивов

83

18. Дано действительное число x. Написать программу для вычисления f:

1.5

при

x 3,

 

 

 

 

 

 

f ln x

lg x

при

3 x 12,

 

 

 

 

 

 

 

 

 

 

 

3 x4

x2 5.34

в остальных случаях.

19.Написать программу с использованием оператора выбора, которая по первой букве названия города выводит на экран название города полностью (Курск, Москва, Тула, Новгород, Воронеж).

20.Написать программу с использованием оператора выбора, которая по первой букве фамилии выводит на экран фамилию полностью (Иванов, Петров, Сидоров, Мышкин, Шишкин).

21.Даны координаты центра и радиус окружности. Определить принадлежность некоторой точки, имеющей координаты (x,y), окружности.

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

23.Даны три различных числа a,b,c. Упорядочить эти числа по возрастанию таким образом, чтобы a соответствовало наименьшее число, b – среднее число, c – наибольшее.

24.Написать программу с использованием оператора выбора, которая по номеру (от 1 до 7) выводит название дня недели.

25.Написать программу с использованием оператора выбора, которая по номеру (от 1 до 12) выводит название месяца года.

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

27.Дано пятизначное положительное целое число. Написать программу, которая печатает true или false в зависимости от того, выполняется или нет указанное условие: сумма 1, 3 и 5 цифры больше произведения 2 и 4 цифры.

28.Дано четырехзначное положительное целое число. Написать программу, которая печатает true или false в зависимости от того,

84

Программирование линейных алгоритмов в системе C++Builder

выполняется или нет указанное условие: среднее арифметическое 1 и 4 цифры больше суммы 2 и 3 цифры.

29.Даны цифра и трехзначное число в десятичной системе счисления. Если цифра совпадает со старшей цифрой числа, то вычислить сумму цифр числа. Если цифра совпадает со средней цифрой числа, то вычислить произведение цифр числа. Если цифра совпадает с младшей цифрой числа, то вычислить среднее арифметическое цифр числа. Если ни одно из условий не выполняется, то вычислить среднее геометрическое цифр числа.

30.Даны цифра и трехзначное число в десятичной системе счисления. Если цифра совпадает со старшей цифрой числа, то вычислить среднее арифметическое цифр числа. Если цифра совпадает со средней цифрой числа, то вычислить среднее геометрическое цифр числа. Если цифра совпадает с младшей цифрой числа, то вычислить сумму цифр числа. Если ни одно из условий не выполняется, то вычислить произведение цифр числа

Задачи второго уровня сложности.

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

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

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

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

иначе на английском языке.

Программирование с использованием одномерных массивов

85

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

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

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

на английском языке, а иначе на русском языке.

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

расположены по убыванию, названия цифр числа на английском языке, а иначе на русском языке.

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

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

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

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

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

числа на английском языке, а иначе на русском языке.

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

86

Программирование линейных алгоритмов в системе C++Builder

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

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

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

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

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

лийском языке, а иначе на русском языке.

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

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

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

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

русском языке, а иначе на английском языке.

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

Программирование с использованием одномерных массивов

87

звание цифры числа, имеющей меньшее значение, на английском языке.

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

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

27.Даны две первые буквы (без учета регистра, как строчные, так и прописные) названия месяца года. Написать программу, которая выводит полное название месяца года на русском языке.

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

29.В старояпонском календаре был принят 60-летный цикл, состоявший из пяти 12-летных подциклов. Подциклы обозначались названиями цвета: зеленый, красный, желтый, белый и черный. Внутри каждого подцикла годы носили названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи (1984 год – год зеленой крысы – был началом очередного цикла). Написать программу, которая вводит номер некоторого года нашей эры и печатает его название по старояпонскому календарю.

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

цифр числа, имеющих значение больше 5, на русском языке, а название цифр числа, имеющих значение меньшее или равное 5, на английском языке.

88

Программирование линейных алгоритмов в системе C++Builder

4 ПРОГРАММИРОВАНИЕ ЦИКЛИЧЕСКИХ

АЛГОРИТМОВ В СИСТЕМЕ C++BUILDER

В данном разделе осуществляется изучение операторов цикла языка C++, приобретение навыков программирования циклических алгоритмов, ввода, компиляции и отладки программ.

4.1 Основные понятия

На языке C++Builder существуют три оператора цикла:

1.Цикл с предусловием (while);

2.Цикл с постусловием (do);

3.Цикл со счетчиком (for).

Оператор цикла с предусловием while (рисунок 4.1): while (условие) {тело цикла}

Условие Нет

Да

Тело цикла

Рисунок 4.1 Cхема алгоритма оператора цикла while

Условие представляет собой выражение логического типа, тело цикла – один простой или составной оператор.

Если результат вычисления условия равен true (правда), то тело цикла выполняется и снова осуществляется переход к проверке условия. Если результат вычисления условия равен false (ложь), то происходит выход из цикла и переход к оператору, следующему за циклическим оператором while.

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

Программирование с использованием одномерных массивов

89

Пример:

вычислить сумму нечетных чисел в интервале от 1 до 10. { int k=1, s=0;

while (k<11) { s+=k;

k+=2;

}

}

Оператор цикла с постусловием do (рисунок 4.2): do {тело цикла} while (условие);

Тело

цикла

да

нет

условие

Рисунок 4.2 Схема алгоритма оператора цикла do…while

Условие представляет собой выражение логического типа, тело цикла – один простой или составной оператор.

Тело цикла оператора do…while выполняется, по крайней мере, один раз, так как проверка условия выполняется после тела цикла. Поэтому данный оператор цикла используется реже по сравнению с другими операторами цикла. Тело цикла оператора do…while выполняется, пока условие равно true (не нулевое значение).

Пример: вычисление суммы чисел от 1 до 100. int d=1, s=0;

do { s+=d; d+=1;

}

while (d<100);

90

Программирование линейных алгоритмов в системе C++Builder

Рекомендуется использовать оператор do…while для контроля диапазона входных данных.

Оператор цикла со счетчиком for (рисунок 4.3):

for (выражение 1; выражениe 2; выражение 3) {тело цикла};

i= e1,e2, e3

Тело цикла

Рисунок 4.3 Схема алгоритма оператора цикла for

В структуре for e1 – выражение 1 задает начальное значение переменной, управляющей циклом; e2 – выражение 2 является условием продолжения цикла; e3 – выражение 3 изменяет управляющую переменную. Тело цикла – один простой или составной оператор.

Cначала выполняется выражение 1 (оно может состоять и из нескольких выражений, разделенных запятой, то есть может использоваться операция последования). Это выражение задает начальные значения переменной (или переменных) цикла. Затем проверяется выражение 2 - условие продолжения цикла, если условие истинно (возвращает true – ненулевое значение), то выполняется тело цикла. После завершения тела цикла выполняется выражение 3, определяющее обычно изменение переменной цикла. Затем опять проверяется выражение 2, и при его истинности выполнение цикла продолжается. Как только в каком-нибудь цикле выражение 2 вернет false (нулевое значение), цикл прерывается и управление передается оператору, расположенному следом за структурой for.

Приведённые ниже примеры операторов циклов демонстрируют возможности использования цикла for.

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