Мегаобучалка Главная | О нас | Обратная связь


Лабораторная работа №2. Формирование навыков создания HTML-документов



2019-12-29 175 Обсуждений (0)
Лабораторная работа №2. Формирование навыков создания HTML-документов 0.00 из 5.00 0 оценок




 

ЗАДАНИЕ

 

1. Познакомиться с файлом настроек Apache http.conf

2. Запустить сервер Apache. Разместить в рабочей директории документы html

3. Для обеспечения навигации использовать относительные ссылки.

4. Включить в ранее созданные страницы директивы SSI: DOCUMENT_NAME DATE_LOCAL LAST_MODIFIED

5. Сделайте автоматическое обновление первой страницы каждую минуту.

6. Создайте новую страницу, и сделайте автоматическое перенаправление на www.tpu.ru , с временем ожидания 10 секунд, на странице напишите "Через 10 секунд вы будите автоматически перенаправлены на сайт www.tpu.ru.

7. Создайте ссылки на разделы документа с использованием меток.

8. Разместите изображение на странице и выделите области локализации для ссылок на сервера


www.moskva.ru – Москва

www.kazan.ru – Казань

www.spb.ru – С. – Петербург

www.novosibirsk.ru – Новосибирск

www.norilsk.ru – Норильск

www.tomsk.ru – Томск

www.magadan.ru – Магадан

Лабораторная работа №3 Формирование Perl скрипта и его вызов из Html формы.

 

Цель работы: Создать функционирующее приложение для демонстрации работы циклов в PERL.

Изучить этапы создания Perl-программ и способ его вызова через HTML форму.

Perl программа (скрипт) состоит из последовательности деклараций и предложений. Единственно что должно быть обязательно декларировано это форматы отчетов и подпрограммы (функции). Все не объявленные переменные, массивы, имеют значение 0 или null. Perl имеет свободный формат, комментарии начинаются с символа '#' и продолжаются до конца строки. Декларации могут использоваться в любом месте программы так же как и предложения (statements) но действуют они только в фазе компиляции программы. Обычно их помещают или в начале или в конце программы. Декларация подпрограмм позволяет использовать имя подпрограммы как списковый оператор, начиная с момента декларирования.

Для проверки работоспособности Perl в среде web создайте в директории d:\usr\cgi-bin файл test.pl с таким содержанием:  

 

 

#!/usr/local/perl/bin/perl

print "Content-type: text/plain\n\n";

print 5+5;

 

Обратите внимание на первую строчку в скрипте. В нашем случае она

указывает Apache, что Perl расположен в d:\usr\local\perl\bin\perl.exe. Вы указывайте свой путь.

Тип данных в PERL

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

В качестве внутреннего представления всех чисел используется формат с плавающей запятой двойной точности (double). Иными словами, среди внутренних форматов нет целочисленного. Тем не менее, в большинстве случаев вы можете не обращать на это внимания, и Perl сделает все сам как надо. Например, если вы используете величины в контексте, где только целочисленные значения имеют смысл, Perl сам автоматически усечет число.

Примечание: Если вы программируете на С и использовали целочисленное деление с усечением целых чисел автоматически, то, программируя на языке Perl, надо не забыть выполнить усечение вручную, используя функцию int().

Следующая команда иллюстрирует, как Perl обрабатывает числа целого типа и с плавающей запятой:

print 6 & 3; # выведет 2

print 6.9 & 3.1 #

print 7 / 2 # выведет 2.3333 не целое

print int(7/3) # выведет 2

Точно так же, как Perl преобразует числа с плавающей запятой в целые числа: когда скрипт использует целочисленные значения, он также преобразует числа в строки и наоборот, когда такое преобразование имеет смысл. Например, если скрипт использует числа в контексте, где только строки имеют смысл, например, при соединении строк, он конвертирует числа в строки. Аналогичным образом, если требуется использовать строки там, где только числа имеют смысл, то Perl конвертирует их в числа. Работая со скриптами Perl, обычно не надо беспокоиться о внутреннем представлении скалярных величин. Perl поддерживает также концепцию булевых значений, но не имеет для их описания специального типа. Как и в С, численное значение рассматривается истинным, если оно не равно нулю. Дополнительно строковое значение рассматривается как истинное, если оно не равно '' или '0'. Некоторые булевы операторы, такие как <>> (больше), возвращают единицу в качестве значения<истинно> и нуль - в качестве <ложно>. Тем самым, ваш скрипт должен просто рассматривать ненулевые величины как строчного типа, так и числового в качестве булева значения <истинно>. Скрипты Perl могут группировать скалярные величины вместе и создавать список (list). Если скрипт хранит список в какой-то переменной, то эта переменная становится массивом (array).

Переменные. Скалярные переменные

 

Как отмечалось, скалярная переменная может содержать единственное значение. В языке Perl имена скалярных переменных всегда начинаются со знака ($). В еле дующем выражении скалярной переменной $age присваивается значение 35, а переменной $name строковое значение <Bob>. Затем используется функция print для вывода значения каждой из переменных:

 

$age = 35;

$name = 'Bob';

print ($name,'is',$age);

 

Переменные. Массивы

Как было сказано выше, массивы представляют собой переменные, принимающие в качестве значения список из скалярных величин. Следующий текст программы на языке Perl иллюстрирует объявление переменных типа массив и их инициализацию:

@days = ('Sun','Mon','Tue','Wed','Thu','Fri','Sat');

print(@days); # выведет 'SunMonTueWedThuFriSat'

print($days[4]);  # выведет 'Thu'

@weekdays=@days[1..5];значение ('Mon','Tue','Wed','Thu','Fri')

@emptylist = ();   # пустой список

Ссылка на переменные типа <массив> обычно начинается со знака (@) и сопровождается значениями в квадратных скобках ([ ]).Как и в программировании на языке С, индексами массивов для скриптов всегда являются переменные целого типа, которые обычно начинаются с нулевого значения. Третье выражение ($days[4]) служит примером массива, который ссылается на скалярное значение. Поскольку он содержит только один элемент, результирующее значение представляет собой скаляр. Если использовать знак ($) вместо знака (@), то скрипт будет ссылаться на скалярную величину. Это замечание является очень важным. Квадратные скобки указывают, что скрипт ссылается на массив. Знак $, в свою очередь, означает ссылку на скалярную величину.

Инициализация массива @weekdays осуществляется путем выборки части массива @days. В предыдущем примере массив @days использовался без индекса. Когда индекс опущен, Perl ссылается на весь массив. Аналогичным образом, в предыдущем примере массив @days инициализировался списком литералов. Кроме того, что массиву могут присваиваться в качестве значений литералы, скрипт может также присваивать массивам значения переменных или даже других массивов, как показано ниже:

@stuff = ($age, $name)

@FriendsOfMine = ('Joe','Mary', @FriendsOfYours);

В следующем примере используются части массивов:

 @weekend = @days[0,6] ; # результат ('Sun','Sat')

print (@days[1..5,0,6]); # выведет 'MonTueWedThuFriSunSat'

Если скрипт использует переменную типа массив в контексте скаляра, то значением служит число элементов массива. Скалярным контекстом является такой контекст, где только скалярные значения имеют смысл. Например, следующее выражение использует скалярный контекст для массива stuff для того, чтобы определить число элементов, содержащееся в массиве. Если число элементов, больше или равно 2, то скрипт выдает сообщение и заканчивает исполнение:

(@stuff >= 2) || die "Too much stuff! \n";

Функция die служит директивой языку Perl закончить выполнение и выдать при этом указанное сообщение. Если сообщение не содержится, то функция просто заканчивает выполнение скрипта. Perl также поддерживает специальную конструкцию $# переменная, которая возвращает последнее значение индекса в массиве. Например, следующее выражение for использует $[ для того, чтобы определить начальное значение индекса массива, и $# для определения последнего из элементов массива. При этом с помощью выражения for выводятся значения каждого из элементов:

for ($i =$[; $i <= $#stuff; $i++)

  {

      print $stuff[$i];

  }

Записанный цикл for можно заменить следующим эквивалентным выражением:

Print @stuff;

Условия

 

Последовательность простых предложений ограниченная функциональными ограничителями называется блоком. В Perl это может быть целый файл, последовательность предложений в операторе eval{} или чаще всего это множество простых предложений ограниченных круглыми скобками '{}'.

Существуют следующие виды сложных предложений:

if (EXPR) BLOCK

if (EXPR) BLOCK else BLOCK

if (EXPR) BLOCK elsif (EXPR) BLOCK ... else BLOCK

 

LABEL while (EXPR) BLOCK

LABEL while (EXPR) BLOCK continue BLOCK

LABEL for (EXPR; EXPR; EXPR) BLOCK

LABEL foreach VAR (LIST) BLOCK

LABEL BLOCK continue BLOCK

Обратите внимание, что сложные предложения описаны в термах блоков а не предложений как в языках C или Pascal. Поэтому необходимо всегда использовать круглые скобки для обозначения блока.

 

if ( EXPR ) BLOCK - Вычисляется логическое выражение EXPR и если true блок выполняется.

Пример 1:

$var =1;

if ($var == 1)

{ print $var,"\n";

}

Результат: 1

 

if (EXPR) BLOCK else BLOCK2 - Если EXPR=true выполняется BLOCK иначе BLOCK2.

Пример 2:

$var =2;

if ($var == 1)

{ print "\$var = 1\n";

}

else

{ print "\$var не равно 1\n";

}

 

Результат: $var не равно 1

 

if (EXPR1) BLOCK1 elsif (EXPR2) BLOCK2 ... else BLOCK -

Если EXPR1=true выполняется BLOCK1 иначе если EXPR2=true выполняется BLOCK2 иначе ... иначе BLOCK.

Пример 3:

$var = 1;

if ($var == 0)

{ print "\$var = 0\n";

}

elsif ($var == 1)

{ print "\$var = 1\n";

}

else

{ print "Не известное \$var\n";

}

Результат: $var = 1

 

Цикл while выполняет BLOCK до тех пор пока EXPR = true. Метка LABEL не обязательна и состоит из идентификатора завершающегося символом ':'. Метка необходима при использовании внутри блока цикла управляющих операторов next, last и redo. Если метка все же отсутствует, то эти операторы ссылаются к началу ближайшего цикла. Блок после continue выполняется всегда перед тем как вычисляется логическое выражение EXPR. Это подобно EXPR3 в предложении for поэтому в этом блоке удобно изменять счетчики и флаги цикла даже если применяется оператор next.

 



2019-12-29 175 Обсуждений (0)
Лабораторная работа №2. Формирование навыков создания HTML-документов 0.00 из 5.00 0 оценок









Обсуждение в статье: Лабораторная работа №2. Формирование навыков создания HTML-документов

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...
Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы...
Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (175)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)