2360
.pdfПрограммирование прикладных задач линейной и ветвящейся структуры
1.Дана длина ребра куба. Найти площадь основания, площадь боковойНИ поверхности и объём куба. Г
2.Даны вещественные числа х и у. Вычислить: х − у + 2 . А
тка7. Даны координаты вершин треугольника А(хоу ), В(х ,у ), С(х ,у )заменитьи точки
|
|
М(a, b) на плоскости. Определите, |
|
|
и |
1, |
1 |
2 |
2 |
3 |
3 |
||||||||||
|
|
пр надлежит ли точка М внутренней |
|||||||||||||||||||
|
|
области треугольника. |
|
|
|
|
л |
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
8. Даны |
два числа. Если они оба отрицательны, то каждое значение |
|||||||||||||||||||
|
|
заменить его модулем; если отрицательно только одно из них, то оба |
|||||||||||||||||||
|
|
значения увеличить на 0.5; если о а значения неотрицательны, то оба |
|||||||||||||||||||
|
|
числа увеличить в 10 раз. |
|
|
б |
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
ìn3 |
- 5, если n = 1;и2;6 |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
ï |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ронная |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
9. Вычислить: |
ïn, |
|
если n = 7;8;9;10;11;12 |
. |
|
|
|
|
|
|
|
|||||||||
|
y = í |
|
|
б |
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
ï1+ n, если n = |
3;4;5 |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
ï |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
î51n, в остальных случаях |
|
|
|
|
|
|
|
||||||||
|
10. Дана |
точка М(х, у). Проверить, лежит ли данная точка внутри |
|||||||||||||||||||
|
|
заштрихованной области, представленной на рисунке: |
|
|
|
||||||||||||||||
|
|
|
|
y |
|
|
|
|
|
|
|
|
|
Y |
|
3 |
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
||
|
|
|
|
т |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-5 |
к |
|
5 |
|
a) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
x |
|
|
|
|
-3 -1 |
|
|
|
1 |
3 |
|
|
|
||
|
|
е |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Э |
л |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
в) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
21 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Программирование прикладных задач линейной и ветвящейся структуры |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
Контрольные вопросы: |
|
|
|
|
|
|
|
||||
|
|
|
|
1. |
Какие операторы ветвления существуют в языке Pascal? |
|
|
||||||||
|
|
|
|
2. |
Каковы различия между полной и сокращенной формой оператора IF? |
||||||||||
|
|
|
|
3. |
Каков вид оператора Case в языке Pascal? |
|
|
|
Г |
НИ |
|||||
|
|
|
Задания для самостоятельного выполнения. |
|
|
|
|||||||||
|
|
|
|
|
|
|
|||||||||
|
|
|
Составьте программу решения следующих задач: |
|
|
|
|||||||||
1. |
У пирамиды основанием служит квадрат. Найдите площадь основания и |
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
ка |
Аи диагональ |
|
|
|
|
|
объем пирамиды, если известны высота пирамиды |
|||||||||||
|
|
|
|
основания. |
|
|
|
|
|
|
е |
|
|
|
|
2. |
Даны два действительных числа a и b. Получить их сумму, разность и |
||||||||||||||
|
|
|
|
произведение. |
|
|
|
|
|
|
|
|
|
|
|
3. |
Даны x, y, z. Вычислить a и b, если: a=x+2yz, b=3xyz +43. |
|
|
||||||||||||
4. |
|
|
|
|
|
|
о |
|
|
|
|
|
|||
Дано число а. Не используя никаких функций и никаких операций кроме |
|||||||||||||||
|
|
|
|
умножения, получить: а19 за шесть операций. т |
|
|
|
|
|||||||
5. |
Дано вещественное число х. Вычисл ть, если возможно, |
x 20.8 . Если |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
б |
сообщение. |
|
|
||
|
|
|
|
вычислить нельзя, то сделать соответствующееи |
|
|
|||||||||
|
|
|
|
|
|
ì2n6 , если n =1;2;л...;16 |
|
|
|
|
|
||||
6. |
Вычислить: |
ï3 |
|
|
если n |
=17;19; 22 |
|
. В противном случае |
|||||||
|
|
|
|||||||||||||
y = í n, |
|
||||||||||||||
|
|
|
|
|
|
ï |
|
|
+ 2,беслии |
n = 23;44;35 |
|
|
|
|
|
|
|
|
|
|
|
îln n |
|
|
|
|
7.Для трёхроннаяданных чисел найти среднеарифметическое положительных из них. Если таковых нет, сделать об этом сообщение.перпендикулярнот каждой из сторон отверстия. или
|
л |
е |
к |
Э |
|
||
|
|
||
|
|
22 |
|
|
|
|
Программирование прикладных задач циклической структуры
Лабораторная работа |
|
|
|
Программирование прикладных задач циклической |
|||
структуры с использованием циклов For, While, Repeat |
|||
Цель работы. |
|
|
НИ |
Приобретение навыков составления программ циклической структуры на |
|||
алгоритмическом языке Pascal. |
А |
Г |
|
|
|
||
Теоретическая часть. |
|
|
|
В алгоритмическом языке Pascal для организации |
цикла используют |
различные операторы. Выбор того или иного оператора зависитка от начальных данных, типа параметра цикла, шага, с которым изменяется параметр цикла и
|
|
|
|
|
|
|
|
|
|
о |
операторы цикла с |
т.д. По способу организации таких повторений различаюте |
|||||||||||
заданным числом повторений (с параметром) и ператорыт |
цикла, управляемые |
||||||||||
условиями. В языке Турбо Паскаль |
|
|
и |
|
оператор цикла с |
||||||
определены один |
|||||||||||
|
|
|
|
|
|
|
|
л |
|
|
|
параметром и два оператора цикла, управляемые условиями. |
|||||||||||
|
|
|
|
|
|
|
б |
|
|
|
|
|
Оператор цикла с параметром испо ьзуется в тех случаях, когда число |
||||||||||
|
|
|
|
|
|
и |
|
|
|
|
|
повторений оператора тела цикла известно заранее. |
|
||||||||||
|
|
|
|
|
б |
|
|
|
|
|
|
|
Циклы с параметром организуют с помощью оператора FOR. |
||||||||||
|
Данный оператор цикла имеет вид: |
|
|
|
|
|
|||||
|
|
|
|
ронная |
|
|
|
|
|
|
|
|
FOR i:= A to B do оператор; |
|
|
|
|
|
|
|
|||
|
где: i - параметр цикла; А - начальное значение параметра цикла; |
||||||||||
|
|
|
В - конечное зн чение параметра цикла; |
|
|
||||||
|
при этом A<B, шаг изменение параметра цикла равен +1. |
||||||||||
|
FOR i:= A downto B do оператор; |
|
|
|
|
|
|||||
|
где: i - параметр цикла; |
|
|
|
|
|
|
|
|||
|
|
|
А - начальн е значение параметра цикла; |
|
|
||||||
|
|
|
В - конечное значение параметра цикла; |
|
|
||||||
|
при э ом A>B, шаг изменение параметра цикла РАВЕН -1. |
||||||||||
|
|
е |
к |
|
|
|
должны иметь целочисленный тип. При |
||||
|
В обоихтслучаях величины i, A, B |
||||||||||
|
л |
|
|
|
|
|
|
|
|
|
|
этом в кач стве A и B могут выступать арифметические выражения. |
|||||||||||
Э |
|
|
|
|
|
23 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Программирование прикладных задач циклической структуры
Пример 1. |
1 |
1 |
1 |
|
|
|
1 |
|
Пример 2. |
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
Вычислить: 1+ |
2 |
+ 3 |
+ 4 + |
... + |
|
. |
Вычислить: 100-99+98-97+…+4. |
||||||||||||||||
20 |
|||||||||||||||||||||||
Данную задачу можно представить |
Для |
удобства |
|
решения можно данную |
|||||||||||||||||||
1 |
1 |
|
1 |
|
1 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
Г |
||||
|
|
|
|
|
|
задачу представить в виде суммы: НИ |
|||||||||||||||||
в виде: |
|
+ |
|
+ |
|
|
+ |
|
+ ... + |
|
|
. |
|
||||||||||
1 |
2 |
3 |
|
4 |
20 |
|
|||||||||||||||||
В качестве |
|
|
параметра |
цикла |
(+1)*100+(-1)*99+(+1)*98+(-1)*97+…+(+1)*4. |
||||||||||||||||||
выберем числитель дроби. |
|
|
Program drob; |
|
|
А |
|
||||||||||||||||
Program drob; |
|
|
|
|
|
|
|
|
|
|
var i, s: integer; |
|
|
||||||||||
var i: integer; s: real; |
|
|
|
|
|
|
begin |
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
s:=0; |
|
|
|
|
е |
|
|
||||||||||
begin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
z=1; {знак перед числом} |
|
|
||||||||
s:=0; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
т |
|
|
|
||
for i:=1 to 20 do s:=s+1/i; |
|
|
|
|
|
for i:=100 downto 4 doка |
|
|
|||||||||||||||
|
|
|
|
|
|
begin s:=s+z*i; z=-z end; |
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
write(s:7:4) |
|
|
|
|
|
|
|
|
|
|
write(s:7:4) |
о |
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
end. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
end. |
|
и |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Циклы c предусловием WHILE. |
|
б |
л |
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Данный оператор цикла имеет вид: While условие do оператор; |
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
и |
|
|
|
|
|
|
|
|
Вычисление оператора цикла с предусловием происходит следующим |
|||||||||||||||||||||||
образом: |
если |
значение |
|
условия есть |
|
стина, то |
выполняется переход к |
оператору тела цикла, иначе ра ота оператора прекращается. Оператор тела |
|
ронная |
, пока значение условия не станет ложь. |
цикла будет выполнятся до тех порб |
Если первоначальное значение условия есть ложь, то оператор тела цикла не выполнится ни разу.
Циклы c постусловием REPEAT. Данный оператор цикла имеет вид:
Repeat операт р1; оператор2; … оператор n until условие;
Вычисление |
оператора цикла |
с постусловием происходит следующим |
к |
|
|
образом: выполняются операторы тела цикла, затем проверяется условие. Если |
||
результат условият |
есть ложь, то |
осуществляется переход к оператору тела |
лнится хотя бы один раз.
ЭВ данных операторах параметр цикла может иметь как целочисленный, так и вещественный тип и изменяться с любым шагом.24цикла, иначе работа оператора цикла завершается. Оператор тела циклавыпо е
Программирование прикладных задач циклической структуры
Пример 3. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Пример 4. |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
Дано действительное число а. |
|
|
|
|
|
|
|
|
|
|
Среди |
нечетных |
|
трехзначных чисел |
|||||||||||||||||||||||||
Вычислить: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
выбрать те, которые читаются |
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
одинаково как слева |
направо, так и |
|||||||||||||||
a×(a+ 3 1,1)×(а+ 3 1,2 )× ... ×(a+ |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||
3 15,2 ). |
|||||||||||||||||||||||||||||||||||||||
|
наоборот. |
|
|
|
|
|
|
|
А |
Г |
НИ |
||||||||||||||||||||||||||||
Program L; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Program Odinakovo; |
|
|
|
|||||||||||||||||||
var P, a, i: real; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var: e, p, d, s, b, j: integer; |
|
|
|
|||||||||||||||||||
begin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
begin |
|
|
|
|
|
|
ка |
|
|
|
|
||||||
read(a); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
j:=101; |
|
|
|
|
|
|
|
|
|
|
||||||||||
P:=a; i:=1.1; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
repeat |
|
|
|
|
|
|
|
|
|
|
||||||||||||
while i<= 15.2 do |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
e:= j mod 10; |
|
|
|
|
|
|||||||||||||||||||
|
begin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
p:=j div 10; |
е |
|
|
|
|
|
|
|
||||||||||
|
p:=p*(a+exp(1/3*ln(i))); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
d:= p mod 10; |
|
|
|
|
|
|
|
||||||||||||||||||||
|
i:=i+0.1; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
т |
|
|
|
|
|
|
|
|
|
|||||||
|
end; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
s :=p div 10; |
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b:=e*100+b*10+s; |
|
|
|
|
|
||||||||||||||
write(P:7:3) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
о |
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if b=j then writeln (i) |
|
|
|
|
||||||||||||||||||
end. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
until j>999 |
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
end. |
и |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
л |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
Задания к лабораторной работе: |
|
|
б |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
Составьте программу решения следующих задач: |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
1. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
и |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Для данного числа х вычислить: (х+0,1)(х+0,5)(х+0,9)…(х+24,1). |
|
|
||||||||||||||||||||||||||||||||||||
|
2. |
Дано натуральное число А. Вычислитьб |
: С=1*2+2*3+3*4+...+А*(А+1). |
||||||||||||||||||||||||||||||||||||
|
3. |
Для данного натур льного числа n вычислить: |
ln1 |
- |
ln 2 |
+ |
ln 3 |
-. |
ln 4 |
+ ..., |
|||||||||||||||||||||||||||||
|
|
|
9 |
27 |
|||||||||||||||||||||||||||||||||||
|
|
где n - количество слагаемых. |
|
|
|
|
|
|
|
|
|
1 |
|
3 |
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
4. |
Вычислить: sin x + cos sin x + sin cos sin x + ... + sin cos.....sin x . Число х - |
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1442443 |
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 штук |
|
|
|
|
|
||
|
|
дано. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
5. |
Автоморфными называются такие числа, цифры которого совпадают с |
|||||||||||||||||||||||||||||||||||||
|
|
последними цифрами его квадрата. Например, 62=36, 252=625. Среди |
|||||||||||||||||||||||||||||||||||||
|
|
чисел от 10 до 32000 найдите все автоморфные числа. |
|
|
|
|
|
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
ронная |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
6. |
Определитьт |
числа "А", расположенные в интервале от 10 до 1000, |
||||||||||||||||||||||||||||||||||||
|
|
имеющие не менее 15 делителей от 2 до А/2. Так, число 30 имеет 6 |
|||||||||||||||||||||||||||||||||||||
|
|
|
|
|
к |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
д лит лей: 2, 3, 5, 6, 10, 15; число 36- 7 делителей: 2, 3, 4, 6, 9, 12, 18. |
|||||||||||||||||||||||||||||||||||||
|
7. |
е |
|
|
|
данного |
натурального |
|
|
|
числа |
|
|
|
n |
|
вычислить: |
||||||||||||||||||||||
|
Д я |
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||
Э |
л |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
3 + 6 + |
9 +...+ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
3(n −1) + |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
3n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Э
Программирование прикладных задач циклической структуры
|
Контрольные |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
НИ |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
1. |
Какие операторы цикла языка Pascal Вы знаете? |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
2. |
Какие форматы оператора For Вам известны? |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
3. |
Каков шаг изменения параметра оператора For? |
|
|
|
|
|
|
|
|
Г |
|
|||||||||||||||||||
|
4. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
В каком операторе цикла тело цикла может не выполниться ни разу? |
||||||||||||||||||||||||||||||
|
5. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
А |
|
|
|
||
|
В каком операторе цикла тело цикла выполниться хотя бы один раз? |
||||||||||||||||||||||||||||||
|
Задания |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ка |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
Составьте |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
1. |
Для |
|
|
|
|
|
|
|
|
|
|
|
|
т |
|
|
|
|
|
|
|
|
|
|
|
||||||
2. |
Для |
|
|
|
|
|
|
|
|
|
|
|
о |
|
|
|
|
|
|
|
|
вычислить : |
|||||||||
3. |
Для |
|
|
|
|
|
|
|
|
и |
|
|
|
|
|
|
|
|
|
|
|
n- |
|||||||||
|
|
|
|
|
|
|
л |
|
|
|
|
2 |
|
2 |
|
4 |
|
4 |
|
6 |
|
6 |
|
||||||||
|
количество сомножителей. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
4. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Дано натуральное число n. Найти ко ичество цифр в числе n. |
|
|
|
||||||||||||||||||||||||||||
5. |
Дано натуральное число |
|
|
|
|
|
|
б |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
n (n<9999). Является ли это число палиндромом |
|||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
и |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
(перевертышем) с учетом четырех цифр, как, например, числа 2222, 6116 |
||||||||||||||||||||||||||||||
|
и т.д.? |
|
б |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
6. |
Среди чисел от 10 до |
10000, определить те, которые кратны |
|||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
|
одновременно 3 и 5, но не кратны при этом 2. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
7. |
|
ронная |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Определить число, расположенное в интервале от 10 до 1000, имеющее |
|||||||||||||||||||||||||||||||
|
наибольшее количество делителей. Вывести эти делители на печать. |
||||||||||||||||||||||||||||||
|
|
n |
(−1) |
i |
x |
i |
|
x |
|
x |
2 |
|
x |
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
8. |
Вычислить сумму S = å |
|
|
= 1− |
+ |
|
− |
|
+ ... |
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
1 |
|
|
3! |
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
i=0 |
|
i! |
|
|
|
|
2! |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9.При заданных вещественном х, целом N вычислить сумму N слагаемых заданного вида:
а) |
sin(x) |
= 1− |
x2 |
+ |
x4 |
− |
x6 |
+ ...; |
x |
|
|
|
|||||
|
3! |
5! |
7! |
|
|
|
2 |
|
|
x2 |
x4 |
x6 |
|||
|
б) e−x т=1 |
− |
|
+ |
|
− |
|
+...; |
||
|
1! |
2! |
3! |
|||||||
|
е |
|
|
|
|
|
|
|
|
|
л |
к1 |
|
|
|
|
|
|
|
|
|
|
в) |
=1 |
− x + x2 − x3 + x4 −.... |
|||||||
|
|
1+ x |
|
|
|
|
|
|
|
|
26
Программирование задач по обработке одномерных массивов
Лабораторная работа Программирование задач по обработке одномерных массивов
Цель работы. |
|
|
|
|
|
|
|
|
А |
Г |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
Приобретение навыков обработки одномерных массивов и решенияНИ |
||||||||||||
реальных задач с использованием массивов. |
|
|
|
|
|
|
|
|
|
|||
Теоретическая часть. |
|
|
|
|
|
|
ка |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
||
Массив - это упорядоченная последовательность величин, имеющих один |
||||||||||||
и тот же |
тип и объединённых одним именем. |
Число |
|
элементов |
массива |
|||||||
|
|
|
|
|
|
|
е |
|
|
|
|
меняется. |
задаётся при описании и в процессе выполнения программы не |
|
|||||||||||
Индексы у элементов массива должны быть целого |
т |
|
|
|
|
|
|
|||||
ипа. |
|
|
|
|
|
|||||||
Если |
|
|
|
|
о |
индекс, |
массив называется |
|||||
в элемент массива имеет только дин |
||||||||||||
|
|
|
|
и |
|
|
|
|
|
|
|
|
одномерным, если два индекса - двухмерным. |
|
|
|
|
|
|
|
|
||||
|
|
|
л |
|
|
|
|
|
|
|
|
|
Описание одномерных массивов имеет вид: |
|
|
|
|
|
|
|
|
||||
|
|
б |
|
|
|
|
|
|
|
|
|
|
|
<имя> : array[n .. m] of <тип>; |
|
|
|
|
|
||||||
|
и |
|
|
|
|
|
|
|
|
|
|
|
и описывается в разделе описания переменных. |
|
|
|
|
|
|
|
|
Вводить и выводить массивыбможно только поэлементно, поскольку при этом требуется многократное повторение одних и тех же действий, причем количество повторений известно и равно числу элементов массива. При вводе и выводе массивов удобно использовать оператор цикла с параметром.
|
Пример 1. |
|
|
|
Пример 2. |
||
|
Дан целочислен ый массив С(15). |
Даны действительные числа а1, а2 . . . а50. |
|||||
|
Найти сумму: С1+С2+С3+... +С15. |
Найти максимальное из них. |
|||||
|
|
Program massiv ; |
Program massiv1; |
||||
|
|
var |
|
|
|
var a: array[1..50] of real; |
|
|
|
c: array [1..15] of integer; |
max: real; i: integer; |
||||
|
|
|
|
|
|
ронная |
begin |
|
|
s, i: integer; |
|||||
|
|
begin |
т |
|
for i:=1 to 50 do read (a[i]); |
||
|
|
|
for i:=1к |
to 15 do read(c [i] ); |
max:=a[1]; |
||
|
|
|
s:=0; |
|
|
|
for i:=2 to 50 do if a[i]>max then max:=a[i]; |
|
|
л |
е |
|
|
|
write(max) |
|
|
for i:=1 to 15 do s:=s+c[i]; |
|||||
|
|
write(s) |
|
|
end. |
||
|
|
|
|
|
|
|
|
|
end. |
|
|
|
|
|
|
|
Э |
|
|
|
|
|
|
|
|
|
|
|
|
|
Программирование задач по обработке одномерных массивов
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Пример 3. |
|
Пример 4. |
|
|
|
|
|
|
|
НИ |
|||||
|
|
|
|
|
|
|
|
|
|||||||
Даны массивы A(10), B(10), C(10). |
Дано натуральное число n, |
|
|
|
|||||||||||
Получить массив D(10), где |
действительные числа а1... аn. Получить |
||||||||||||||
D [i]=A [i]+B[i]+C[i], i=1, ..., 10. |
числа b1,..., bn , которые связаны с a1,..., аn |
||||||||||||||
|
|
|
|
|
следующим образом: |
|
|
|
|||||||
Program summa; |
|
b1= a1, bn= an |
, bi =(ai+1- ai )/3 , i=2.., n-1. |
||||||||||||
type p = array [1..10] of real; |
Program SG; |
|
|
|
|
А |
Г |
|
|||||||
var d, a, b, c: p; |
|
|
|
|
|
|
|
||||||||
i: integer; |
|
Var |
|
|
|
|
|
|
|
|
|
||||
begin |
|
|
|
a: array[1..10] of real; {n р вное 10} |
|||||||||||
for i:=1 to 10 do |
|
b: array[1..10] of real; |
|
|
|
||||||||||
read(a[i], b[i], c[i]); |
i: integer; |
|
|
т |
е |
ка |
|
|
|
||||||
|
|
|
|
|
|
||||||||||
for i:= 1 to 10 do |
begin |
|
|
|
|
|
|
|
|
||||||
d [i]:=a[i]+b[i]+c[i] ; |
writeln ('введи е массив чисел '); |
|
|||||||||||||
for i:= 1 to 10 do write(d[i]) |
|
|
|
о |
|
|
|
|
|
|
|||||
For i:= 1 to 10 do read (a[i]); |
|
|
|
||||||||||||
end. |
|
|
|
writeln (' b[1]= ',a[1]); |
|
|
|
||||||||
|
|
|
|
|
for i:= 2 to 9 do begin |
|
|
|
|||||||
|
|
|
|
|
|
л |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b[i]:= (a[i+1] - a[i])/3; |
|
|
|
|||||||
|
|
|
|
|
б |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
writeln ('B[',и |
|
i:2,’]=' , b[i]:5:2); |
|
|
||||||
|
|
|
|
|
end; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
write (' b[10]=' , a[10]); |
|
|
|
|||||||
|
|
|
|
|
end. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
б |
|
|
|
|
|
|
|
|
|
|
|
|
Задания к лабораторной работеи: |
|
|
|
|
|
|
|
|
|
|
||||
|
Составьте программу решения следующих задач: |
|
|
|
|
|
|||||||||
|
1. |
Подсчитать количество отрицательных элементов в одномерном массиве |
|||||||||||||
|
|
А(45). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2. Сформировать м ссив Y из положительных элементов заданного массива |
||||||||||||||
|
|
Х размером 10. |
|
|
|
|
|
|
|
|
|
|
|
||
|
3. |
Даны действитель ые числа а1,а2,..., а123. Известно, что а1>0 и что среди а2, |
|||||||||||||
|
|
а3,..., а123 есть хотя бы отрицательное число. Пусть а1,....., аn - члены |
|||||||||||||
|
|
данной п след вательности, предшествующие первому отрицательному |
|||||||||||||
|
|
члену (n |
заранее неизвестно). Получить: а1+а2+.....+аn. |
|
|
|
|||||||||
|
4. |
Найти |
количество положительных |
и |
|
|
количество отрицательных |
||||||||
|
|
|
к |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
элемен овроннаявещественного массива А(100). |
|
|
|
|
|
|
|
|
|||||
|
5. |
е |
|
|
|
|
заданного массива размера 8. |
||||||||
|
Найтитсреднее значение элементов |
||||||||||||||
|
л |
Пр образовать исходный массив, вычитая из каждого элемента среднее |
|||||||||||||
Э |
знач ние. |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6. Дан целочисленный массив А(99). Проверьте, является ли он
перевертышем , т.е. верно ли , что А[1]=А[99], А[2]=А[98], А[3]=А[97], ...
28
Программирование задач по обработке одномерных массивов
|
Контрольные вопросы: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
НИ |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
1. |
Что такое массив? |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
2. |
Что называют размерностью массива? |
|
|
|
|
|
|
|
|
|
|
|
|
|
Г |
|
||||||||
|
|
3. |
Что такое одномерный массив? Пример. |
|
|
|
|
|
|
|
|
|
|
|
А |
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
4. |
Что такое индекс? |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
5. |
Как заполняют массивы? Пример. |
|
|
|
|
|
|
|
каодномерном массиве |
|||||||||||||||
|
Задания для самостоятельного выполнения. |
|
|
е |
||||||||||||||||||||||
|
Составьте программу решения следующих задач: |
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
т |
|
|
|||||||||||
|
1. Подсчитать количество отрицательных элементов в |
|||||||||||||||||||||||||
|
|
А(45). |
|
|
|
|
|
|
|
о |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
2. Из массива А(10) выбрать отрицательные числа и записать их подряд в |
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
и |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
массив В(N) . Значения массивов вывести на экран. |
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
л |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3. |
Рассматривается последовательность a1, ... , a1000 . Требуется определить, |
||||||||||||||||||||||||
|
|
сколько членов последовательности с номерами |
1,2,4,8,16, ... имеют |
|||||||||||||||||||||||
|
|
значение, меньшее, чем 0.25. При этом считать, что: |
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
2 |
|
2 |
|
|
и |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ak = sin (3k + 5) - cos (k |
|
- 15) , k = 1,2,...,1000; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
б |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a1 ,...,a1000 - заданные действ тельныеб |
числа; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
a1 = 0.01 ; ak = sin (k + ak-1) , k =2 , ... , 1000. |
|
|
|
a3 |
+ 4 |
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
ронная |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
4. |
Дан вещественный массив A(100). Вычислить: |
|
|
|
|
1 |
|
|
|
|
|
|
|
. |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a1 |
+ |
|
|
|
2 |
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a2 |
+ |
|
3 |
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a3 + |
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
...... |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a100 + |
101 |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a1 |
|
|
|
|
|
|
|
|
||
|
5. |
Дан вещественный массив A(100). Вычислить: |
|
|
a1 |
+ 2 |
. |
|
|
|
||||||||||||||||
|
|
|
|
т |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
к |
|
|
|
|
|
|
|
|
|
|
a2 |
+ 3 |
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
е |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
л |
|
|
|
|
|
|
|
|
|
.............. |
|
|
|
|
|
|
|
|
|||||||
Э |
|
|
|
|
|
|
|
|
|
|
|
|
a100 + 101 |
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
29 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Программирование задач по обработке двумерных массивов
Лабораторная работа Программирование задач по обработке двумерных массивов
Цель работы. |
навыков обработки двумерных массивов и решенияНИ |
Приобретение |
реальных задач с использованием массивов. |
А |
Г |
|
Теоретическая часть. |
|||
|
|||
|
|
||
Массивы с двумя индексами называют в математике м триц ми. |
|
||
Описание двумерных массивов осуществляется следующим образом: |
|
|
var |
|
|
|
|
|
|
|
|
|
|
е |
ка |
|
|
|
<имя> : array[i1..i2, j1..j2] of |
<тип>; |
|
|
|
|||||||||
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Величины i1, i2, j1, j2 являются целочисленными константами. |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
о |
т |
|
|
Пример 1. |
|
|
|
|
|
Пр мер 2. |
|
|
|
||||||
Определить количество |
|
|
|
Дан вещественный массив А(100,25). |
|||||||||||
положительных элементов каждого |
|
|
|
|
и |
|
|
|
|
||||||
|
|
По учить сумму элементов, кратных 5. |
|||||||||||||
столбца массива А(4,4). |
|
и |
|
б |
л |
|
|
|
|
|
|||||
Program matr; |
|
б |
|
|
|
|
|
|
|
||||||
|
|
Program ty ; |
|
|
|
||||||||||
var a: array [1..4, 1..4] of real; |
|
var a: array[1..100, 1..25] of real; |
|||||||||||||
k, i, j: integer; |
|
|
|
i, j: integer ; |
|
|
|
||||||||
begin |
|
|
|
|
|
|
S: real; |
|
|
|
|
||||
for i:=1 to 4 do |
|
|
|
|
begin |
|
|
|
|
|
|||||
for j:=1 to 4 do read (a[i,j]); |
|
|
|
for i:=1 to 100 do |
|
||||||||||
for j:=1 to 4 do |
|
|
|
|
for j:=1 to 25 do read(a[i]); |
||||||||||
|
|
begin |
|
|
|
|
S:=0; |
|
|
|
|
|
|||
|
|
|
|
k:= 0; |
|
|
|
for i:=1 to 100 do |
|
||||||
|
|
|
|
for i:=1 to 4 do |
|
|
|
for j:=1 to 25 do |
|
||||||
|
|
|
|
If a [i,j]>0 then k:=k+1; |
|
|
|
if i mod 5 = 0 then S:= S+1; |
|||||||
|
|
|
|
write(k) |
|
|
|
write(S); |
|
|
|
|
|||
end. |
end |
т |
ронная |
|
|
|
end. |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
л |
е |
к |
|
|
|
|
|
|
|
|
|
|
|
|
Э |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
30 |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|