Для висновкуінформації на екран комп'ютера використовується оператор: - write( ) - writeln( )
В дужках необхідно записувати дані, які будуть виведені на екран при виконанні програми.
Для введенняінформації з клавіатури в комп'ютер використовується оператор: - read( ) - readln( )
В дужках необхідно записувати дані, які ми хочемо вводити при роботі програми.
Розглянемо декілька прикладів:
Складемо програму обчислюючу s = а / b і p=a*b.
program zadacha2_1a;
var а,b,s,p: real;
Begin
writeln('введите число а ');
readln(a);
writeln('введите число b ');
readln(b);
s:=a/b;
p:=a*b;
writeln('а/b =',s);
writeln('а*b =',p);
End.
В даному прикладі введення і висновок даних для кожної змінної здійснюється окремо. А можна було записати і так:
program zadacha2_1b;
var а,b,s: real;
Begin
writeln('введите числа а і b');
readln(а,b);
s:=a/b;
p:=a*b;
writeln('а/b = ',s,' а*b = ',p);
End.
В цій задачі використовувався речовинний тип числа – real, тому відповідь була отримана в напівлогарифмічній формі запису числа. Згадуємо:
2.5670000000Е+02 слід розуміти 2.567 * 102
3.4906710000Е-03 слід розуміти 3.490671 * 10-3.
Якщо ми хочемо при висновку на екран реальних чисел вказати певне число знаків після коми, то можна скористатися форматом висновку writeln(а:n1:n2). Де
n1 - кількість знакомісць виділених під все число;
n2 - кількість знакомісць виділених під дробову частину числа.
Наприклад команда writeln(pi) виведе рядок:
3.1415926536E+00
а команда writeln(pi:9:3) виведе рядок:
3.142
пропустивши перед числом, що виводиться, чотири пропуски і вирівнявши 3.142
(всього 5 знаків) по правому краю дев'яти знакомісць.
Складемо програму, що виводить на екран число р.
program zadacha2_2;
Begin
writeln(pi:9:3);
End.
Змінюючи числа у форматі висновку(:9:3 :9:2 :17:3 :17:7 :3:7 і т.д.) перегляньте і проаналізуйте отримані результати.
Задана сторона куба. Обчислити об'єм куба і площу бічної поверхні.
program zadacha2_3;
var а,v,s:real; {опис змінних}
Begin
writeln('Введите сторону куба'); {введення даних}
read(a);
v:=a*a*a; (обрахувати об'єм)
s:=6*a*a; {обрахувати площу поверхні}
{висновок результатів}
writeln('Об'єм = ',v:8:3,' Площа поверхні = ',s:8:3);
End.
В записаній вище програмі використані пояснюючі коментарі. Коментарі - це будь-який текст, обрамлений фігурними дужками { і } або символами (* і *).
Питання для повторення:
1. Яка команда служить для введення даних? Для висновку даних?
2. Чим відрізняється висновок інформації на екран комп'ютера оператором write( ) від висновку оператором writeln( )?
3. Як вивести на екран текст?
4. Чи можна вивести на екран декількох змінних або текстів одним оператором writeln()?
5. Що означає число 7 в команді writeln(pi:7:5)? А що означає число 5?
6. Скільки знаків після коми буде виведено при записі команди:
а) writeln(pi:7:5); b) writeln(pi:5:7)?
7. Які символи використовуються для розміщення коментарів в програмі?
Завдання для самостійної роботи:
1. Є два числа.
a) Обчисліть суму і різницю цих чисел, використовуючи двох операторів readln.
b) Перепишіть програму так, щоб використовувався один оператор readln.
c) Додайте коментарі до програми.
2. Є три числа. Обчисліть їх твір.
3. По заданих сторонах прямокутника а і b обчислите його периметр і площа.
4. Людині сьогодні виповнилося R літ. Скільки йому днів? Годинника? Хвилин? Секунд? (Високосні роки не враховувати)
5. Після початку деякого експерименту пройшло t годинника m хвилин і до секунд. Скільки всього секунд триває експеримент?
6. Задана відстань між містами у верстах. Переведіть цю відстань в кілометри (точність: три знаки після коми) використовуючи дані:
1 верста=500 сажням; 1 сажень=3 аршина; 1 аршин=0.7112 метра
Тема заняття:
Умовний оператор.
Структура умовного оператора.
Мета :
1. Сформувати поняття про умовного оператора;
2. Навчитися використовувати повний і неповний умовний оператор;
3. Отримати навики запису простих умов.
Якщо залежно від первинної умови задачі, повинні виконуватися різні вирази, то ми використовуватимемо умовний оператор.Умовний оператор може бути записаний в повній і неповній формі.
повна форма умовного оператора
if <умова> then <оператор 1> else <оператор 2>
неповна форма умовного оператора
if <умова> then <оператор>
if then else –зарезервовані слова (якщо, то, інакше)
Розглянемо декілька прикладів:
Дано два числа. Знайти більше з них.
program zadacha3_1;
var max,x,y:real;
Begin
writeln('Введіть число x '); readln(x);
writeln(' Введіть число у '); readln(y);
if x>y then max:=x else max:=y;
writeln('більше з двох = ',max);
End.
Дано три числа. Знайти максимальне.
program zadacha3_2;
var max,x,y,z:real;
Begin
riteln(' Введіть три числа ');
readln(x,y,z);
if x>y then max:=x else max:=y;
if z>max then max:=z;
writeln('більше з трьох =',max);
End.
Задано число а. Чи кратне воно 3.
program zadacha3_3;
var а:longint;
Begin
writeln('Введіть число');
readln(а);
if а mod 3 =0 then writeln(а,' кратне 3’)
else writeln(а,' не кратне 3’);
End.
Замість умови а mod 3 = 0напишіть умова int(a/3) = a/3. Придумайте свої умови і перевірте їх правильність.
Дано число. Дати характеристику числа:
ü позитивне, негативне;
ü парне, непарне;
ü ціле, не ціле.
program zadacha3_4;
var а:real;
к,m,p:string;
Begin
writeln('Введіть число');
readln(a);
if a<0 then до:='негативне' else до:='позитивне';
if a=int(a) then m:='ціле' else m:='не ціле';
if a/2=int(a/2) then p:='парне' else p:='непарне';
writeln('число ',a,' ; ',k,' ; ',m,' ; ',p);
End.
Дано три числа x, у, z. Обчислити суму тільки позитивних чисел з трьох даних.
program zadacha3_5;
var x,y,z,sum:real;
Begin
writeln('Введіть три числа');
readln(x,y,z);
sum:=0;
if x>0 then sum:=sum+x;
if y>0 then sum:=sum+y;
if z>0 then sum:=sum+z;
writeln('сумма позитивних чисел = ',sum);
End.
Питання для повторення:
1. Які форми запису оператора if вам відомі?
2. Поясніть виконання оператора if.
3. Для чого в задачі 3 5 змінну sum спочатку була обнулено?
Завдання для самостійної роботи:
1.
Задане x. Обчислити у
a) б)
2. Дано два числа. Знайти менше з них.
3. Дано три числа. Знайти мінімальне число.
4. Задано натуральне число а. Чи є воно парним? Вирішіть задачу
а) використовуючи операцію mod;
b) використовуючи функцію int.
5. Задано натуральне число а. Чи є воно кратним 7?
6. Задано натуральне число а. Чи закінчується воно на 0?
7. Дано тризначне число. Чи кратна сума його цифр шести?
8. Дано ціле число a>9. Чи більше цифра десятків цифри одиниць?
9. Дано двозначне число. Чи є сума його цифр
а) однозначним числом;
b) двозначним числом.
10. Задано двухзначное число. Дайте характеристику числа по наступному плану:
- сума цифр числа;
- число парне (непарне);
- число більше (менше) п'ятдесяти;
- перша цифра рівна (нерівна) другій цифрі.
11. Дано два дійсні числа. Зменшити перше число в п'ять разів, якщо воно більше другого за абсолютною величиною.
12. Задано три числа x, у, z. Обчислити твір тільки негативних чисел з трьох даних.
13. Задано чотири цілі числа x, у, z, w. Обчислити суму тільки парних чисел з чотирьох заданих.
14. Дано три числа x, у, z. Обчислити кількість чисел великих 7.
Тема заняття:
Умовний оператор.
Прості і складові умови.
Мета :
1. Закріпити навики використовування умовного оператора;
2. Сформувати поняття про складову умову;
3. Отримати навики запису складових умов.
Умови, які ми дотепер використовували, є простими. Якщо після службового слова ifперевіряється тільки одна умова (а mod 3=0; a>b; k=1), то таку умову називатимемо простою умовою.
Якщо після службового слова ifвиникає необхідність перевірити відразу декілька умов, то групу таких простих умов називатимемо складовою умовою. При написанні складових умов, кожна з простих умов, що входять в складове, береться в дужки. Можна використовувати союзи and(і) або or(або).
Розглянемо наступний приклад:
Дано два числа а,b (а,b?0). Відповісти чи одного знака введені числа.
Розберемо дану задачу.
Тут можливі чотири варіанти вхідних даних, для кожного з яких запишемо окрему складову умову:
А
| b
| Відповідь:
|
a>0
a<0
a>0
a<0
| b>0
b<0
b<0
b>0
| Одного знака
Одного знака
Різні знаки
Різні знаки
|
program zadacha3_6a;
var а,b:real;
Begin
writeln('Введіть два числа');
readln(а,b);
if (a>0) and (b>0) then writeln('числа одного знаку');
if (a<0) and (b<0) then writeln('числа одного знаку');
if (a>0) and (b<0) then writeln('числа різних знаків');
if (a<0) and (b>0) then writeln('числа різних знаків');
End.
На сьогоднішньому занятті ми не просто вивчатимемо нову тему, але і спробуємо з'ясувати для себе, що добрий програміст завжди уважно обдумує навіть вже написану і відладжену програму. Адже майже завжди можна застосувати правило: "Будь-яку програму можна переписати так, що вона стане більш короткою, або більш красивою".
А чи можна зробити нашу програму більш красивої або більш короткої? Так, можна. Давайте об'єднаємо першу і другу складові умови.
program zadacha3_6b;
var а,b:real;
Begin
writeln('Введіть два числа');
readln(а,b);
if ((a>0)and(b>0)) or ((a<0)and(b<0))