Оператори і стандартні функції

Оператори і стандартні функції

nbsp nbsp nbsp nbsp nbsp Ні, алфавіт заново ми вчити не будемо. Поговоримо про те, які символи розпізнають бейсик і паскаль. В принципі, вони можуть розпізнавати всі символи, але не всі будуть зрозумілі компіляторам. Отже, символи, які вони розпізнають:
  • Великі і маленькі (великі та малі) літери латинського алфавіту: A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z. У бейсике всі оператори пишуться великими літерами, хоча, немає потреби стежити за цим, він автоматично замінює великі літери на великі. Наприклад, якщо в ми напишемо pRInt або pRiNt або ще як-небудь, то бейсик замінить це на PRINT. У Паскалі оператори можна писати як завгодно, але всі звикли писати або маленькими літерами або просто з великої літери. Наприклад, write або Readln.
  • Арабські (тобто, звичайні) цифри: 1, 2, 3, 4, 5, 6, 7, 8, 9, 0.
  • Роздільники. (Кома),; (крапка з комою). (крапка). (Двокрапка), '(апостроф), "(лапки), (і) (відкриває і закриває дужки), символ пробілу.
  • Знаки арифметичних операцій: + (додавання), - (віднімання), * (множення), / (ділення. В бейсике також \ - поділ без залишку), ^ (піднесення до степеня - тільки в бейсике).
  • Знаки операцій відносин:> (більше), = (більше або дорівнює),

змінні

nbsp nbsp nbsp nbsp nbsp Як і всі люди, комп'ютер має пам'ять. Вона буває різна. У процесі налагодження програми, комп'ютер як би напружує цю саму пам'ять, розміщуючи в ній вихідні дані, обробляючи їх, використовуючи Ваш алгоритм, отримуючи результати і доводячи їх до Вашого відома - частіше на екран монітора. Думаю, ні для кого не секрет, що ця пам'ять називається ОЗУ (Оперативне запам'ятовуючий пристрій), або по-англійськи RAM (Random Access Memory). Це по суті основний пристрій комп'ютера, що має обмежений обсяг, що вимірюється в Мегабайтах. Майже у всіх програмах використовуються змінні. Важко навіть уявити програму без хоча б однієї змінної. І то - однієї буде мало. Так ось, змінна - це область оперативної пам'яті, яка має дане нами ім'я і значення, яке може змінюватися. Ім'я змінної постійне завжди в ході виконання програми, а ось значення може змінюватися неодноразово.

арифметика

nbsp nbsp nbsp nbsp nbsp Були часи, коли вважалося, що комп'ютер використовувався тільки для рахунку в тисячі і мільйони разів швидше за людину (називалися комп'ютери ЕОМ - Електро-Обчислювальні Машини, а дієслово compute з англійської перекладається як "обчислювати"). Про словосполученні "персональний комп'ютер" не могло бути й мови. Це взагалі-то дійсно так, адже вся інформація може надаватися як числа в двійковій формі і елементарні арифметичні дії над ними. Звідси висновок - дружите з математикою, якщо хочете стати хорошим програмістом. Ясна річ - щоб комп'ютер обчислив вираз, потрібно написати його в зрозумілою йому формі, а саме:
  • вираз має бути записано в один рядок, тобто не може бути ніяких числителей і знаменників.
  • для запису арифметичних дій можна використовувати тільки такі знаки:
    • + - додавання - зліва від клавіші Backspace або на малій цифровій клавіатурі "сірий плюс";
    • - - віднімання - то ж, що дефіс, або на малій цифровій клавіатурі "сірий мінус";
    • * - множення - поєднання Shift + 8 або на малій цифровій клавіатурі "сіра зірочка";
    • / - розподіл - на різних клавіатурах буває в різних місцях або на малій цифровій клавіатурі "сірий слеш";
    • \ - поділ без залишку (ціле від ділення - символ "" - тільки в бейсике) - зазвичай праворуч від клавіші Shift;
    • ^ - піднесення до степеня (тільки в бейсике) - при обраному латинською шрифті - поєднання клавіш Shift + 6;
    • (І) - дужки - поєднання Shift + 9 і Shift + 0.
  • неприпустимий пропуск знака множення між коефіцієнтом і змінної, як це можливо в алгебрі (НЕ 2x, а 2 * x, що не 45d, а 45 * d);
  • дрібна частина відокремлюється від цілою, не коми, а точкою (не «3,14», а «3.14». Причому якщо ціла частина дорівнює нулю, то число записується в такий спосіб: ".5" (0,5), ".029" (0,029), ".6034" (0,6034).);
nbsp nbsp nbsp nbsp nbsp Щоб комп'ютер правильно обчислив вираз, потрібно пам'ятати про порядок дій. Все як в елементарній математиці.
  1. дії в дужках (в бейсике дужки можуть бути тільки круглими, в складних виразах вони можуть бути подвійними, потрійними і т.д.);
  2. функції, якщо вони є;
  3. зведення в ступінь;
  4. множення і ділення;
  5. додавання і віднімання.
nbsp nbsp nbsp nbsp nbsp Дії однаковою черговості виконуються зліва направо.

nbsp nbsp nbsp nbsp nbsp Наведемо ряд прикладів перекладу арифметичних виразів в придатний для бейсика і Паскаля вид:

nbsp nbsp nbsp nbsp nbsp Дії ділення без остачі і знаходження цілочисельного залишку виконуються до звичайних множення і ділення.

оператор присвоювання

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

Обидві частини оператора присвоювання з'єднуються знаком рівності ( "=" в бейсике і ": =" в паскале).

Тип змінних в лівій і правій частинах оператора присвоювання повинен збігатися!

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

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

nbsp nbsp nbsp nbsp nbsp Отже, оператор присвоювання в бейсике і паскале виглядає наступним чином:

nbsp nbsp nbsp nbsp nbsp Припустимо, у нас є такий вислів (бейсик): z = (x-3 * y ^ 2) +7. Ні в якому разі не можна говорити "Зет одно."! Потрібно говорити так: "Присвоїти Зет значення Ікс мінус три Ігрек в квадраті в дужках плюс сім".

nbsp nbsp nbsp nbsp nbsp Розглянемо роботу наведеного вище оператора присвоювання на прикладі фрагмента маленької програми:

  • Питання. Чому буде дорівнює Z після виконання всіх операторів присвоювання?
  • Рішення. Інтерпретатор робить наступне:
    • привласнює змінної X значення 15;
    • привласнює змінної Y значення 2;
    • обчислює значення правої частини третьої оператора присвоювання (15-3 * 2 ^ 2) +7. Виходить 10.
    • привласнює змінної Z значення 10;
  • Відповідь. Після виконання всіх операторів присвоювання, значення Z дорівнюватиме 10.
  • Питання. А що б було, якщо перші два оператора були відсутні? Яким би став Z?
  • Відповідь. В цьому випадку інтерпретатор прийняв би значення X і Y за замовчуванням рівними 0, обчислив би з цими нулями значення правої частини і в результаті відповідь була б дорівнює 7.

nbsp nbsp nbsp nbsp nbsp Поки все було схоже на звичайну математику. Але є одне але". Що відбувається, якщо програма містить такі рядки:

  • Питання. Чому дорівнюватиме значення Ікс після виконання операторів присвоювання на даному фрагменті програми?
  • Рішення. Спочатку змінної X присвоюється значення 2. Потім інтерпретатор звертається до другої частини оператора присвоювання, знаходячи в пам'яті значення X, що дорівнює двом. Просто-напросто додаючи до нього 1, отримує 3. Присваивает нове значення 3 щепу частини оператора - Іксу. Старе значення - 2 - просто зникає, на його місце встає значення 3.
  • Відповідь. Після виконання операторів присвоювання на даному фрагменті програми, значення Ікс стане рівним 3.

Повернемося до типам даних

nbsp nbsp nbsp nbsp nbsp У багатьох попередніх розділах зустрічалося словосполучення "типи даних". Давайте я познайомлю Вас з ними детальніше. Отже, розглянемо, що ми маємо щодо типів даних:

  • Кожна одиниця мов бейсик і паскаль (константа, змінна, функція або вираз) має тільки один тип. Іншими словами, тип змінної визначається безліччю значень, які може приймати ця змінна.
  • Явна введення типів дозволяє чітко встановити тип кожної програмної одиниці, не виконуючи самої програми.
  • Між кожним типом і деяким обмеженим підмножиною операторів існує однозначна зв'язок, тобто для кожного типу визначено свій обмежених набір операцій. Звичайно, використовуючи такі конструкції, як процедури і функції, набір операцій можна розширити.
  • Безсумнівно, використання типів вносить деяку надмірність в саму мову, але це суттєво допомагає у виявленні помилок в структурі алгоритму вирішення тієї чи іншої задачі, реалізованого в програмі.

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

nbsp nbsp nbsp nbsp nbsp Базові типи даних - це:

  • цілий тип;
  • логічний тип;
  • символьний (строковий) тип;
  • перераховується тип;
  • тип-діапазон;
  • дійсний тип.

nbsp nbsp nbsp nbsp nbsp В математиці розглядається нескінченне число цілих чисел. Цілий тип - це інтервал цілих чисел.

nbsp nbsp nbsp nbsp nbsp В даній таблиці показані цілі типи даних в Паскалі. Поки дається тільки цей тип, але не впадайте у відчай - будуть і інші. Терпіння, тільки терпіння. (: Думаю, зрозуміло, що значить знаковий і беззнаковий формат.

Цілі (Ordinal) типи даних в Паскалі

Виникає питання - чому тільки в паскале? Відповідь - в бейсике використовуються тільки два цілочисельних типу - INTEGER і LONG (Integer і LongInt в паскале відповідно).

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

Системний блок зовнішніх процедур бібліотеки турбо Паскаль дозволяє використовувати на даних перераховується типу процедури.

А найголовніше-то - наостанок!

nbsp nbsp nbsp nbsp nbsp. І ніби все є, щоб скласти простеньку програму для підрахунку чого-небудь. Робимо в бейсике програмку. Припустимо, працює - в пам'ять занесло потрібні значення. Все як по маслу. Припустимо. Робимо те ж саме на Паскалі - що таке. Помилки - одна на одній. Давайте розберемося.

nbsp nbsp nbsp nbsp nbsp По-перше, давайте поговоримо про логічних дужках. Роль логічних дужок така: вони починають і закінчують блоки операторів (в яких, в свою чергу, можуть бути інші логічні дужки, в тих - інші і т.д.). У Паскалі основними операторами логічних дужок є Begin і End. Після оператора Begin символ ";" не ставиться, так як він "закінчує" оператор, а Begin - це початок. А ось після End - крапка з комою ставиться. При чому все тіло програми Починається оператором Begin (само собою, без крапки), а закінчується оператором End із крапкою (саме точкою, а не крапкою з комою, так як це - глобальні логічні дужки). Сама програма розбивається на блоки. Як я вже сказав - основний блок - тіло програми в цілому, не рахуючи опису змінний, імені програми і т.п. Для наочного позначення блоків програми використовується "драбинка" - вкладені блоки відзначаються порожнім простором перед кожним рядком в них. Так показаний блок тіла програми на наступному зображенні. Основний блок програми може містити подблоки, ті - свої подблоки і т.д. Природно, драбинка буде збільшуватися і зрушуватися вправо. До речі, для швидкого зсуву зазвичай використовують клавішу Tab або кілька пробілів (Краще, звичайно, використовувати Tab). Думаю, зрозуміло. Якщо не зрозуміло, то не впадайте у відчай - ви все зрозумієте пізніше.

nbsp nbsp nbsp nbsp nbsp Також задається ім'я програми оператором Program (наприклад, Program count; або Program Dima; - ім'я програми не повинно збігатися з ім'ям якої-небудь іншої програмної одиниці в даній програмі. Ім'я програми також записується за правилом написання програмних елементів (в розділі Змінні)) . Оператор імені програми Program можна не ставити, хоча краще робити це. Потім оператор Var для опису змінних і інших елементів. Возмоожни і деякі інші оператори, такі, як Uses - підключення бібліотек. Але про це - пізніше.

nbsp nbsp nbsp nbsp nbsp Отже, загальна структура програми на Паскалі має виглядати приблизно так:

Округлює дійсне число до цілого і перетворює його в Longint (нагадую про округлення - якщо дрібна частина більше 0.5, то до цілої частини додається 1, якщо немає, то не додається)

nbsp nbsp nbsp nbsp nbsp Є також і такі функції: ASC, CHR $, INPUT $, LEN, LEFT $, RIGHT $, MID $. Розповім коротко про кожну. ASC - функція визначає код ASCII для першого символу строкової змінної - ASC (строковая_переменная). CHR $ - навпаки, дасть нам символ, код якого зазначений у дужках. INPUT $ - ця функція буде ожідять введення N символів, які будуть обрабативться програмою відразу після набору їх на клавіатурі, не чекаючи натискання клавіші Enter. Наприклад, X $ = INPUT $ (5) - в змінну X $ будуть занесені п'ять введённиз з клавіатури символів. Далі. Вункція LEN визначає довжину строкової змінної, тобто, скільки в ній символів. Функція LEFT $ виділяє з заданої рядки n символів зліва - LEFT (X $, 4) - з строкової змінної буде виділено 4 перших символу. Те ж і з функцією RIGHT $ - все так же, тільки справа. (: А ось функція MID $ виділить певну кількість символів із заданої строкової змінної з певною позиції - C $ = MID $ (X $, 4, 3) - в строкову змінну занесуться три символи з змінної X $, починаючи з четвертого символу. Зрозуміло ? Я розповів вельми поверхнево, так що доведеться Вам потренуватися з цими функціями, щоб освоїти їх.

nbsp nbsp nbsp nbsp nbsp Отже, ми навчилися робити найпростіші програми. Потренуйтеся - постворювали пару (можете більше, звичайно!) Програм. Очевидно, чогось не вистачає, чого ж? Ну звичайно ж - все відбувається тільки в пам'яті комп'ютера. Відбувається, а ми навіть і не знаємо, що саме. Так давайте ж розучимо введення і виведення даних. Вперед і з піснею - в наступний розділ.

Схожі статті