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


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

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






Приклад. Var RabDni, BolnDni : Dni;





Туре Dni = 1.. 31;

Var RabDni, BolnDni: Dni;

У цьому прикладі перемінні RabDni і BolnDni мають тип Dni і можуть приймати будь-які значення з діапазону 1..31. Вихід з діапазону викликає програмне переривання.

Можна визначити интервальный тип і більш універсальним способом, задавши границі, діапазону не значеннями констант, а їх іменами:

Const Min = 1; Max = 31;

Type Dni = Min.. Max;

Var RabDni, BolnDni: Dni;

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

 

5.2. Вирази, операнди, операції

Перемінні і константи всіх типів використовуються у виразах. Вираз задає порядок виконання дій над елементами даних і складається з операндів (констант, перемінних, звертань до функцій), круглих скобок і знаків операцій. Операції визначають дії, який треба виконати над операндами. Наприклад, у вираженні (X + Y - 10) X, Y і 10 - операнди; "+", "-" - знаки операцій додавання і вирахування. У найпростішому випадку вираз може складатися з однієї перемінної або константи. Круглі скобки ставляться так само, як і в звичайних арифметичних виразах для керування асоціативністью і порядком виконання операцій.

Операції в мові Паскаль підрозділяються на:

- Арифметичні

- операції співвшдношення

- логічні (булевскі) операції,

- операцію @,

Три перші групи операцій описані в даній роботі, інші будуть розглянуті при описі відповідних типів даних.

5.2.1. Арифметичні вирази й операції

Арифметичний вираз породжує ціле або дійсне значення. Найбільш простими формами арифметичних виразів є: ціла або дійсна константа без знака; ціла або дійсна змінна; елемент масиву цілого або дійсного типу; функція, що приймає ціле або дійсне значення.

Значення змінної або елемента масиву повинне бути визначене до їхньої появи в арифметичному виразі. Інші арифметичні вирази складаються з перерахованих вище простих форм шляхом застосування круглих скобок і арифметичних операцій.

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

Операція Дія Типи операндів Тип результату
Бінарні операції
+ Додавання Цілий Цілий
Додавання Дійсний Дійсний
- Вирахування Цілий Цілий
Вирахування Дійсний Дійсний
* Множення Цілий Цілий
Множення Дійсний Дійсний
/ Ділення Цілий Дійсний
Ділення Дійсний Дійсний
div Ділення цілих Цілий Цілий
mod Ділення по модулю Цілий Цілий
and Логічне множення Цілий Цілий
or Логічне додавання Цілий Цілий
xor Виняткове Цілий Цілий
shl Зсув вліво Цілий Цілий
shr Зсув вправо Цілий Цілий

Операції додавання (+), вирахування (-), множення (*) і ділення (/) виконуються так само, як і в звичайних арифметичних виразах.

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

Вираз Результат

11 div 5 2

10 div 3 3

2 div 3 0

Ділення по модулю (mod) – (залишок від ділення цілих) відновлює залишок, отриманий при виконанні ділення цілих. Вираз Результат

11 mod 5 1

10 mod 3 1

Логічні операції (not,and,or,xor) виконуютьсянад логічними аргументами, тобто такими, що приймають значення 1 (true) чи 0 (false).

 

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

 

Аргумент 1 Аргумент 2 Результат
True True True
True False False
False False False
False True false

 

Приклад:

Var a, b, c doolean;

Begin

a:= true;

b:= false;

c:= b and a

{c = false}

 

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

 

Аргумент 1 Аргумент 2 Результат
True True True
True False True
False False Talse
False True True
     

Сума за модулем 2 (xor) виконується у відповідності із наступною таблицею істиності.

Аргумент 1 Аргумент 2 Результат
True True False
True False True
False False True
False True False

 

Логічне заперечення (not) виконується у відповідності із наступною таблицею істиності.

Аргумент 1 Результат
True False
False True

 

 

Зсув вліво (К shl N) відновлює як результат значення, отримане шляхом зсуву позицій уліво двійкового числа К.

Приклад. Обчислити результат виконання виразу 2 shl 7. Число 2 займає в пам'яті 2 байти й у двійковій формі має вигляд 0000000000000010. Зрушуємо кожен біт на 7 позицій уліво, одержуємо 0000000100000000, що відповідає числу 256 у десятковій формі. Отже, 2 shl 7 = 256.

Зсув вправо (shr) виконується аналогічно, з тією лише різницею, що зсув виробляється вправо.

Вираз Результат

160 shr 2 40

90 shr 2 22

256 shr 7 2

5.2.2. Вирази й операції співвідношення

Операції співвідношення виконують порівняння двох операнді та повертають булеве значення (True, False). Аргументи можуть бути будь-якого скалярного типу.

Таблиця 6. Операції відносини

Операція Назва Вираз Результат
= Дорівнює А = В True, якщо А дорівнює В
<> Не дорівнює А <> В True, якщо А не дорівнює В
> Більше А > В True, якщо А більше В
< Менше А < В True, якщо А менше В
>= Більше або дорівнює А >= В True, якщо А більше або дорівнює В
<= Менше або дорівнює А <= В True, якщо А менше або дорівнює В
in Приналежність A in М True, якщо А знаходиться в списку М

5.2.4. Пріоритет операцій

Виконання кожної операції відбувається з урахуванням її пріоритету.

Таблиця 9. Порядок виконання операцій

Операція Пріоритет Вид операції
@, not *, /, div, mod, and, shl, shr +, -, or, xor =, <>, <, >, <=, >=, in Перший (вищий) Другий   Третій Четвертий (нижчий) Унарна операція Операції типу множення   Операція типу додавання Операція відносини

Для визначення старшинства операцій маються чотири основні правила:

1. Операнд, що знаходиться між двома операціями з різними пріоритетами, зв’язується з операцією, що має більш високий пріоритет.

2. Операція, що знаходиться між двома операціями з рівними пріоритетами, зв’язується з тією операцією, що знаходиться ліворуч.

3. Вираження, укладене в дужки, перед виконанням обчислюється, як окремий операнд.

4. Операції з рівним пріоритетом виробляються ліворуч праворуч з можливим регулюванням порядку виконання дужками.

6. Приклади розробки алгоритмів і програм

Приклад 1 Алгоритм Евкліда. Обчислити найбільший загальний дільник (НОД) двох натуральних чисел x і y.

 

Program lr1a;

var NOD, x, y: integer;

Begin

x:=252; y:=1080;

while x<>y do

Begin

writeln(‘x=’,x,’ y=’,y);

if x>y

then x:=x-y

else y:=y-x;

End;

NOD:=x;

writeln(‘x=’,x,’ y=’, y);

writeln(‘NOD=’,NOD);

readln;

End.

Program lr1b;

var NOD,x,y:integer;

Begin

x:=252; y:=1080;

Repeat

writeln(‘x=’,x:3,’ y=’, y:2);

if x>y

then x:=x mod y

else y:=y mod x;

until (x=0) or (y=0);

writeln(‘x=’,x:3,’ y=’,y:2);

writeln(‘NOD=’,x+y);

readln;

End.


7. Завдання до лабораторної роботи № 3

Розробити три програми (у кожній по одному з операторів циклу)

  У даному натуральному числі переставити цифри таким чином, щоб утворилося найменше число, записане цими ж цифрами
  Визначити кількість тризначних натуральних чисел, сума цифр яких дорівнює заданому числу N.
  Скласти програму обчислення суми кубів чисел від 25 до 125
  Серед двозначних чисел знайти ті, сума квадратів цифр яких поділяється на 13. Відповідь: 23, 32
  Написати програму пошуку двозначних чисел, таких, що якщо до суми цифр цього числа додати квадрат цієї суми, то вийде це число. Відповідь: 12, 42, 90
  Квадрат тризначного числа закінчується трьома цифрами, що саме і складають це число. Написати програму пошуку таких чисел. Відповідь: 376, 625.
  Написати програму пошуку чотиризначного числа, що при розподілі на 133 дає в залишку 125, а при розподілі на 134 дає в залишку 111. Відповідь: 1987
  Знайти суму позитивних непарних чисел, менших 100
  Знайти суму цілих позитивних чисел із проміжку від А до В, кратних 4 (значення перемінних А и В уводяться з клавіатури).
  Знайти суму цілих позитивних чисел, великих 20, менших 100, кратних 3 і закінчуються на 2, 4 або 8.
  Скласти програму зведення даного натурального числа а в ступінь n. Досліджувати для різних а максимальне значення п
  Дано натуральні числа а, b. Обчислити добуток а*b, використовуючи в програмі лише операції «+», «-«, «=».
  Дано натуральні числа а, b. Виконати розподіл а на b, використовуючи в програмі лише операції «+», «-«, «=».

 

  Дано натуральне число п. Одержати всі його натуральні дільники
  Дано натуральні числа m, n. Одержати всі кратні їм числа, менші т*п
  У тризначному числі закреслили першу цифру ліворуч, коли отримане двозначне число помножили на 7, то одержали дане число. Знайти це число. Відповідь: 350
  Сума цифр тризначного числа кратна 7, саме число також поділяється на 7. Знайти всі такі числа
  Дано натуральне число n (n £ 9999). Визначити, чи є воно паліндромом («перевертышем»), з обліком чотирьох цифр. Наприклад, паліндромами є числа: 2222, 6116, 0440
  Дано натуральні числа n,k (nіk £ 9999). З чисел від п до k вибрати ті, запис яких містить рівно три однакових цифри. Наприклад, числа 6766, 5444, 0006, 0060 містять рівно три однакових цифри.
  Серед чотиризначних чисел вибрати ті, у яких усі чотири цифри різні
  Дано чотиризначне число п. Викинути з запису числа п цифри 0 і 5, залишивши колишнім порядок інших цифр. Наприклад, з числа 1509 повинне вийти 19
  Натуральне число з n цифр є числом Армстронга, якщо сума його цифр, зведених у n-ю ступінь, дорівнює самому числу (наприклад, 153 = 13 + 53 + 33 ). Одержати всі числа Армстронга, що складаються з трьох і чотирьох цифр.
  Дано послідовність з 20 цілих чисел. Визначити кількість чисел у найбільш довгій підпослідовності з підряд йдуть нулів.
  Дано натуральне число п. Підрахувати кількість цифр даного числа
  Знайти суму цифр числа
  Знайти першу цифру числа
  Приписати по 1 у початок і в кінець запису числа n. Наприклад, було n=3456, стало n= 134561
  Поміняти місцями першу й останню цифри числа
  Поміняти порядок цифр числа на зворотний. Наприклад, було 12345, стало 54321
  Знайти кількість парних цифр цілого позитивного числа

 


Лабораторна робота № 4

Тема: Структуровані типи даних. Масив.

Date: 2015-09-18; view: 429; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию