Алгоритми за разклоняване
Въпроси за преглед:
1. Какви форми на оператора if познавате?
2. Обяснете изпълнението на командата if.
Условия, използвани при компилиране на разклонени алгоритми
x mod 2 = 0
x числото е четно
x mod 2 = 1
x нечетно число
x mod 2 <>0
x нечетно число
x mod 3 = 0
x кратно на 3
x mod 4 = 0
x кратно на 4
x mod 9 = 0
x е кратно на 9
x число положително
x числото е отрицателно
a=int(a)
и числото е цяло число
Пример 1.Даден е номер a. Кратно ли е на 3?
Етапи на задачата.
Аз. Дефиниция на първоначалните данни: променлива a.
II. Определяне на резултатите: съобщението е кратно на число или не .
III. Алгоритъм за решаване на задачата.
1 . Въвеждане на първоначални данни
2. Проверка на условиетоa mod 3 = 0, ако условието е изпълнено, тогава числото е кратно на 3, в противен случай числото не е кратно на 3.
3. Извеждане на резултата.
IV. Описание на променливите:
Променлива от тип longint.
writel(' Въведете номер '); readln(a);
акоa mod 3 =0тогаваwriteln(a,' е кратно на 3’)
else writeln(a,' не е кратно на 3');
Можете да качите! Пример 1
VI. Тестване на програмата:
1 . Стартирайте програмата.
въведете x стойност | Проверете, резултатът трябва да е така: |
3 | 3 пъти 3 |
36 | 36 пъти 3 |
0 | 0 не е кратно на 3 |
1 | 1 не е кратно на 3 |
2.Експериментирайте с програмата, като въведете различни стойности.
Пример 2.Дадено е число. Опишете номера:
Етапи на задачата.
Аз. Дефиниция на първоначалните данни: променлива a.
II. Дефиниране на резултатите: характеризиране на числото.
III. Алгоритъм за решаване на задачата.
1 . Въвеждане на първоначални данни
2. Проверка на условието a . Проверка на условието a=int(a), ако условието е изпълнено, тогава m:='integer', в противен случай m:='not integer'. Проверка на условието a/2=int(a/2), ако условието е вярно, тогава p:=' even', в противен случай p:=' odd '.
3. Извеждане на резултата.
IV. Описание на променливите:
Променлива a е от тип real, променливите k,m,p са от тип string.
vara:real; k,m,p:низ;
Началоwriteln('Въведете число'); readln(a);
ifa=int(a)thenm:='integer'elsem:='not integer';
ifa/2=int(a/2)thenp:=' even'elsep:=' odd ';
writeln('число ',a,' - ',k,' ; ',m,' ; ',p);
Можете да качите! Пример 2
VI. Тестване на програмата:
1 . Стартирайте програмата и въведете стойността: a=9.
Проверете, резултатът трябва да е така:
числото 9 е положително; цяло число; странно
2. Експериментирайте с програмата, като въведете различни стойности.
Пример 3.Дадени са три числа x, y, z. Изчислете сумата само на положителни числа от дадените три.
Етапи на задачата.
Аз. Дефиниране на изходни данни: променливи x, y, z .
II. Дефиниране на резултатите: сума.
III. Алгоритъм за решаване на задачата.
1 . Въвеждане на първоначални данни
2. Проверка на условието x> 0, ако условието е вярно, тогава sum:=sum+x. Условията сyиzсе проверяват по подобен начин.
3. Извеждане на резултата.
IV. Описание на променливите:
Всички променливи, дефинирани за решаване на проблема, са от тип real.
Началоwriteln('Въведете три числа'); readln(x,y,z);
writeln('сума от положителни числа = ',сума);
Можете да качите! Пример 3
VI. Тестване на програмата:
1 . Стартирайте програмата и въведете стойността: x=2,y=-4,z=9.
Проверете, резултатът трябва да е така:
сбор от положителни числа = 11
2. Експериментирайте с програмата, като въведете различни стойности.
Проверка на знанията
Тест: Алгоритми за разклоняване 1
Тест: Алгоритми за разклоняване 2
Задачи за самостоятелно решаване
Дадено е естествено число a. Четно ли е? Решете проблем a) с помощта на операцията mod; б) използване на функцията int.
Дадено е естествено число a. Кратно ли е на 7?
Дадено е естествено число a. Завършва ли с 0?
Дадено е трицифрено число. Сборът от неговите цифри кратна ли е на шест?
Дадено е цяло число a>9. Цифрата на десетиците по-голяма ли е от цифрата на единиците?
Дадено е двуцифрено число. Дали сборът от неговите цифри а) е едноцифрен; б) двуцифрено число.
Дадено е двуцифрено число. Дайте описание на числото по следния план:
- сумата от цифрите на числото;
- числото е четно (нечетно);
- число по-голямо (по-малко) от петдесет;
- първата цифра е равна (неравна) на втората цифра.
Дадени са две реални числа. Намалете първото число пет пъти, ако е по-голямо от второто по абсолютна стойност.
Дадени са три числа x, y, z. Изчислете произведението само на отрицателни числа от дадените три.
Дадени са четири цели числа x, y, z, w. Изчислете сумата само на четни числа от дадените четири.
Дадени са три числа x,y, z. Изчислете броя на числата, по-големи от 7.