Реферат: Структура програми основні математичні функції введення І висновок даних. Формати висновку. Складання лінійних алгоритмів. Коментарі в програмі > Розгалуження
Посібник містить теоретичний матеріал та приклади розв’язаних задач, для вчителів та учні загальноосвітніх шкіл при вивченні окремих тем з курсу програмування:
Текстовий редактор мови. Структура програми. Основні математичні функції. Введення і висновок даних. Формати висновку. Складання лінійних алгоритмів. Коментарі в програмі
Умовний оператор. Структура умовного оператора. Умовний оператор. Прості і складові умови. Операторні дужки. Складовий оператор. Оператор вибору. Умовний оператор. Оператор вибору. Практикум по рішення задач на розгалуження
Алгоритми з повтореннями. Цикл з параметром FOR. Алгоритми з повтореннями. Цикл з передумовою WHILE. Цикл з післяумовою REPEAT. Вкладені цикли. Алгоритми з повтореннями. Практикум по розв’язуванню задач з повтореннями
Двомірні масиви: опис, введення і висновок масивів по рядках. Приклади розв’язування задач з використанням двомірних масивів. Пошук в масиві елементів із заданими властивостями. Пошук максимального (мінімального) елемента
Програми розв’язку задач реалізовано в мові програмування Паскаль.
Вчитель основ інформатики та обчислювальної техніки Єрківської загальноосвітньої школи I – III ступенів, Катеринопільської районної ради, Черкаської області Сколотяний П. М.
Зміст
1. Паскаль
Текстовий редактор мови …………………………………………………4
Структура програми ……………………………………………………….8
Основні математичні функції …………………………………………….12
Введення і висновок даних. Формати висновку. Складання лінійних алгоритмів. Коментарі в програмі ……………………16
2. Розгалуження
Умовний оператор. Структура умовного оператора …………...20
Умовний оператор. Прості і складові умови …………………….24
Операторні дужки. Складовий оператор …………………………28
Оператор вибору …………………………………………………….32
Практикум по рішення задач на розгалуження …………………36
Цикли
Цикл з параметром FOR …………………………………………….40
Цикл з передумовою WHILE. Цикл з післяумовою REPEAT …44
Вкладені цикли ……………………………………………………………...48
Практикум по розв’язуванню задач з повтореннями …………..52
Масиви
Двомірні масиви: опис, введення і висновок масивів по рядках. Приклади розв’язування задач з використанням двомірних масивів ………………………………………………………………...56
Пошук в масиві елементів із заданими властивостями. Пошук максимального (мінімального) елемента ………………………..60
Література …………………………………………………………….64
Вивчаємо “Pascal”
Тема уроку:
Мова програмування «ПАСКАЛЬ»
Текстовий редактор мови.
Мета заняття:
Сформувати перші відомості про мову Pascal;
Отримати навики роботи в текстовому редакторі мови Pascal.
Виховувати уважність, активність на уроці при вивченні нового матеріалу.
Історичні відомості про мову «Паскаль»
Мова програмування Паскаль отримала свою назву на честь великого французького математика і фізика Блеза Паскаля, який в 1642 р. винайшов рахункову машину для арифметичних операцій, так зване "паскалево колесо". В кінці 1968 р. професор Вірт і його співробітники з швейцарського федерального інституту технології в Цюріху розробили першу версію мови Паскаль. Через два роки - перший варіант компілятора. В 1971 р. Вірт випустив опис своєї мови.
Створюючи Паскаль Вірт переслідував дві мета:
по-перше, розробити мову придатну для навчання програмуванню як систематичної дисципліни;
по-друге, реалізація мови повинна бути ефективною і надійною.
Одним з достоїнств мови Паскаль є те, що він повністю утілив в себе ідею структурного програмування, суть якої полягає в тому, що за допомогою декількох конструкцій можна виразити у принципі будь-які алгоритми.
^ Запуск мови «Паскаль»
Для запуску мови Паскаль потрібно завантажити файл PASCAL.EXE що знаходиться, як правило, в каталозі PASCAL.
Наприклад: D:\PASCAL\PASCAL.EXE
^ 3. Інтерфейс програми.
На синьому фоні писатимемо програму.
На сірому фоні написані рядки підказки.
Верхній рядок містить меню, що розкриваються: ^ Файл, Текст, Виконання, Компіляція, Режими, Відладка, Спостереження.
Для переходу у верхнє меню натискуємо F10. Натиснення клавіші alt і першої букви будь-якого із слів верхнього меню розкриває вікно. (приклад alt + B)
^ 4. Текстової редактор.
Введення програми в комп'ютер є введенням тексту в комп'ютер. Нижче перераховані команди текстового редактора Турбо Паскаля, що часто використовуються.
^ Зсув курсора
PgUp - на сторінку вгору;
PgDn - на сторінку вниз;
Home - в початок рядка;
End - в кінець рядка;
Ctrl-PgUp - в початок тексту;
Ctrl-PgDn - в кінець тексту.
^ Команди редагування
Backspace (<) - стерти символ зліва від курсора;
Del - стерти символ, на який указує курсор (праворуч від курсора);
Ctrl-Y - стерти рядок, на якому розташовується курсор;
Enter - вставити новий рядок, розрізати стару;
Ctrl-Q L - відновити поточний рядок (діє, якщо курсор не покидав змінений рядок).
^ Робота з блоком
Ctrl-K B - помітити початок блоку;
Ctrl-K До - помітити кінець блоку;
Ctrl-K У - стерти блок;
Ctrl-K З - копіювати блок;
Ctrl-K V - перемістити блок;
Ctrl-K W - записати блок в дисковий файл;
Ctrl-K R - прочитати блок з дискового файлу;
Ctrl-K P - надрукувати блок;
Ctrl-K H - прибрати виділення блоку.
Питання для повторення:
В якому році з'явилася перша версія мови програмування Pascal?
Якими достоїнствами володіє мова Pascal?
Які клавіші зручно використовувати для швидкого переміщення курсора за програмою з верхнього лівого кута екрану в нижній правий кут? (а якщо навпаки ?)
Що необхідно зробити, щоб скопіювати частину програми?
Чи можна відновити зміни зроблені в тексті програми?
Завдання для самостійної роботи:
Завантажте мову програмування Pascal.
Введення і редагування тексту в редакторі мови Pascal.
Введіть наступний текст:
Даний текст не є програмою.
Введення тексту ми здійснюємо для вивчення
^ ТЕКСТОВОГО РЕДАКТОРА МОВИ PASCAL.
Відредагуйте текст до наступного вигляду:
Даний текст не може є програмою.
Ми вводимо його для вивчення ТЕКСТОВОГО РЕДАКТОРА
мови "Паскаль".
Спеціальні символи мови + - * / = > < [ ] {} ( )‘. : ; ^ @ $ #
Робота з блоком і копіювання.
Скопіюйте останній рядок 10 раз.
(Для копіювання необхідно виконати 3 дії:
Встановити курсор на початок рядка і натискувати Ctrl-K B
Встановити курсор на кінець рядка і натискувати Ctrl-K До
Перекласти курсор на початок нового рядка і натискувати Ctrl-K З)
Виділіть другий абзац і перемістіть його в кінець тексту.
Виділіть весь текст і скопіюйте його 5 разів.
Виділіть перший рядок і видаліть її.
Переміщення по тексту.
Використовуючи клавіші переміщення курсора, перемістіться на сторінку вгору, на сторінку вниз, в початок рядка, в кінець рядка, в початок тексту, в кінець тексту.
Перегляньте, як відрізняється натиснення клавіші PgUp від натиснення клавіш Ctrl-PgUp.
Збереження програми.
Збережіть написаний текст (для цього натискуємо у верхньому меню Файл - зберегти В. У вікні, що з'явилося, указуємо ім'я файлу і натискуємо Enter).
Вийдіть з Pascal. Завантажте його назад. Відкрийте написаний текст (у верхньому меню ^ Файл - Завантажити)
Спробуйте виконати даний текст як програму (у верхньому меню Виконання - Виконати). Комп'ютер зупиниться, буквально на першому символі, вказавши про помилку.
Вивчаємо “Pascal”
Тема уроку:
Мова програмування «ПАСКАЛЬ»
Структура програми.
Мета заняття:
Сформувати перші відомості про структуру програми на мові Pascal;
Навчитися читати напівлогарифмічну форму запису чисел; Познайомитися з різними типами даних;
Вдосконалення уміння будувати програми мовою Паскаль. Виховувати уважність, активність на уроці.
^ 1. Алфавіт мови і дійсні числа
Алфавіт мови складається з букв латинського алфавіту (російський алфавіт використовується тільки для поміток і для завдання літерних величин), арабських цифр, спеціальних символів:
+ - * / = > < [ ] {} ( ) ‘ . : ; ^ @ $ #
Дійсні числа зображаються в природній і напівлогарифмічній формі. Число 234000 записано в природній формі. Ми можемо записати його так 2.34 . 105. Запис даного числа в напівлогарифмічній формі виглядає таким чином: 2.34Е+5.
Знак і число, що стоїть після символу E указують, на скільки знаків управо або вліво необхідно змістити десяткову кому.
Наприклад:
65470 = 6.547Е+4
3.1415 = 3.1415E+0
0.0028 = 2.8E-3
^ 2. Програма на мові «Паскаль»
Програма складається із заголовка і блоку
В заголовок входять: службове слово program і перелік доступних програмі файлів (input output)
Тіло програми (блок) складається з шести розділів:
розділ міток;
розділ констант;
розділ типів;
розділ змінних;
розділ процедур і функцій;
розділ операторів.
Порушувати черговість не можна.
Будь-який з розділів (окрім операторів) може бути відсутній.
Розділ міток
label (службове слово) за яким слідує перелік міток розділений комами
Приклад 3, 11, 48, 2;
^ Розділ опису констант
const (службове слово)
Визначення кожної константи містить ідентифікатор
константи, знак рівності, і значення.
Наприклад: e=2,718281828;
z=’11 Б клас’;
^ Розділ опису типів
tupe (службове слово)
В роботі частіше використовуються стандартні типи даних:
byte – цілий (від 0 до 255)
integer - цілий (від -32768 до 32767)
longint – (від –2147483648 до 2147483647)
real - речовинний (від 2,9Е-39 до 1,7Е+38)
char - символьний (будь-який один символ. Наприклад: f або №)
string - рядковий (будь-який текст від 0 до 255 символів)
boolean - булевий {приймає два значення FALSE (брехня) і TRUE (істина)}
Якщо виникає необхідність в створення своїх типів даних, то це здійснюється в розділі опису типів таким чином:
за ідентифікатором типу записується знак рівності (і через кому перераховуються ті значення, які прийматиме змінна даного типу);
seasans=(spr, or, каn, рак)
Інтервальні типи: можна оголосити новий тип так, що він буде частиною впорядкованого інтервалу
days =1..31
manth=1..12
z=’a’..’w’
^ Розділ опису змінних
var (службове слово)
В даному розділі повинні бути перерахований ті, що всі змінні використовуються в програмі з вказівкою їх типів. Ідентифікатори змінних одного типу можна записувати через кому.
i, kl, l: integer;
а, b: real;
hobidaus: seasans
^ Розділ процедур і функцій
Сам розділ не має службового слова. В розділі може знаходитися декілька процедур або функцій, але кожна процедура починається із слова: Procedure; кожна функція починається словом: Function.
Процедура і функція по своїй структурі подібна програмі.
^ Розділ операторів (обов'язковий)
begin
тіло програми
end.
Питання для повторення:
Чи існують оператори мови Pascal записані російськими буквами?
В якій формі зображаються дійсні числа в Pascal?
З яких частин складається програма на Pascal?
Які розділи можуть входити в блок програми?
Які розділи не є обов'язковими при написанні програми?
Як в тексті програми визначити, що почався розділ міток?
Як в тексті програми визначити, що закінчився розділ констант?
Назвіть стандартні типи даних.
Завдання для самостійної роботи:
Переведіть числа в природну форму запису:
a) 4.09Е+02 б) 7.802Е+01 в) 3.3Е-02
г) 2.97Е-03 д) 5.29Е+00 е) 2.03Е+05
Переведіть числа в напівлогарифмічну форму запису:
a) 234000 б) 0.0045 в) 678
г) 7.302 д) 4090 е) 0.0306
Яке з чисел більше: а) 4.67Е-01 б) 0.0467.
Яке з чисел менше: а) 9.21Е+04 б) 9210
До яких типів можна віднести перераховані нижче дані:
a) 200 б) -17 в) 2305
г) 5.89 д) 56890 е) -56890
ж) -32767 з) -32769 і) 2147483648
к) ( л) 7 м) Привіт
н) 1945год о) -31009 п) byte
Вивчаємо “Pascal”
Тема уроку:
Мова програмування «ПАСКАЛЬ»
Основні математичні функції.
^ Мета заняття:
Познайомитися з арифметичними операціями і основними математичними функціями; Отримати навики запису математичних виразів на мові Pascal;
Ввести в комп'ютер найпростіші програми з використанням оператора writeln;
Вдосконалення уміння будувати програми мовою Паскаль. Виховувати уважність, активність на уроці.
^ 1. Арифметичні операції.
В мові Pascal використовується наступні арифметичні операції:
арифметична операція (а=14, b=4) результат
складання (+) S:=a+b S=18
віднімання (-) S:=a-b S=10
множення (*) S:=a*b S=56
розподіл (/) S:=a / b S=3.5
цілочисельний розподіл S:=a div b S=3
залишок від цілочисельного розподілу S:=a mod b S=2
Немає зведення в ступінь. Якщо ступінь цілий, її замінюють множенням: а3 - S:=a*a*a
Для зведення числа в довільний ступінь використовується наступне співвідношення: xy=e ln(x )=eylnxтодіxy=exр(y*ln(x))
^ 2. Основні математичні функції.
sqr(x) - зведення X в квадрат
sqrt(x) - корінь квадратний з X
abs(x) - модуль від X
int(x) - ціла частина X (результат - дійсне число)
trunc(x) - ціла частина X (результат - ціле число)
round(x) - округляє число X до цілого (результат - ціле число)
frac(x) - дробова частина від X
pi - видає число 3.1415926... (19 знаків після коми)
sin(x) - синус X
cos(x) - косинус X
arctan(x) - арктангенс X
exp(x) - зведення числа е=2.7183 в стерень X (ех)
ln(x) - логорифм числа X
random(x) - вибирається випадкове число від 0 до X-1 (ціле)
random - вибирається випадкове число від 0 до 1 (речовинне)
^ 3. Операції відношення.
= - дорівнює <> - нерівний
< - менше > - більше
<= - менше або рівно
>= - більше або рівно
4. Оператор присвоєння.
Знак := називається оператором привласнення.
Наприклад У:= 5; X:=sqr(Y) + 3
Це означає наступне: змінною У привласнити значення 5, а змінній X привласнити значення 52+3=28.
5. Ідентифікатори.
Ідентифікатори в Pascal - це імена констант, змінних, влучний, об'єктів. Ідентифікатори можуть мати довільну довжину, але значущими є тільки перші 63 символи.
Ідентифікатор завжди починається буквою (або знаком підкреслення), за якою слідують букви і цифри. Пропуски і спеціальні символи алфавіту не можуть входити в ідентифікатор.
^ Оператор виведення інформації.
Для висновку інформації на екран комп'ютера використовується оператор: write( ) або writeln( )
В дужках записуються дані, які необхідно вивести на екран.
Питання для повторення:
Чим відрізняється операція / від операції div?
Чи існує в Pascal операція зведення в ступінь?
Що повинне бути записано зліва від оператора привласнення?
Що може бути записано в правій частині оператора привласнення?
Чи може слово Apple бути змінною?
Що таке змінна?
Що таке ідентифікатор?
Чому знак множення необхідно записувати явно (потрібно писати f*w, а не fw)?
Завдання для самостійної роботи:
Обчисліть усно:
a) а:= 78 mod 5 б) b:=97 div 9 в) з:= 13 mod 7
г) kl:= (50 div 4) mod 5 д) fl:= 82 mod (30 div 7)
Обчисліть усно:
a) z:= sqr(9) б) w:=sqrt(9) в) x:= abs(-7)
г) y1:= int(5.7) д) y2:= trunc(5.7) e) y3:= round(5.7)
ж) до:= frac(5.7) з) sl:= 2+pi і)* pr:= sqr(sqrt(8))
Які із запропо нованих нижче записів є ідентифікаторами, а які ні?
a) uд б) w9 в) 9w г) у(17)
д) alpha e) y#kl ж) _kl з) f_h
и) my prog д) div л) date_27 м) MyNameSerg
Завантажте Pascal. Введіть записану нижче програму в комп'ютер. Перегляньте, які розділи присутні в програмі. Виконайте програму.
program My_prog1;
const
s='Моя перша програма';
Begin
write(s);
End.
Введіть записану нижче програму в комп'ютер. На підставі цього прикладу (дописуючи і видаляючи ln)спробуйте розібратися в чому відмінність між операторами write( ) і writeln( )
program My_prog2;
var
а:integer;
b,c:real;
Begin
а:=-64;
b:=sqrt(abs(a));
з:=int(pi);
writeln('b=',b);
writeln('c=',c);
End.
Напишіть програми для обчислення наступних формул:
а) z=3+x2-3x3 б) d=x (sin x + cos(x2)+ |x|)
в) l = 2 р r г) k=1 + |y-x|3 + |y-x|/(x+1)
Вивчаємо “Pascal”
Тема уроку:
Введення і висновок даних. Формати висновку.
Складання лінійних алгоритмів.
Коментарі в програмі.
Мета заняття:
Навчитися здійснювати введення і висновок даних;
Познайомитися з форматами команд введення і висновку даних;
Самостійно написати декілька простих програм.
Оператори введення і висновку інформації.
Для висновку інформації на екран комп'ютера використовується оператор: - 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.
В записаній вище програмі використані пояснюючі коментарі. Коментарі - це будь-який текст, обрамлений фігурними дужками { і } або символами (* і *).
Питання для повторення:
Яка команда служить для введення даних? Для висновку даних?
Чим відрізняється висновок інформації на екран комп'ютера оператором write( ) від висновку оператором writeln( )?
Як вивести на екран текст?
Чи можна вивести на екран декількох змінних або текстів одним оператором writeln()?
Що означає число 7 в команді writeln(pi:7:5)? А що означає число 5?
Скільки знаків після коми буде виведено при записі команди:
а) writeln(pi:7:5); b) writeln(pi:5:7)?
Які символи використовуються для розміщення коментарів в програмі?
Завдання для самостійної роботи:
Є два числа.
Обчисліть суму і різницю цих чисел, використовуючи двох операторів readln.
Перепишіть програму так, щоб використовувався один оператор readln.
Додайте коментарі до програми.
Є три числа. Обчисліть їх твір.
По заданих сторонах прямокутника а і b обчислите його периметр і площа.
Людині сьогодні виповнилося R літ. Скільки йому днів? Годинника? Хвилин? Секунд? (Високосні роки не враховувати)
Після початку деякого експерименту пройшло t годинника m хвилин і до секунд. Скільки всього секунд триває експеримент?
Задана відстань між містами у верстах. Переведіть цю відстань в кілометри (точність: три знаки після коми) використовуючи дані:
1 верста=500 сажням; 1 сажень=3 аршина; 1 аршин=0.7112 метра
Вивчаємо “Розгалуження в Pascal”
Тема уроку:
Умовний оператор.
Структура умовного оператора.
Мета заняття:
Сформувати поняття про умовного оператора;
Навчитися використовувати повний і неповний умовний оператор;
Отримати навики запису простих умов.
Якщо залежно від первинної умови задачі, повинні виконуватися різні вирази, то ми використовуватимемо умовний оператор. Умовний оператор може бути записаний в повній і неповній формі.
повна форма умовного оператора
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.
Питання для повторення:
Які форми запису оператора if вам відомі?
Поясніть виконання оператора if.
Для чого в задачі 3 5 змінну sum спочатку була обнулено?
Завдання для самостійної роботи:
Задане x. Обчислити у
a) б)
Дано два числа. Знайти менше з них.
Дано три числа. Знайти мінімальне число.
Задано натуральне число а. Чи є воно парним? Вирішіть задачу
а) використовуючи операцію mod;
b) використовуючи функцію int.
Задано натуральне число а. Чи є воно кратним 7?
Задано натуральне число а. Чи закінчується воно на 0?
Дано тризначне число. Чи кратна сума його цифр шести?
Дано ціле число a>9. Чи більше цифра десятків цифри одиниць?
Дано двозначне число. Чи є сума його цифр
а) однозначним числом;
b) двозначним числом.
Задано двухзначное число. Дайте характеристику числа по наступному плану:
сума цифр числа;
число парне (непарне);
число більше (менше) п'ятдесяти;
перша цифра рівна (нерівна) другій цифрі.
Дано два дійсні числа. Зменшити перше число в п'ять разів, якщо воно більше другого за абсолютною величиною.
Задано три числа x, у, z. Обчислити твір тільки негативних чисел з трьох даних.
Задано чотири цілі числа x, у, z, w. Обчислити суму тільки парних чисел з чотирьох заданих.
Дано три числа x, у, z. Обчислити кількість чисел великих 7.
Вивчаємо “Розгалуження в Pascal”
Тема уроку:
Умовний оператор.
Прості і складові умови.
Мета заняття:
Закріпити навики використовування умовного оператора;
Сформувати поняття про складову умову;
Отримати навики запису складових умов.
Умови, які ми дотепер використовували, є простими. Якщо після службового слова 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
Одного знака
Одного знака
Різні знаки
Різні знаки
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))
then writeln('числа одного знаку')
else writeln('числа різних знаків');
End.
Програма стала дійсно коротшою. Але в прикладі 3_6b складова умова складається у свою чергу з двох складових умов. Перегляньте, як розставлені дужки. А чи можна і цю програму зробити більш красивою або більш короткою? Можна. Приведемо нову версію перевірки умови для даної програми:
if a*b>0 then writeln('числа одного знаку')
else writeln('числа різних знаків');
Замініть умову в комп'ютері і переконайтеся, що воно працює вірно.
^ Дано натуральне число. Перевірити, чи є число двозначним, у якого перша цифра рівна останній.
program zadacha3_7;
var а:integer;
Begin
writeln('Введіть натуральне число');
readln(a);
if (а mod 10=a div 10) and (a>9) and (a<=99)
then writeln('является') else writeln('не является');
End.
Питання для повторення:
1. Що таке складова умова?
2. В чому відмінність складової умови від простої?
3. Які союзи використовуються при написанні складової умови?
4. Навіщо в задачі 3_6b використовуються подвійні дужки?
Завдання для самостійної роботи:
Задане x. Обчислити у
a) б)
Задано два числа. Чи є вони обидва великими 20?
Задано два числа. Чи є вони обидва парними?
Задано два числа. Чи є хоча б одне число парним?
Задано два числа. Чи є хоча б одне число позитивним?
Дано двухзначное число. Чи є обидві цифри числа парними?
Дано тризначне число. Чи входить в нього цифра 4?
Перевірити, чи є число тризначним, у якого перша цифра рівна останній.
Визначити, чи є дане ціле число N непарним чотиризначним числом.
Вивести на екран номер четверті, якій належить крапка з координатами (x,y), за умови, що x і у відмінні від 0.
Задані дійсні x і у. Чи належить точка (x, у) заштрихованої частини площини:
Дано натуральне число N (N<100), що визначає вік людини в літах. Дати для цього числа найменування: "рік", "роки", "літ".
Вивчаємо “Розгалуження в Pascal”
Тема уроку:
Операторні дужки.
Складовий оператор.
Мета заняття:
Сформувати поняття про складового оператора;
Отримати навики використовування операторних дужок;
Закріпити знання і уміння по складанню програм на розгалудження.
Операторні дужки
Після службового слова then, або після службового else виконуватиметься тільки один оператор. Якщо необхідно, щоб виконувалося декілька операторів їх потрібно узяти в операторні дужки:
begin
end;
Групу операторів що знаходиться усередині операторних дужок називатимемо складовим оператором. Фактично, всім розділом операторів, усередині операторних дужок, є один складовий оператор.
Для того, щоб при великій кількості операторних дужок, програма була більш читана, end бажано записувати під begin.
Дані дійсні числа x, у (x?y). Менше з цих двох чисел замінити їх сумою, а більше - їх добутком.
program zadacha3_8;
var а,b,sa,sb:longint;
Begin
writeln('Введіть два числа');
readln(а,b);
sa:=a; sb:=b;
if a>b then
begin
b:=sa+sb;
а:=sa*sb;
end
else
begin
а:=sa+sb;
b:=sa*sb;
end;
writeln ('первоначальные числа a=',sa,' b=',sb);
writeln ('полученные числа a=',a,' b=',b);
End.
Скласти програму вирішальну квадратне рівняння вигляду ax2+bx+c=0.
program zadacha3_9;
var а,b,c:integer;
x,d,x1,x2:real;
Begin
writeln('введіть коефіцієнти а,b,c');
readln(а,b,c);
d:=b*b-4*a*c; {обчислення дискримінанта}
if d<0 then writeln('рівняння не має коренів');
if d=0 then
begin
writeln('рівнянн має 1 корінь');
x:=-b/(2*a);
writeln('x= ',x);
end;
if d>0 then
begin
writeln('рівняння має 2 кореня');
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
writeln('x1= ',x1);
writeln('x2= ',x2);
end;
End.
Питання для повторення:
В яких випадках після службових слів then і else потрібно писати begin. end, а в яких ні?
Чим є складовий оператор?
Чому end бажано записувати під begin?
Для чого в задачі 3 8 введені змінні sa, sb?
В якій з наступних структур допущена помилка? Яка?
Завдання для самостійної роботи:
Дані дійсні числа x, у (x?y). Менше з цих двох чисел замінити їх напівсумою, а більше - їх подвоєним твором.
Дано два цілі числа M, N. Якщо M ділиться без остачі на N, то вивести на екран приватне від розподілу, в осоружному випадку - повідомлення "M на N без остачі не ділиться".
Дано три числа. Подвоїти їх, якщо вони впорядковані за збільшенням, інакше негативні замінити їх модулями.
Дано три числа. Подвоїти їх, якщо вони цілі, інакше нецілі замінити їх цілими частинами.
Дано натуральне число n (n 9999). Якщо число чотиризначне, то отримайте і виведіть перевертыш цього числа (3528 > 8253), інакше виведіть відповідь "Число не чотиризначне".
Дано натуральне число n. Якщо воно двухзначное, то впишіть в середину нуль (для 56 > 506), інакше виведіть відповідь "Число не двухзначное".
Дані натуральні числа до, l ( 1 до, l 8). На клітці (до, l) розташована шахова фігура:
кінь b) ферзь
Вивести на екран координати кліток, на які може бути схожою дана фігура, при цьому враховуйте, що не можна виходити за межі дошки.
Вивчаємо “Розгалуження в Pascal”
Тема уроку:
Оператор вибору.
Мета заняття:
Познайомитися із структурою оператора вибору;
Навчитися використовувати оператор вибору;
Вдосконалення уміння будувати програми мовою Паскаль. Виховувати уважність, активність на уроці.
^ Оператор вибору.
Оператор вибору дозволяє вибрати одне з декількох можливих продовжень програми.
Структура оператора вибору така:
case <ключ вибора>
<список вибора>
[else <оператори>]
end;
Розглянемо декілька прикладів:
Вводитися число від 1 до 4, визначаюче пору року. Дати назву цієї пори року (1 - зима, 2 - весна, 3 - літо, 4 - осінь).
program zadacha3_10;
var
n:byte;
Begin
writeln('Введіть номер пори року');
readln(n);
case n
1: writeln('зима');
2: writeln('весна');
3: writeln('літо');
4: writeln('осінь');
else
writeln('неправильно ввели номер пори року');
end;
End.
Складемо програму "КАЛЬКУЛЯТОР", яка після введення двох чисел і одного із знаків +, - * / проведе обчислення, а результат видасть на екран.
program zadacha3_11;
var
а,b,s:real;
sim:char;
Begin
writeln('Введіть два числа');
readln(а,b);
writeln('Введіть знак операції');
readln(sim);
case sim
'+': s:=a+b;
'-': s:=a-b;
'*': s:=a*b;
'/': s:=a/b;
end;
writeln ('результат',a,sim,b,' = ',s);
End.
В даній програмі відсутня частина else і тому, якщо ввести замість даних арифметичних знаків, ввести будь-який символ, то програма працюватиме, але працюватиме невірно.
Питання для повторення:
Скільки рядків може бути записано в списку вибору?
Чи може в операторі вибору бути відсутній частина else?
Сформулюйте, що може бути ключем вибору?
Чи можна оператор вибору замінити умовним оператором if . then?
Скільки операторів if then знадобилося б для вирішення задачі 3 10?
Завдання для самостійної роботи:
Відредагуйте задачу zadacha3_11 так, щоб при введенні довільного символу програма видавала відповідь: "Введена некоректна арифметична операція";
Вводиться число від 1 до 10. Дати назву цього числа (1 - один, 2 - два, 10 - десять);
Вводиться число від 1 до 7, визначаюче день тижня. Дати назву цього дня (1 - понеділок, 2 - вівторок, 7 - неділя);
В спортивних змаганнях Кулька, кіт Матроськін, дядько Федір і листоноша Печкін зайняли відповідно 1, 2, 3 і 4 місця. Скласти програму, яка по номеру місця видає ім'я учасника змагань.
Вводиться число від 1 до 15. Вивести дане число, записане римськими цифрами (I, II, III, IV, V, VI .., XV);
Вводиться число від 1 до 15. Вивести дане число, записане в двійковій системі счислення (1, 10, 11, 100, 101 .., 1111);
Вводиться число від 1 до 12, визначаюче місяць року. Дати назву цього місяця року (1 -Январь, 2 - Лютий .., 12 Грудень);
Вводиться номер місяця. Вивести пору року для цього місяця (1 - зима ..., 3 - весна .., 8 - літо.);
Вводитися номер пори року. Вивести назви місяців для цієї пори року (1 – грудень, січень, лютий . . .);
Вводится число від 1 до 100. Дати назву цього числа (1 - один, 2 - два .., 100 - сто);
Дано натуральне число N (N<20), що визначає суму грошей в рублях. Дати для цього числа найменування: "рубель", "рубля", "рублів";
Дано натуральне число N (N<100), що визначає вік людини в літах. Дати для цього числа найменування: "рік", "роки", "літ";
Вводиться число від 1 до 7, визначаюче день тижня. Вивести розклад уроків у вашому класі цього дня.
Вивчаємо “Розгалуження в Pascal”
Тема уроку:
Умовний оператор.
Оператор вибору.
Практикум по рішення задач на розгалуження.
Мета заняття:
Закріпити навики написання алгоритмів з розгалудженнями;
Здійснити проміжний контроль знань;
Вдосконалення уміння будувати програми мовою Паскаль. Виховувати уважність, активність на уроці.
Завдання для самостійної роботи:
Дані дійсні числа х, у. Отримати:
max(x,y);
min(x,y);
max(x,y) і min(x,y);
Дані дійсні числа х, у, z. Отримати:
max(x,y,z);
min(x,y,z);
Задано натуральне число а. Чи є воно парним?
Задано натуральне число а. Чи є воно кратним 9?
Дано тризначне число. Чи кратна сума його цифр семи?
Дано ціле число a>9. Чи менше цифра десятків цифри одиниць?
Дано тризначне число. Чи є сума його цифр двозначним числом.
Дано три натуральні числа x, у, z. Обчислити кількість чисел менших 50.
Знайти кількість позитивних чисел серед чотирьох заданих чисел а,b,c,d.
Дано два дійсні числа. Зменшити друге число в п'ять разів, якщо воно більше першого по абсолютній величині.
Вводиться назва місяця. Вивести пору року для цього місяця (січень - зима .., березень - весна .., серпень - літо.);
Вводитися пора року. Вивести назви місяців для цієї пори року.
Скласти програму, яка по введеній назві країни Європи виводитиме на екран назву столиці (наприклад, вводимо Греція - од
еще рефераты
Еще работы по разное
Реферат по разное
Рівненська міська рада
17 Сентября 2013
Реферат по разное
Покрокова інструкція для роботодавців щодо розробки та впровадження Політики та Плану підприємства щодо віл
17 Сентября 2013
Реферат по разное
Вектор української національної ідеї та проблема особистості
17 Сентября 2013
Реферат по разное
Девелоперські компанії на ринку нерухомості: Дис канд наук: 08. 00. 08 2009. Анотація до роботи: Актуальність теми
17 Сентября 2013