Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Program polynomial;






var х: Real;

Begin

Write(введіть х: ');

ReadLn(x);

Write (x*x*x*x*x+7*x*x*x*x-18*x*x*x+9*x*x–x + 8);

End.

У цій програмі для обчислення значення багаточлена використовується 16 арифметичних операцій, причому велику частину з них складають повільні операції множення. Запишемо вираз по-іншому:

x5 +7 x4 - 18xз+9x2-x+8=

x (x (x (x (x + 7) - 18) + 9) - 1) + 8.

Після перетворення кількість операцій зменшилося до 9, тобто той же результат ми одержимо швидше:

Program polynomial_fast;

var x: Real;

Begin

Write (введіть x: *);

ReadLn(x);

Write(x * (x * (x * (x * (x + 7) - 18) + 9) - 1) +8);

End.

Цей метод обчислення значення багаточлена називається схемою Горнера.


Вбудовані функції.

Крім згаданих функцій Round і Trunc у Паскале існує цілий ряд інших убудованих функцій. Далі приводяться найбільш розповсюджені з них.

Таблиця 1.3. Вбудовані функції

Функція Тип аргументу х Результат
Sqr(x) Real або Integer квадрат х
Sqrt(x)   Real або Integer   корінь квадратний з х  
Abs(x)   Real або Integer   модуль х  
Sin(x)   Real або Integer   синус х  
Cos(x) Real або Integer косинус х
Pred(x) Real або Integer наступне ціле після х
Succ(x)   Integer   попереднє ціле до х  

 

Слід особливо зазначити, що кожна функція повертає значення визначеного типу:

Sin(x), Cos(x), Sqrt(x) —дійсного;

Pred(x), Succ(x) — цілого;

Sqr(x), Abs(x) — того ж типу, що й аргумент.

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

Підсумок

Ну от, читач, ми підготувалися до подорожі. Наші програми навчилися не тільки виконувати прості дії, вони «заговорили», навчилися нас уважно слухати, вивчили математику. Ми повчили перший урок мови, яким володіємо «зі словником», але і це вже непогано. У нашім розпорядженні такий могутній інструмент, як інтегрована середовище Турбо Паскаля. Перш ніж рухатися в шлях, зупинися і подумай над приведеними тут задачами (рішення деяких з них має на увазі написання відповідної програми).

 

Задача 1. Вивести на екран слово «світ». Букви цього слова повинні складатися із символів «*», висота кожної букви — 10 символів.

Задача 2. Вивести в центрі екрана квадрат зі стороною 5 символів, використовуючи символ «#».

Задача 3. Поміняти місцями значення змінних а і b, не використовуючи додаткову перемінну.

Задача 4. Дано чотиризначне число х = abсd. Одержати число, записане тими ж цифрами в зворотному порядку (у = dcbа).

Задача 5. Дано тризначне число х = abc. Знайти суму квадратів його цифр.

Задача 6. Визначити тип результату у виразх:

2+7*3/ 1;

2-7*2.1;

(3 - 3) / 1.

Задача 7. Обчислити значення виражень:

Trunc(-2/7);

2 - Round(3 + 0.48);

3 * Trunc(1 - 2.8).

Задача 8. По номері квартири визначити номер під'їзду і поверх. Квартира знаходиться в п'ятиповерховому будинку, на кожному поверсі по чотирьох квартири.


У пошуках істини і... неправди. Оператори.

 

Перша зупинка в нашій подорожі — Англія, Лондон, Бейкер-стрит, будинок знаменитого сищика Шерлока Холмса. Увійдемо з дозволу хазяїна, присядемо в каміна і послухаємо його діалог з доктором Ватсоном у розповіді Артура Конан-Дойля «Строката стрічка»:

«...Так що ж ви про все це думаєте, Ватсон? — запитав Шерлок Холмс, відкидаючись на спинку крісла.

— По-моєму, це найвищою мірою темна і брудна справа.

— Досить брудне і досить темне.

— Але якщо наша гостя права, затверджуючи, що стать і стіни в кімнаті міцні, так що через двер, вікна і коминкову трубу неможливо туди проникнути, виходить, її сестра в хвилину своєї таємничої смерті була зовсім одна...

— У такому випадку, що означають ці нічні свисти і дивні слова умираючий?

— Уявити собі не можу.

Якщо зіставити факти: нічні свисти, цигани, з якими в цього старого доктора такі близькі відносини, натяки умираючої на якусь стрічку і, нарешті, той факт, що мисс Элен Стоунер чула металевий брязкіт, що міг видавати залізний засув від ставні... Якщо згадати до того ж, що доктор зацікавлений у запобіганні заміжжя своєї пасербиці, — я думаю, що ми напали на вірні сліди, що допоможуть нам розгадати цю таємничу подію.

—- Але тоді при чому тут цигани?

— Поняття не маю...»

Зверніть увагу на виділене курсивом слово якщо, що кілька разів використовує Шерлок Холмс у своїх міркуваннях про зроблений злочин. Уживання цього слова має глибокий сенс — у ситуації невизначеності воно дозволяє направити хід міркувань по одному з декількох можливих шляхів. Слово якщо або пари якщо... те є незмінними супутниками логічних міркувань. Бути може, мистецтво вживання цих слів і складає секрет геніальності Шерлока Холмса? У програмуванні при створенні «розумних» і що вміють міркувати програм теж неможливо обійтися без якщо... те. Ця конструкція в Паскале (та й у багатьох інших мовах програмування) записується по-англійському if... then... і називається умовним оператором. Чому умовним? Просто тому, що після if випливає умова, що може виконуватися, а може і не виконуватися — заздалегідь це невідомо.

Умовний оператор

Процедури введення і виводу, а також оператор присвоювання дозволяють писати тільки лінійні програми, у яких усі команди виконуються послідовно, одна за іншою. Але дуже часто виникає необхідність виконувати різні команди в залежності від виконання якоїсь умови (наприклад, треба знайти найбільше з двох чисел і вивести це значення на екран). Для таких цілей у Паскале введений умовний оператор:

if умова then оператор_1 else оператор_2;

Працює цей оператор так — спочатку перевіряється умову, і, якщо воно вірно, виконується оператор_1, у противному випадку виконується оператор_2.

У найпростіших випадках умова — це математичне порівняння двох виражень по величині (відношення двох величин). Відношення можна записати за допомогою наступних знаків:

Знак Відношення
= дорівнює
<   менше  
< =   менше або дорівнює  
>   більше  
> =   більше або дорівнює  
< >   не дорівнює  

Приклади:

2 > = 5

а + 2 * b < 9

а < > c

Як оператор_1 і оператор_2 може виступати кожний з відомих вам операторів, у тому числі і ще один умовний оператор (таких вкладених умовних операторів може бути скільки завгодно).

Більше, менше...

Як приклад використання умовного оператора розглянемо задачу про перебування найбільшого з двох чисел. Програма повинна виконати наступні дії:

· ввести з клавіатури два числа (нехай це будуть цілі числа);

· порівняти два значення;

· вивести на екран найбільше з них.

Текст програми:

program greatest_num;

var a, b, first_number, second_number: Integer;

Begin

Write(‘Введіть два цілих числа а і b: ');


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.009 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал