Цей розділ? для тих, хто хоче самостійно навчитися програмування та тих, хто бажає закріпити свої початкові навички програмування. Тут містяться невеликі приклади програм для початківців, які розкривають основні конструкції мови Паскаль і містять різні алгоритми, що широко використовуються. Крім цього, наводяться стандартні помилки, які роблять учні на початку навчання.
Розділ рекомендується для самонавчання, повторення пройденого матеріалу та як довідник. Школярі можуть використовувати матеріали цього розділу для підготовки до ЄДІ з інформатики.
Початок
Програми
Можливі помилки
- Неописана змінна
- Відсутня;
- Несумісність типів при присвоєнні
- Відсутність закриває апострофа літерального рядка
- Помилки розміщення ком і апострофів при виведенні рядків і виразів
- Помилка введення
- Помилка неініціалізованої змінної
- Поділ на 0
- Корінь із негативного числа
Для початку безпосередньо написання коду програми треба знати її структуру: як правильно записуються команди, в якому порядку.
На першому занятті ви дізнаєтесь:
Для створення програм можна використовувати середовище програмування Pascal ABC.
Структура програми
Програма мовою Паскаль починається з заголовка, що має такий вигляд:
За ним іде розділ описів, в якому повинні бути описані всі ідентифікатори (константи, змінні, типи, процедури, функції, мітки), які будуть використані у програмі.
Після розділу описів іде розділ операторів, який починається зі службового слова begin (початок) і закінчується службовим словом end (Кінець).
У цьому розділі вказуються дії над об'єктами програми, описаними в попередньому розділі. Оператори у цьому розділі відокремлюються один від одного крапкою з комою. Після останнього слова end ставиться крапка.
У розділі описів не обов'язково мають бути всі розділи.
У наших перших програмах буде лише один розділ – розділ Var (variable – змінна), в якому ми оголошуватимемо ті змінні, які будемо використовувати в розділі операторів.
Як написати найпростішу програму
Розглянемо найпростіше завдання з лінійним алгоритмом.
Для запису програми з лінійним алгоритмом нам потрібно описати вхідні та вихідні дані, потрібні процедури для введення та виведення даних та оператор присвоювання.
Завдання. Введіть з клавіатури два числа. Вивести на екран їхній твір.
Пояснення до програми
Ім'я програми example_1.
З розділів описів є лише один – розділ змінних. Він починається зі службового слова var, після якого йде послідовність оголошення змінних, розділених крапкою з комою.
У кожному оголошенні перераховуються через кому імена змінних одного типу, після чого ставиться двокрапка і вказується тип змінних.
У прикладі описані три змінні: всі вони (a, b і rez) мають цілий тип (integer).
Після описової частини йде розділ операторів, що починається зі службового слова begin.
Перший оператор — це writeln('текст'); – Записати (вивести) на екран текст, укладений між апострофами, ln додається в кінці цього оператора для того, щоб курсор автоматично переходив на наступний рядок під час виведення на екран текстів або результатів виконання програми.
Наступний оператор – це readln(a, b); – читати дані з клавіатури.
В даному випадку під час виконання програми необхідно ввести два цілих числа через пропуск, тоді змінною a присвоюється значення, що дорівнює першому введеному числу, а змінної b присвоюється значення, що дорівнює другому введеному числу.
Наприклад, ви ввели числа 12 та 45, тоді a = 12, а b = 45. Наприкінці цього оператора можна також ставити ln.
Наступний оператор – це знову оператор writeln('текст',rez) – він виведе на екран текст, укладений між апострофами, а за ним значення змінної rez.
Потім наступний оператор writeln виведе на екран повідомлення: "Натисніть", а оператор readln буде очікувати цього натискання у вікні виконання.
Завершує розділ операторів end з крапкою.
Виконання програми
Після запуску програми на екрані з'являється повідомлення:
Введіть два цілих числа через пропуск
Коротко про головне
Програма на мові Pascal складається із заголовка, розділу описів та розділу операторів.
Якщо програма містить кілька операторів, вони поділяються знаком точки з комою.
Початок та кінець розділу операторів позначаються ключовими словами begin та end. Після слова end наприкінці тексту програми завжди ставиться точка. Вона означає, що програму закінчено.
Команда виведення на екран — write(текст) і writeln(текст) відрізняються положенням курсору після виконання команди. Команда write('текст') залишає курсор на тому ж рядку, що й текст, а writeln переводить курсор на новий рядок.
Компіляція виконується кнопкою F9. Для виконання програми потрібно натиснути Ctrl+9.
Урок 3. Перша програма в Pascal
Зазвичай вивчення будь-якої мови програмування починається з програми Hello, world! Але ми з вами займемося цим трохи пізніше, тому що зараз я хочу розповісти вам про величини та типи даних у Pascal.
Види величин
Зазвичай вивчення будь-якої мови програмування починається з програми Hello, world! Але ми з вами займемося цим трохи пізніше, тому що зараз я хочу розповісти вам про величини та типи даних у Pascal. Що таке величина? Розмір – це окремий інформаційний об'єкт, що зберігається у пам'яті комп'ютера. Існують дві класифікації величин. Ми розглянемо кожну окремо.
Детальніше ми поговоримо про них у наступних уроках.
У свою чергу числовий поділяється на два типи.
Наводжу відразу позначення цього у Паскаль
Символьні також поділяються на два типи.
Друга класифікація величин. Константа – значення незмінне. Змінна – значення може змінюватися протягом роботи програми. Змінні є символічними іменами, які називаються ідентифікаторами. Як привласнити значення будь-якої змінної? За допомогою команди надання! Команда присвоєння в Паскаль: :=
Перша програма на Pascal
Структура програми у Паскаль
Заголовок
Оголошення змінних та констант
Розділ операторів
Введення та виведення в Паскаль
У вас, напевно, виникає запитання: "Як вводити значення змінних з клавіатури?", а також: "Як вивести на екран отриманий результат?" Для цього використовуються чотири спеціальні оператори:
Для введення:
І для висновку:
«У чому різниця між read і readln, write і writeln?»: знову спантеличтеся ви. Відповідь проста. Якщо додаєте "ln" (що розшифровується, як Line), то курсор переноситься на наступний рядок.
Hello, World на Pascal
Тепер ви готові написати першу програму.
Ну тут усе зрозуміло. Щоб урізноманітнити рішення, пропоную вирішити кілька завдань цього типу.
Завдання 2. Потрібно дізнатися скільки років користувачу, а потім вивести "Вам років". Очевидно, що для вирішення цього завдання нам буде потрібно цілий тип даних – Integer.
Ну, ось і все! Все, що я хотів розповісти вам у сьогоднішньому уроці. наступних уроках. До речі, про PascalABC.Net. тренуватися на комп'ютері. За цим посиланням завантажте останню версію PascalABC.Net для Windows.
Ось як виглядає інтерфейс програми при запуску.
P.S. Давайте виділимо дві особливості Pascal:
Знайомство з Pascal: написання першої програми
Основні теоретичні поняття програмування та середовища розробки. Крім теоретичних понять розглянемо конкретно мову програмування Паскаль. Виконаємо три практичні задачі.
В даний час професія програміста дуже затребувана на ринку праці. У багатьох підприємств практично у всіх сферах діяльності потрібні хороші програмісти.
Але, незважаючи на велику різноманітність мов програмування, вони мають одну основу – фундамент, який можна побачити практично у всіх мовах програмування.Звичайно, різні оператори (команди в програмуванні) у різних мовах програмування пишуться, а іноді й будуються по-різному, але суть і принцип їх використання залишається приблизно однаковим, тому якщо знати основи програмування однією мовою, то вивчивши специфіку іншої мови, використовуючи якусь або літературу, можна писати програми вже на ньому.
Тому, на мій погляд, вивчати основи програмування краще нескладною мовою, знання якої при цьому можуть стати в нагоді для написання більш складних програм об'єктною мовою програмування. Найпростішою і при цьому корисною надалі мовою програмування, на мою скромну думку, є Pascal.
Коротко про мову програмування Pascal
Мова Pascal – це відносно доступна та нескладна мова програмування. Його вивчають часто у школі у старших класах та на перших курсах вищих та середніх навчальних закладах. Ця мова програмування була розроблена Ніклаусом Віртом ще в 70-х роках минулого століття, а названа на честь французького математика Блеза Паскаля. Якщо вам цікаво дізнатися докладніше про історію створення та розвитку даної мови програмування, ви можете знайти цю інформацію в Інтернеті, на тій самій Вікіпедії. А ми не сильно на цьому зупинятимемося.
Наше завдання сьогодні – написати першу власну програму мовою Pascal. Писати ми будемо для першого разу консольні програми. А що ж це таке – консольний додаток?
Ми звикли, що коли ми заходимо в будь-яку програму, перед нами з'являється вікно, в якому є області для введення інформації, її виведення, якісь красиво оформлені таблички, кнопочки та багато іншого. Той самий звичний нам MS Office Word.Консольне ж додаток, якщо говорити простими словами, є вікном, в якому просто написані літери або цифри на одноколірному тлі, найчастіше на чорному. Якщо ви бачили хоч раз у своєму житті командний рядок у Windows або операційну систему DOS, ви уявляєте собі, що таке консоль. Але, як кажуть, краще один раз побачити, ніж сто разів почути. Надалі ви побачите, як це виглядає.
Отже, що нам знадобиться, щоби написати свою першу програму? Звичайно, комп'ютер, клавіатура, миша (але можна насправді і без неї), трохи бажання і часу, та й середовище розробки. Останнє словосполучення, мабуть, для більшості видасться незнайомим. Давайте з'ясовувати, що це за звір такий – середовище розробки. Це програмний комплекс, який використовується розробником для написання програм конкретною мовою програмування. Простим мовою – це програма написання програм. Вона, найчастіше, включає такі компоненти:
Я думаю, що, подивившись на ці визначення, ви тепер розумієте, чому середовище розробки – це не просто програма для написання програм, а програмний комплекс.
Знайомство з середовищем PASCALABC.NET та написання першої програми
Після ознайомлення з мінімальним набором теоретичних знань, необхідних для розуміння того, що відбуватиметься далі, перейдемо до найцікавішого – практичної частини.
Спочатку необхідно встановити на свій комп'ютер середу розробки. На просторах Інтернету можна знайти різні варіації середовищ розробки, але я працюватиму з середовищем розробки PASCAL ABC.NET. Це середовище можна знайти в Інтернеті.Я б рекомендував вам використовувати саме її, тому що в порівнянні, наприклад, з Turbo Pascal – у цьому середовищі є можливість копіювання та вставки тексту, а також підтримується російська мова.
Після того, як ви завантажите та встановите середовище розробки перед вами має з'явитися приблизно таке вікно, яке зображене на малюнку 1. Місце, в якому моргає курсор – це той самий редактор коду, в який ми і будемо вписувати команди для виконання. У вікні виводу, яке знаходиться нижче, ви бачитимете результат виконання програми, а також помилки, які можуть виникати в процесі виконання програми. Ну що ж, приступимо до процесу програмування.
Рис.1. Середовище розробки
Для початку давайте придумаємо назву нашої програми. Я не буду довго думати і назву її просто – «перша програма». Але називати програму можна лише англійською мовою, тому що це не просто ім'я програми, а шматочок коду, а весь код пишеться лише англійською мовою. Тому я її називатиму «first_program». Зверніть увагу, що замість пропуску я написав нижнє підкреслення, оскільки Pascal розуміє пропуск як закінчення команди. Тепер нам потрібно пояснити мові, що first_program – це назва нашої програми, а не щось інше (ви, до речі, можете придумати своє ім'я для вашої першої програми). Для цього нам потрібно використовувати команду (або по-науковому оператору) Program. Ця команда говорить комп'ютеру, що через пробіл буде вказано назву програми. Отже, перший рядок коду у нас виглядатиме так:
Зверніть увагу, що наприкінці ми поставили крапку з комою. Для Паскаля це як точка для людини, кінець речення, закінчення команди.Називати програму не обов'язково, це просто хороший тон у програмуванні, та й вам зручніше буде потім орієнтуватися, що це за програма.
Тепер давайте виведемо текст: «Я написав першу програму! Ура!».
Переходимо на наступний рядок. Тепер нам потрібно оголосити змінну, яка буде зберігати в собі нашу пропозицію. Змінна у будь-якій мові програмування – це як банка, де щось зберігається, саме дані. Якщо говорити по-розумному, це виділена область пам'яті для зберігання однотипних даних, хоча є змінні, які можуть зберігати і не типізовані дані, але зараз не про них.
Отже, залежно від того, які дані зберігатимуться у змінній, їй надається тип, щоб комп'ютер знав, з чим йому доведеться працювати. Сьогодні розглядатимемо три типи даних:
Цілі числа – Це числа для рахунку, без коми. Речові числа, Хоча це не зовсім так, але все-таки – це числа з плаваючою точкою, наприклад – 3.1, 5.2 і так далі. Рядковий тип даних – це саме те, що нам потрібне. У рядковій змінній зберігаються будь-які символи: літери, цифри, знаки… За оголошення змінних відповідає ключове слово var. Конструкція виглядає так:
У нашому випадку це буде виглядати так:
Після оголошення змінної почнемо писати основний код програми. Він записується в так званих операторних дужках (begin і end). Це означає, що починається основний код програми з ключового слова begin, а закінчується ключовим словом end. Наприкінці програми після останнього ключового слова end ставиться крапка (після слова begin точка з комою не ставиться).
Отже, після оголошення змінних на наступному рядку пишемо слово begin і переходимо на наступний рядок. Почнемо писати текст програми.Спершу до оголошеної змінної s (можна було назвати і по-іншому) треба занести нашу пропозицію «Я написав першу програму! Ура!», яку ми хочемо вивести. Поки що в нашій змінній (баночці) нічого немає. Щоб її заповнити – їй потрібно надати якесь значення. Процес, при якому ми поміщаємо в нашу банку (змінну) будь-якого значення (у нашому випадку ця пропозиція), називається присвоєння та позначається таким символом (:=) – двокрапка і одно. Виглядає це так:
Текст, який ми вводимо в рядкову змінну, записується в одинарних лапках. Тепер комп'ютер знає, що у баночці (змінній) під ім'ям s зберігається набір символів – наша пропозиція. Тепер нам потрібно вивести вміст змінної на екран. Для цього у мові Паскаль передбачені оператори (команди) write і writeln. Перша команда виводить на екран вміст змінної або текст, а друга робить те саме, тільки з переходом на інший рядок, тобто починає виводити значення з нового рядка. Запишемо це:
Наприкінці ставимо крапку і перевіряємо, чи все правильно у нас написано. У результаті має вийти наступний код:
Мал. 2. Результат роботи програми
Ну що ж, вітаю! Ви написали першу справжню програму мовою Паскаль. На перший погляд може здатися, що це якась нісенітниця, а не програма, але насправді всі ці знання ви використовуватимете при написанні прикладних програм вищого рівня. До речі, цю програму можна записати коротше. Пам'ятайте, я говорив, що оператор виведення write виводить записаний у дужках текст або значення змінної. Тому ми можемо не оголошувати змінну, а одразу записати текст у дужках. У результаті вийде такий код:
Одну програму можна записати декількома способами, і якщо програма ускладнюється, те й способів написання стає дедалі більше, тому в кожного програміста формується свій стиль написання коду, і часом вчителі дізнаються, хто написав програму за стилем свого учня.
Давайте тепер трохи ускладнимо завдання. Багато хто знає, що програмування тісно пов'язане з математикою, оскільки більшість програм виконують різні операції. Спробуємо написати таку програму: "два числа вводяться з клавіатури, вони складаються, і програма виводить результат – суму введених з клавіатури чисел".
Спочатку напишемо програму для цілих чисел – чисел, що використовуються при рахунку (число 2 – ціле число в програмуванні, тип даних Integer, а 2.3 – число з плаваючою точкою, тип даних real). При додаванні двох цілих чисел виходить ціле число, значить і вхідні числа, і результат будуть типу даних Integer.
Для початку до нашої оголошеної змінної додамо ще три, назвемо їх: celoe1 для першого числа, celoe2 для другого числа та celoe3 для зберігання результату додавання двох чисел. Отримаємо баночки (змінні), у яких зберігаються цілі числа. Змінена частина програми виглядатиме так:
Тепер переходимо до зміни тіла програми (коду, що знаходиться між begin і end). Для початку слід ініціалізувати введення з клавіатури двох чисел. Спочатку виведемо підказку: введіть перше число. Для виведення тексту у нас, як ви пам'ятаєте, використовується оператор (команда) write(), але нам потрібно виводити кожну підказку з нового рядка, тому будемо використовувати оператор writeln(). Отримаємо наступний код:
Тепер під час запуску програми на дисплей монітора буде виведено прохання ввести перше число. Далі необхідно організувати введення з клавіатури.Потрібно, щоб при натисканні на цифру на клавіатурі змінну заносилося значення, рівне числу, зображеному на клавіатурі. Для цього в мові Паскаль було вигадано оператора read() і readln(). У першому випадку оператор надає введене з клавіатури значення змінної (введення значення закінчується натисканням на клавішу Enter), записаної в дужках і залишає курсор відразу після введеного числа, а в другому випадку переводить курсор на новий рядок.
Після першої підказки на новому рядку пишемо:
Повторюємо таку операцію для другого числа – пишемо підказку про введення другого числа та організуємо введення другого числа. Тепер у нас є дві змінні або як ми їх називаємо дві баночки, у кожній з яких перебуває загалом. Щоб отримати їхню суму, ми повинні їх скласти і покласти в третю баночку (змінну). Так і запишемо:
Виведемо результат. Для виведення тексту або змісту змінної у нас використовується оператор write() і writeln(). Для краси виведемо результат на новому рядку. Для цього будемо використовувати writeln(). Отримаємо:
Зауважимо, що ми виводимо і текст, і значення змінної. Це зроблено для того, щоб не писати вкотре оператор виведення. Якщо потрібно вивести кілька операндів (значення оператора, наприклад, змінна celoe3) відразу, то можна записувати їх у дужки в потрібному порядку, розділяючи між собою комою. У результаті має вийти наступний код:
Якщо ви все зробили правильно, програма повинна видати результат, зображений на малюнку 3.
Мал. 3. Додавання двох чисел
Ну що ж, складність написаних програм зростає, а значить, процес вивчення мови програмування Паскаль невблаганно йде вперед.Остання задача, яку ми розглянемо в даній статті – це змінимо нашу програму, щоб замість додавання двох чисел відбувалося їхнє поділ, а потім множення на 3.
На перший погляд треба поміняти лише формулу для розрахунку, але треба згадати, що не всі числа будуть ділитися націло, може залишатися залишок і число буде вже не ціле, а з десятковим дробом, а це означає, що тип даних Integer нам уже не підійде. Потрібно використовувати тип даних Real. При цьому уявімо, що нам невідомо, яке число буде введено з клавіатури – ціле або дробове, тому і для введених з клавіатури чисел ми будемо використовувати тип даних Real. Перепишемо рядок, де оголошували цілі числа. Назвемо наші речові змінні v1, v2 та rez. Тоді отримаємо:
Переходимо у тіло програми. Підказки про введення першого та другого числа ми залишаємо як є, а ось в операторі введення read змінюємо назву змінних на v1 та v2. Тепер замість формули додавання напишемо іншу формулу:
Звертаю вашу увагу, що ми множимо на три результати поділу першого числа на другого, тому ми записали поділ у дужках (згадуємо правила черговості операцій з числами в математиці). Давайте змінимо ще й виведення інформації, що вийшла на екран, виведемо все в красивому вигляді. Для цього використовуватимемо виведення кількох операндів у зручному для нас порядку через кому, про який ми говорили вище. Спочатку виведемо знак відкритої дужки, потім виведемо значення першої змінної, потім виведемо символ знака поділу, після цього значення другої змінної, потім символи ") * 3 = "і, нарешті, значення змінної з результатом. Звучить складно, але спробуйте вникнути в це:
Після внесення всіх змін у вас має вийти наступний код програми:
Ну що ж, запускаємо програму та отримуємо результат (я ввів перше число = 8.2, друге число = 2), зображений на малюнку 4.
Мал. 4. Числа з дробом
Давайте підіб'ємо підсумок. Сьогодні ви познайомилися з мовою програмування Паскаль, дізналися що таке середовище програмування та познайомилися із середовищем PascalABC.NET, отримали деякі теоретичні знання про невелику частину складу мови програмування Паскаль, а також написали свою першу програму та познайомилися з трьома типами даних.
Докладайте зусиль, заповнюйте свій час правильно, вивчаючи нове і, можливо, ви станете гарним програмістом із дуже гідною зарплатою. Рухайтеся вперед до успіху та займайтеся тим, що приносить не лише гроші, а й задоволення. Один філософ сказав, що якщо ти займатимешся тим, що подобається, то працювати в житті тобі не доведеться!