Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Посібник паскаль.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
3.39 Mб
Скачать

Приклади

Правила використання виразів:

1. Вираз записується в один рядок. Наприклад, вираз:

мовою Паскаль має бути записаний так:

(a*x+b*sqr(x)+c*sqr(x)*x)/(14*x-x).

2. У виразах використовуються тільки круглі дужки, причому кіль­кість дужок, що відкриваються, повинна відповідати кількості дужок, що закриваються.

З. Не можна записувати підряд два знаки арифметичних операцій.

Обчислення виконуються зліва направо відповідно пріорітету операцій:

  1. операція обчислення функцій;

  2. Операції піднесення до степення;

  3. операції множення, ділення, mod і div;

  4. операції додавання і віднімання.

Правила написання Pascal-програм

1. Основний текст будь-якої програми починається службовим словом begin і закінчується словом end, після чого слідує крапка. Без крапки програма вважається не закінченою. І навпаки, якщо в програмі знаходиться крапка, то всі команди, що слідують за нею ігноруються (оскільки програма завершена).

2. В кінці кожної команди ставиться крапка з комою (“;”) - символ, що розділяє команди між собою.

3. Після команди, яка знаходиться перед end, крапку з комою (“;”) бажано не встановлювати, оскільки буде вважатись, що перед end є ще один порожній оператор.

4. Команди в Pascal можна записувати в один рядок, хоча для полегшення читабельності програми бажано кожну команду вказувати з нового рядка.

5. Якщо користувач бажає помістити в текст програми коментарі, то їх необхідно вказувати у фігурних дужках (замість фігурних дужок можна вказувати альтернативний набір символів - “(* ,,, *)” ).

6. При вказанні в програмі виразів, що містять будь-які дужки потрібно пам’ятати, що кількість закритих та відкритих дужок повинна бути однаковою.

7. Якщо потрібно використати декілька операторів у якості одного складеного оператора, то їх слід взяти в операторні дужки, що починаються словом begin і закінчуються end. При цьому кількість слів begin у програмі повинна співпадати з кількістю слів end.

8. Усі змінні, константи та типи даних, що використовуються в програмі, повинні бути описані в розділах const, type та var.

Необов'язково (або "Правила хорошого тону")

1. Після команди begin всі наступні команди, аж до відповідного йому end, бажано записувати з відступом (наприклад, на величину слова begin).

2. Назви всіх команд бажано записувати малими літерами, а змінні - великими.

§ 9 Лінійна структура

Лінійна структура передбачає, що тіло програми являє собою послідовність операторів, що виконуються підряд один за одним.

Лінійні алгоритми (інша назва – прості) – це алгоритми, що складаються з команд присвоєння, введення-виведення даних та викликів процедур

Ну ось і все, тепер можна переходити до написання нашої першої програми.

Задача №1. Якщо на одну шальку терезів посадити Вінні Пуха, яки важить, n кілограмів, і П’ятачка, який важить на 10 кілограмів менше, а на іншу поставити глечик з медом, що важить m кілограмів, що набагато більше за вагу обох друзів, то скільки кілограмів меду доведеться з’їсти героям, що шальки терезів вирівнялися?

Математичний розв’язок. Хай вага Вінні Пуха n кілограмів, тоді вага П’ятачка буде n-10, разом вага друзів зіставить s=n+n-10. Щоб терези були в рівновазі друзям потрібно з’їсти стільки меду, скільки становить різниця між їхньою вагою і вагою глечика, тобто a(кількість потрібного для рівноваги меду)=m-s.

Що ж, як бачите, задача досить легка тепер подивимося на текст програми, яка знайде розв’язок цієї задачі.

Program zadacha1; Var n, m, a, s : byte; Begin Writeln(‘Введіть вагу Вінні Пуха в кг’); Readln(n); Writeln(‘Введіть вагу горшіка з медом в кг’); Readln(m); s:=n+n-10; a:=m-s; Writeln(‘Доведеться з’їсти:’,a:1:1); Readln; End.

Розбір програми: 1. Назва програми zadacha1; 2. Визначаємо кількість змінних та їх тип; 3. Починаємо програму; 4. Виводимо на монітор запитання провагу Вінні Пуха; 5. Зчитуємо введене значення з клавіатури і записуємо в змінну n; 6. Виводимо на монітор запитання провагу горшіку з медом; 7. Зчитуємо введене значення з клавіатури і записуємо в змінну m; 8. вираховуємо вагу друзів та записуємо її в змінну s; 9. вираховуємо різницю ваги між друзями та горшіком та записуємо її в змінну a; 10. Виводимо на монітор кількість меду, яку необхідно з’їсти, щоб вирівняти терези; 11. Затримуємо подальше виконання програми, для перегляду результату; 12. Кінець програми.

Задача №2. Невдаха Сашко сів виконувати домашнє завдання і просидів за столом 2 години. З них Х хвилин він чухав потилицю і дивився у вікно, У хвилин шукав у письмовому столі гумку, щоб стерти у підручнику з англійської мови карикатуру на свого товариша, на малювання якої він витратив перед цим К хвилин. Весь останій час Сашко перекладав англійскі слова. Скільки слів він встиг перекласти, якщо на перекладення одного слова у ньго йшло 5 хвилин.

Математичний розв’язок. Хай Сашко чухав потилицю x хвилин, шукав гумку У хвилин, на малювання карикатури товариша він витратив k хвилин, тоді всього він витратив годин: T := 2*60-x-y-k; щоб визначити скільки Сашко переклав слів, треба весь витрачений ним час поділити на 5 (ця операція повинна виконатись націло). Отже маємо слідуючу прогщраму:

Program zadacha2; Var x, y, T, k : byte; Begin Writeln(‘Введіть скільки хв Сашко чухав вуха’); Readln(x); Writeln(‘Введіть скільки хв Сашко шукав гумку’); Readln(y); Writeln(‘Введіть скільки хв Сашко витратив на малювання карикатури:’); Readln(k); T := 2*60; T := T-x-y-k; T := T div 5; Writeln(‘Кількість слів, що переклав Сашко: Т = ‘,T ); Readln; End.

Розбір програми: 1. Назва програми zadacha2; 2. Визначаємо кількість змінних та їх тип; 3. Починаємо програму; 4. Виводимо на монітор 1-ше запитання; 5. Зчитуємо введене значення з клавіатури і записуємо в змінну х; 6. Виводимо на монітор 2-ге запитання; 7. Зчитуємо введене значення з клавіатури і записуємо в змінну у; 8. Виводимо на монітор 3-е запитання; 9. Зчитуємо введене значення з клавіатури і записуємо в змінну к; 10. Переводимо 2 години у хвилини і записуємо результат в змінну Т; 11. Вираховуємо час який Сашко дійсно витратив на уроки, при чтому результат записуємо в Змінну Т, а в самому виразі використовуємо її попередній зміст; 12. Вираховуємо кількість слів яку переклав Сашко, для цього фактичний час розділимо на час, що виділяється для перекладу одного слова. Команда Div означає що ділення буде цілочисленим, без залишку; 13. Виводимо на монітор кількість слів, яку Переклав Сашко; 14. Затримуємо подальше виконання програми, для перегляду результату; 15. Кінець програми.

Тепер спробуйте написати розв’язки цих задач самостійно, і по можливості не підглядаючи на зразки. Вийшло? Впевнений, що все отрималося як найкраще. Ну а тепер наступний крок: пропоную декілька задач для закріплення матеріалу. Розв’яжіть їх самостійно а потім порівняйте з рішеням яке отримав я. Можливо ви зовсім по іншому розв’яжете поставлені задачі, але результат повинен отримуватися той самий.

Якщо виникнуть якісь запитання, або ви знайдете помилки, які я можливо допустив(іноді я буваю дуже неуважний) напишіть мені. Буду дуже радий вашим листам.

Задача №3 Петрусь задумав число. На запитання друзів він сказав: якщо подвоїти число, а потім додати до нього 5, то отримається число n. Напишіть програму яка визначить, яке ж число задумав Петрусь?

Задача №4 На бульдозі Жорику сидить х бліх, а на вівчарці Ладі – у. Після того, як вівчарка і бульдог зустрілися і поговорили, 12 Жорикових бліх перейшли до Лади, а 17 Ладиних – на Жорика. Скільки бліх тепер сидить на Ладі, а скільки на Жорику?