Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
21-60.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
270.43 Кб
Скачать

40)Вибір з двох альтернатив (Вказівка розгалуження). Вкладеність конструкцій розгалуження. Логічні операції.

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

Виконання умовного оператора починається з обчислення значення булевого виразу <умова>. Якщо цей вираз є істинним, то виконується <оператор1> і керування передається наступному за умовним оператору (<оператор2> пропускається). Якщо вираз <умова> є хибним, то <оператор1> пропускається, а виконується лише <оператор2> і на цьому дія умовного оператора вважається завершеною.

41) Загальні відомості про сортування. Сортування методом вибору.

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

Відомо багато методів сортування масиву, що відрізняються швидкодією й обсягом оперативної пам'яті, яка при цьому використовується. Серед цих методів можна вирізнити методи внутрішнього та зовнішнього сортування. Методи внутрішнього сортування не передбачають використання допоміжних масивів. Ці методи застосовують до масивів, що повністю розташовані в оперативній пам'яті. Методи зовнішнього сортування застосовують до великих масивів даних, які зберігаються на зовнішніх носіях. У цьому розділі розглянемо методи внутрішнього сортування масиву, обмежуючись задачею сортування за зростанням. Методи внутрішнього сортування прийнято поділяти на дві групи: елементарні (прямі) та удосконалені методи.

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

Сортування вибором

Алгоритм працює таким чином:

1.Знаходить у списку найменше значення

2.Міняє його місцями із першим значеннями у списку

3.Повторює два попередніх кроки, доки список не завершиться (починаючи з другої позиції)

Фактично, таким чином ми поділили список на дві частини: перша (ліва) — повністю відсортована, а друга (права) — ні.

Ось приклад сортування масиву з п'яти елементів за даним алгоритмом:

64 25 12 22 11

11 25 12 22 64

11 12 25 22 64

  1. 2 22 25 64

42)Вказівки присвоєння, введення та виведення. Форматоване виведення. Арифметичні вирази та стандартні функції.

Введення даних - це передача інформації від зовнішнього носія в оперативну пам'ять для обробки.

Виведення - це зворотній процес, коли дані передаються після обробки з оперативної пам'яті на зовнішній носій. У мові Паскаль стандартним засобом спілкування людини з ЕОМ є консоль, що складається з таких пристроїв, як клавіатура та екран монітора.

Процедура читання Read забезпечує введення числових даних, символів, рядків і т.д. для наступної їхньої обробки.

Формат введення:

Read (x1,x2,...xn);

де x1, x2,... xn - змінні допустимих типів даних,

Значення x1, x2,...xn набираються мінімум через один проміжок на клавіатурі, при цьому вони відображаються на екрані для контролю правильності введення. Після набору даних однієї процедури Read натискається клавіша . Значення введених даних повинні строго відповідати типам цих даних, інакше компілятор виводить на екран повідомлення про помилку.

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

Процедура читання Readln аналогічна процедурі Read, єдина відзнака полягає в тому, що після зчитування останнього в списку значення для однієї процедури Readln дані для наступної процедури Readln будуть зчитуватися з початку нового рядка.

Процедура запису Write робить виведення числових даних, символів, рядків і булівських значень на екран монітору.

Формат виведення:

write (Y1, Y2,... Yn) - виведення на монітор;

де Y1, Y2,... Yn - дані, що виводяться,

Процедура запису Writeln аналогічна процедурі Write, але після виведення останнього в списку значення для поточної процедури Writeln відбувається переміщення курсору до початку наступного рядка.

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

Приклад:

Writeln('Y1=',Y1)

У процедурах виведення Write і Writeln є можливість запису виразу, що визначає ширину поля для виведення. У прикладах, що подаються далі, використовуються наступні умовні позначення:

І - ідентифікатор, що визначає ціле число,

R - ідентифікатор, що визначає дійсне число,

р,q - цілі константи, що визначають довжину поля виведення та кількість цифр після десяткової крапки.

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

Для величин дійсних типів даних можна додати ще одну двокрапку з цілим числом, зазначивши тим самим кількість знаків після коми пыд час виведення. Якщо величина при цьому має більше значущих знаків, то вона округлиться за правилами математики.

Стандартні функції

Більшість інших операцій по обробці величин виконують стандартні функції. Функція має ім'я (ідентифікатор), за яким вказано один чи більше аргументів. При зверненні до функції викликається готова вбудована в транслятор програма обробки, якій, в якості вхідних величин, передаються аргументи функції. Результат повертається в головну програму через ім'я функції.

Ось список основних функцій:

abs(x) — абсолютна величина (модуль) х. Аргумент х — цілий або дійсний. Результат — відповідно цілий або дійсний.

sqr(x) — число в квадраті. Аргумент х — цілий або дійсний. Результат — відповідно цілий або дійсний.

sqrt(x) - обчислення кореня квадратного. Аргумент і результат – дійсні; х>=0

trunc(x) — відкидає дробову частину х. Аргумент — дійсний, результат — цілий.

Якщо y := trunc (3.5) то значення змінної y буде дорівнювати 3.

round(x) — округлення х до найближчого цілого. Аргумент — дійсний, результат — цілий.

Якщо y := round (3.5) то значення змінної y буде дорівнювати 4 .

pred(x) — якщо х — ціле, дає попереднє ціле число, якщо х — символ, дає попередній символ, якщо х — нижня границя діапазону, то результат не визначено; х не повинний бути REAL.

Якщо y := pred (3) то значення змінної y буде дорівнювати 2 .

succ(x) — аналогічно дає наступне значення; якщо х — верхня межа, результат не визначено; х не повинний бути REAL.

Якщо y := succ (3) то значення змінної y буде дорівнювати 4 .

sin(x) - x — в радіанах, результат — дійсне число.

cos(x) - x — в радіанах, результат — дійсне число.

arctan(x) - х — дійсне, результат — значення в радіанах.

ln(х) - натуральний логарифм, х>0 , х і результат — дійсні.

ехр(х) — e в степені х. Експонента х — дійсне.

Для піднесення х до будь-якого степеня у (х ^ у) можна користуватися формулою:

x ^ у = ехр(у * ln(х))

ord(x) — дає код символьної величини х.

Приклад:

ord(‘B') = 66

chr(x) - дає символ, код якого дорівнює цілому х.

Приклад:

chr(66)=B

Вирази

Вирази складаються з операцій, припустимих для величин, що використовуються. Послідовність виконання операцій така:

1) операції в круглих дужках;

2) функції;

3) not;

4) *, /, div, mod, and (операції типу множення);

5) +, -, or (операції типу додавання);

6) =, > , <, <=, >= (операції типу відношення).

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

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

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

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

Операції одного старшинства виконуються послідовно зліва направо. Згідно з цим, вираз (a=b) or (c=d) не еквівалентний a=b or c=d.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]