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

Информатика в задачах, примерах, алгоритмах

.pdf
Скачиваний:
0
Добавлен:
11.08.2026
Размер:
652 Кб
Скачать

 

 

5. Условный оператор

 

 

 

Ответ:

 

 

 

 

 

 

 

x

y

 

 

 

 

 

 

–35

0

 

 

 

 

 

 

2,078

3,318084

 

 

 

 

 

 

0,273

–0,198471

 

 

 

 

 

Даны действительные числа x и y. Вычислить:

170.

 

 

x y,

åñëè x > 0;

 

z =

 

 

 

 

 

 

 

y x + 1,

в противном случае

Ответ:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

y

 

z

 

 

 

 

 

 

 

 

 

 

3,8973

15879,658

 

–15875,761

 

 

 

 

 

 

 

 

 

 

–35

–15875,761

 

–15840,761

 

 

 

 

 

 

 

171.

 

 

y × x,

åñëè x > 0, y > 0;

 

z =

 

x + yá

åñëè x < 0, y < 0;

 

 

 

 

0,

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

Ответ:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

y

 

z

 

 

 

3,8973

15879,658

 

32997,92932

 

 

 

 

 

 

 

 

 

 

–254,7

45,00198

 

0

 

 

 

 

 

 

 

 

 

 

–35

–15875,761

 

–15910,761

 

 

 

 

 

172. F = z 6,3x,

 

 

 

ãäå

 

 

y × x,

åñëè x < 0;

 

 

 

 

z =

 

0,

åñëè 0 x1;

 

 

 

 

y 2 ,

åñëè x > 1

 

51

Информатика в задачах, примерах, алгоритмах

Ответ:

x

y

F

 

 

 

3,8973

15879,658

252163513,643974

 

 

 

–254,7

45,00198

–9857,394306

 

 

 

0,987

–15875,761

–6,2181

 

 

 

173. Вводится число x. Вывести на экран значение функции y = 1. x

Åñëè x = 0, вывести сообщение “Функция не определена”.

Ответ:

x

y

 

 

3,8973

0,25658789

 

 

–254,7

–0,00392619

 

 

0,987

1,01317123

 

 

174. Дано число x. Вычислить функцию:

 

 

–4,

 

 

åñëè x < 0;

y =

x 2

 

+ 3x + 4,

 

åñëè 0 x1;

 

 

(

2

+ 3x +

)

2 ,

åñëè x > 0;

 

 

x

4

Ответ:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

3,8973

 

 

 

953,62672935

 

 

 

 

 

 

 

 

 

 

 

 

 

–254,7

 

 

 

–4

 

 

 

 

 

 

 

 

 

 

 

 

 

0,987

 

 

 

7,935169

 

 

 

 

 

 

 

 

 

175. Вводится число x . Вычислить значения функций, графики которых приведены на рисунках:

52

 

 

 

 

 

5. Условный оператор

 

 

 

 

 

 

 

 

Ответ a):

 

 

Ответ b):

 

 

 

 

 

 

 

 

 

 

 

 

x

 

y

 

x

 

y

 

 

 

 

 

 

 

 

 

 

 

26

 

26

 

26

 

25

 

 

 

 

 

 

 

 

 

 

 

–15

 

15

 

–15

 

14

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,59

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

–0,59

 

0

 

 

 

 

 

 

 

 

176. Вводится число x. Åñëè 1 x

1, вывести на экран значение

функции, график которой приведен на рисунке. Если x < −1 èëè x > 1, вывести на экран надпись: “Функция не определена”.

Ответ:

x

y

 

 

0,987

0,025831

 

 

–0.987

0,16072025

 

 

177. Ввести три числа: — x, y, z. Если сумма трех попарно различ- ных чисел x, y, z меньше единицы, то меньшее из x, y заменить полусуммой y è z, иначе большее из x è z заменить на y4. Значения всех трех переменных вывести на экран дисплея.

Ответ:

Вводимые значения

Результат

 

 

õ=0,25

x=0,337295

y=0,3489

y=0,3489

z=0,32569

z=0,32569

 

 

53

Информатика в задачах, примерах, алгоритмах

Вводимые значения

Результат

 

 

x = 0,5846

x = 0,3316944

y = 0,7589

y = 0,7589

z = 0,345987

z = 0,345987

 

 

x = 0,25489

x = 0,25489

y = 0,25487

y = 0,25487

z = 0,87594

z = 4,219635E-03

 

 

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

Ответ:

Вводимые значения

Результат

 

 

õ = 0,25

x = 0,337295

y = 0,3489

y = 0,3489

z = 0,32569

z = 0,32569

 

 

x = 0,5846

x = 0,5524435

y = 0,7589

y = 0,7589

z = 0,345987

z = 0,345987

 

 

x = 0,25489

x = 0,25489

y = 0,25487

y = 0,565415

z = 0,87594

z= 0,87594

 

 

6.Структура с условием

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

âнакладной или в банковском ордере, в зависимости от количества указанных денег, необходимо писать соответствующий текст (51 рубль, 52 рубля, 55 рублей). В таких случаях удобно использовать структуру с условием, которая в Бейсике реализуется оператором SELECT CASE…END CASE.

54

6. Структура с условием

Пример. Написать программу, которая на любой момент времени рассчитывает, сколько времени осталость до каникул, которые начинаются 01/06/01, с точностью до секунды. Слова “дни”, “ча- сы”, “минуты”, “секунды” печатать по согласованию с числом (например: 2 дня, 5 дней, одна секунда и т.п.).

Программа написана в виде макроса документа WORD на VB

Sub структураСусловием() Dim k As Integer

Msg1$ = “До экзаменов осталось” Msg = ((#6/8/2001# - Date) - 1)

'Обрабатываем слово день (дней, дня)

Select Case Msg

Case Is < 10: l = Msg: l1 = 0 Case Is < 20: l1 = 1

Case Else: l = Msg Mod 10: l1 = 0 End Select

Select Case l1

Case 1: Msg = Msg & “ äíåé” Case Else

Select Case l

Case 0, 5, 6, 7, 8, 9 Msg = Msg & “ äíåé”

Case 1

Msg = Msg & “ äåíü” Case 2, 3, 4

Msg = Msg & “ äíÿ” End Select

End Select

'Обрабатываем слово час (часов, часа)

Select Case (23 - Hour(Time))

Case Is < 10: l = (23 - Hour(Time)): l1 = 0 Case Is < 20: l1 = 1

Case Else: l = (23 - Hour(Time)) Mod 10: l1 = 0 End Select

Select Case l1

Case 1: часы$ = “часов” Case Else

55

Информатика в задачах, примерах, алгоритмах

Select Case l

Case 0, 5, 6, 7, 8, 9 часы$ = “часов”

Case 1

÷àñû$ = “÷àñ” Case 2, 3, 4

÷àñû$ = “÷àñà” End Select

End Select

'Обрабатываем слово минута (минут, минуты)

Select Case (59 - Minute(Time))

Case Is < 10: l = (59 - Minute(Time)): l1 = 0 Case Is < 20: l1 = 1

Case Else: l = (59 - Minute(Time)) Mod 10: l1 = 0 End Select

Select Case l1

Case 1: минуты$ = “минут” Case Else

Select Case l

Case 0, 5, 6, 7, 8, 9 минуты$ = “минут”

Case 1

минуты$ = “минута” Case 2, 3, 4

минуты$ = “минуты” End Select

End Select

'Обрабатываем слово секунда (секунд, секунды)

Select Case (59 - Second(Time))

Case Is < 10: l = (59 - Second(Time)): l1 = 0 Case Is < 20: l1 = 1

Case Else: l = (59 - Second(Time)) Mod 10: l1 = 0 End Select

Select Case l1

Case 1: секунды$ = “секунд” Case Else

Select Case l

Case 0, 5, 6, 7, 8, 9 секунды$ = “секунд”

56

6. Структура с условием

Case 1

секунды$ = “секунда” Case 2, 3, 4

секунды$ = “секунды” End Select

End Select

MsgBox (Msg1$ & Chr(13) & “ ” & Msg & _ Chr(13) &" “ & (23 - Hour(Time)) & ” “ _

& часы$ & “ ” & (59 - Minute _ (Time)) & “ ” & минуты$ & “ ” & _

(59 - Second(Time)) & “ ” & секунды$) '" секунд" End Sub

Задачи

179.Некоторое предприятие ежесуточно расходует X Квт/ч электроэнергии. Составить программу, вычисляющую расход электроэнергии R для заданного месяца текущего года.

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

181.Написать программу, которая по заданному номеру месяца выводит его название.

182.Написать программу, которая по заданному номеру месяца выводит название времени года.

183.В киоске продается газета стоимостью 3 рубля и журнал стоимостью 20 рублей. Составить программу, которая спрашивает, что вы хотите купить, принимает деньги и выдает сдачу.

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

185.Составить программу, моделирующую работу продавца мороженого с выбором сорта мороженого.

186.Составить программу для определения подходящего возраста для вступления в брак, используя следующее условие: возраст муж- чины должен быть не менее удвоенного возраста девушки минус 14.

187.Составить программу, реализующую эпизод сказки: программа должна спрашивать, куда собирается пойти герой (прямо, налево, направо) и сообщать ему, что его ждет в каждом случае.

57

Информатика в задачах, примерах, алгоритмах

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

189.Составить программу, которая по вводимому номеру дня недели выведет на экран расписание уроков на этот день.

7. Циклы

Циклы служат для многократного выполнения группы операторов, причем в начале или в конце цикла проверяется условие окончания цикла. В зависимости от этого существуют циклы:

Цикл с параметром;

Цикл с предварительным условием;

Цикл с последующим условием;

Безусловный цикл.

7.1.Числовые последовательности. Циклы с параметром

Числовой последовательностью называется функция натурального аргумента, то есть правило, согласно которому какому-либо члену последовательности àn ставится в соответствие некоторое число. Числа, образующие последовательность, называются членами последовательности. Задать последовательность — значит указать правило, по которому можно вычислить любой член последовательности по его номеру.

Арифметическая прогрессия задается при помощи формулы общего члена:

a n = a1 + (n 1) × d .

Геометрическая прогрессия задается следующей формулой:

a n = a1 × q n1 .

Уже из этих формул видно, что для задания последовательности необходимо, чтобы были известны хотя бы два члена последовательности — первый и второй. В вышеприведенных формулах

58

7. Циклы

d = a2 a1 , à q = a2 . a1

Формула, позволяющая вычислить каждый член последовательности через предыдущие, называется рекуррентной. Например, последовательность, носящая название чисел Фибоначчи, выглядит так: {1,1,2,3,5,8,13,... },а с помощью рекуррентной формулы:

{a1 = 1,a2 = 1,...,a n = a n1 + a n2 }.

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

Для программирования повторяющихся заданное количество раз фрагментов программы в языках программирования имеется оператор цикла с параметром. Как правило, это оператор FOR…TO…

При обращении к оператору FOR-TO сначала вычисляется шаг (значение переменной, стоящей после ключевого слова STEP. Если это ключевое слово отсутствует, то шаг считается равным единице), начальное и конечное значения параметра цикла. Если при положительном значении шага полученное значение переменной цикла меньше или равно конечному значению, то выполняется последовательность операторов, следующая за оператором FOR-TO (тело цикла). Если полученное значение переменной цикла больше конечного значения, то происходит выход из цикла и управление передается оператору, следующему за NEXT. При отрицательном значении шага значение переменной цикла уменьшается с каждым циклом. Цикл выполняется до тех пор, пока значение переменной цикла не станет меньше конечного значения. Если при входе в блок FOR-TO заданное условие не выполняется, то управление сразу передается оператору, следующему за оператором NEXT. Блоки FOR-TO могут быть вложенными друг в друга.

В задачах 190—215 требуется написать программу, которая решает поставленную задачу и выводит результат на экран дисплея.

Пример: Дана числовая последовательность:

{a1 = Sin3,a2 = 2,...,a n = a n1 5a n2 ,...}

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

59

Информатика в задачах, примерах, алгоритмах

Возможный вариант программы на Qbasic

CLS 'очищаем экран дисплея

PRINT “Введите число членов последовательности”

INPUT N 'вводим N

 

DIM M(1 TO N)

'определяем массив в n элементов

M(1)=SIN(3)

'определяем первый член

 

'последовательности

M(2)=2

'определяем второй член

 

'последовательности

'организуем цикл для заполнения массива членами 'последовательности

FOR i=3 TO N M(i)=M(i-1)-5*M(i-2) NEXT

'Подсчитываем сумму отрицательных членов 'последовательности

s=0 'переменная для суммы

FOR i=1 TO N

IF M(i) < 0 THEN s=s+M(i) NEXT

? s ' Печать результата

Ответ: Ïðè N = 85 s = –1,105334E+29

 

 

 

 

 

 

 

 

 

 

 

 

 

Задачи

 

190. Дана числовая последовательность:

a

= 0, a

2

= 4,..., a

n

= a

n1

− 3a

 

.

 

{ 1

 

 

 

 

 

 

 

 

 

 

n2 }

 

Найти сумму отрицательных элементов при n = 25.

Ответ: –1644128.

 

 

 

 

 

 

 

 

 

191. Дана числовая последовательность:

 

=

Cos

2

 

=

Sin

3

 

 

 

a n2

 

a1

 

 

 

 

, a2

 

 

 

, ..., a n1

 

.

12

 

15

 

21

 

 

 

 

 

 

 

 

 

 

 

Найти сумму отрицательных элементов при n = 100.

Ответ: –0,0346789.

60

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