Загальний огляд та порівняльний аналіз мов ОПП. Мова програмування Perl

Автор работы: Пользователь скрыл имя, 06 Июня 2014 в 17:40, контрольная работа

Краткое описание

Perl-високорівнева, динамічна мова програмування загального призначення. Perl було розроблено у 1987 році Ларі Уоллом, лінгвістом і програмістом за освітою, який у той час працював системним адміністратором у NASA.
Ларрі Волл розпочав роботу над Perl у 1987 році, коли працював програмістом у компанії Unisys, 18 грудня того ж року, у списку поштової розсилки comp.sources.misc від повідомив про вихід версії 1.0. Наступні два роки мова дуже стрімко розвивалась, і вже наступного року було випущено версію 2.0, основним нововведенням якої була покращена робота з регулярними виразами. Perl 3 вийшла у 1989 році, у ній було додано підтримку двійкових потоків даних.

Прикрепленные файлы: 1 файл

ЗМІСТ.docx

— 48.07 Кб (Скачать документ)

Оператори роботи з бітами:

  1. & - повертає побітове && , тобто логічне І (об'єднання)
  2. I - повертає побітове II, тобто логічне АБО (вибір лівого аргумент)
  3. ^ - повертає побітове виключення АБО (лівий і правий аргумент буде оброблений)

Логічні оператори І (&&) і АБО (II):

&& - якщо лівий аргумент  вірна ( true ), то буде перевірений і правий, якщо невірний (false) - правий теж буде вважатися вірним і не буде перевірений

II - якщо лівий аргумент  невірний (false) , то буде перевірений правий, якщо вірна ( true ) - правий не буде перевірятися

Оператор діапазону:

Даний оператор позначається двома точками " .. " . Застосування в різних контекстах (списковом і скалярному) приводять до різних результатів його роботи. Так наприклад в списковом контексті він працює від лівого значення списку до правого з кроком - одна одиниця. Приклад:

for $i (8..15)

{print "$i ";

} # отримаємо наступне: 8 9 10 11 12 13 14 15

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

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

**=

+=, -=, .=

*= , /=, %=, x=

&=, I=, ^=

<<=, >>=

&&=, II=

 

 

 

 

Оператор "кома" (","):

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

Оператор "NOT (логічне НЕ):

Має однакове застосування з " ! " ( див. вище ), але з більш низьким пріоритетом.

Оператори: Логічне І, АБО і Виключає АБО:

  1. and - еквівалент оператора " &&" ( див. вище ), але має нижчий пріоритет і " обмеженість " дії. тобто він не повернеться до лівого аргументу, якщо він "false"
  2. or - працює за принципом попереднього, але еквівалентний " II"
  3. xor - виключне АБО, тобто обробляє і лівий і правий аргумент.

 

4.Основні конструкції мови

 

Perl підтримує оператори циклів for, while і do з невеликими відмінностями від їх реалізації в мові С. Істотною відмінністю є те, що Perl вимагає використання інструкцій блоками, укладених у фігурні дужки. Крім того, як ви познайомитеся , далі, Perl розширює конструкцію циклу, что6ы забезпечити її деякі нові форми. У наступних прикладах цикли for, while і do працюють аналогічним чином на мовах С і Perl:

for($i = 0; $i< 100;$i++)

{

printf("%d\n", $i) ;

}

while ($i > 0)

{

printf("%d\n", $i);

}

do {

printf("%d\n", $i++);

} while ($i < 0);

Конструкція циклів на мові С відмінна від конструкції на мові Perl ще і в тому, що Perl не містить оператора break, а оператор continue виконує зовсім іншу функцію. На щастя, Perl забезпечує деякі нові, більш гнучкі і більш інтуїтивно зрозумілі конструкції:

last вихід з циклу (як оператор break)

next почати нову ітерацію (як оператор continue)

redo повторити поточну ітерацію

Для розуміння конструкцій циклів на мові Perl, необхідно розібратися з використанням блоку continue. Розглянемо наступний цикл while, який містить блок continue:

$i = 100;

while ($i > 0)

{

print $i;

} continue {$i-}

У сценарії Perl мітки просто означають ім'я, відповідне якогось положення всередині скрипта. Імена міток закінчуються двокрапкою (наприклад, outerloop:). Використовуючи оператор goto, скрипт може здійснювати переходи на мітку. Додатково можуть використовуватися оператори last, next і redo, для переходу до мітки. Наступний код ілюструє використання оператора last для переходу на мітку:

outerloop: while ($i > 0)

{

while ($j > 0)

{

#Тут який-небудь інший  процес

if ($needToAboutLoop)

{

last outerloop;

}

}

}

У цьому випадку інструкція містить гілка last для переходу на мітку outerloop і закінчення виконання циклу.

Ще однією конструкцією циклу у мові Perl є цикл до тих пір, поки, який є протилежністю циклу while. Як ви пам'ятаєте, в циклі while інструкції виконуються до тих пір, поки виконується задана умова. В циклі доти, поки, навпаки, інструкції виконуються до тих пір, поки не буде виконана умова. Наприклад, розглянемо цикл while, такий, як показано на наступній сторінці.

while (!(expr))

{

заяву;

}

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

до тих пір, поки (expr)

{

заяву;

}

Аналогічним чином наступна конструкція do while використовує оператор логічного заперечення для того, щоб виконувати цикл, доки заданий булеве вираз не стане істинним:

зробити

{

заяву;

} while (!(expr));

Використовуючи конструкцію робити до тих пір, поки, ви можете сформувати ідентичний цикл без використання логічного заперечення:

зробити

{

заяву;

} до тих пір, поки (expr);

Perl підтримує цикл for абсолютно аналогічно мови:

for (statement1; expression; statement2)

{

statement3;

}

Наприклад, наступний код використовує цикл for для того, щоб вивести значення чисел від 0 до 100:

for ($digit = 0; $digit <=100; $digit++)

{

print $digit, - -;

}

Додатково Perl містить конструкцію циклу foreach, який дозволяє скрипту організовувати ітерації в списках і масивах. Розглянемо приклад:

@list = (-a,-b,-c-);

foreach $arg (@list)

{

print ?List item: $arg\n¦;

}

foreach $i (1..10)

{

print ?iteration $i\n¦

}

У першому випадку цикл foreach здійснював перебір значень в обліковій змінної @list. У другому прикладі в циклі foreach здійснюється перебір чисел у діапазоні від 1 до 10.

Всередині циклу foreach може фігурувати список, що складається з символів, або масив, як було показано в попередньому прикладі. Після виконання однієї ітерації циклом, спеціальна скалярна змінна {$arg в першому випадку і $i у другому випадку) приймає значення із заданого списку елементів. Область видимості цієї скалярної змінної циклу foreach обмежується тілом циклу. Тому скалярна змінна циклу, foreach не буде конфліктувати з ідентичним іменем змінної, визначеної поза циклу. В наступному коді змінна з ім'ям $i використовується усередині і поза циклу foreach:

$i = 1001;

foreach $i (1..9)

{

print ?$i\n¦; # цикл виведе 123456789

}

print ?$i\n¦;

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

Особливістю циклу foreach, яку ваші скрипти можуть використовувати, є можливість модифікації елементів масиву. (Будьте обережні при реалізації цієї можливості!) Розглянемо наступний цикл foreach, який додає значення 10 кожному елементу масиву:

@list = 1..5;

foreach $i (@list)

{

$i += 10;

}

$, = - -;

print @list; # виведе 11 12 13 14 15

 У мові Perl імена і for foreach розглядаються як синоніми. Тому в скриптах можна використовувати ці імена поперемінно. Perl, у свою чергу, буде визначати тип циклу, грунтуючись на його контексті.

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

(3, 4, 5) # Масив з трьох  елементів - 3, 4 і 5

("Микола", 23, 4.5, 4) # Масив  з чотирьох елементів - "Микола", 23, 4.5 і 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ

 

    1. Режим доступу:  http://altcode.ru/perl/

    1. Режим доступу: http://ru.wikipedia.org/wiki/Perl

    1. Режим доступу: http://linuxland.itam.nsc.ru/misc/progperl/perl_rus3.htm

    1. Режим доступу: http://www.novice.ws/perl/perloperator1.htm

 

 

 


Информация о работе Загальний огляд та порівняльний аналіз мов ОПП. Мова програмування Perl