- •Федеральное агентство по образованию
- •Таганрогский государственный радиотехнический университет
- •Программирование в Интернет
- •Лекция 1. Введение в Web-программирование
- •Принцип работы Web-приложений
- •Обзор известных средств программирования для Internet
- •Первое решение: cgi
- •Преимущества cgi
- •Недостатки cgi
- •Второе решение: isapi-интерфейс
- •Преимущества isapi
- •Недостатки isapi
- •Третье решение: asp
- •Преимущества asp
- •Недостатки asp
- •Лекция 2. Введение в php
- •Что такое рнр?
- •Архитектура рнр
- •Первая программа на php
- •Взаимодействие html и php
- •Лекция 3. Типы данных php
- •Комментарии
- •Логические переменные
- •Синтаксис логических переменных
- •Приведение значений к логическому типу
- •Целые числа
- •Синтаксис целочисленных переменных
- •Целочисленное переполнение
- •Приведение к целочисленному типу
- •Вещественные числа
- •Константы
- •Преобразование строк
- •Лекция 4. Переменные
- •Изменение типа переменной
- •Преобразование типа переменной
- •Операторы и выражения
- •Оператор присваивания
- •Арифметические операторы
- •Оператор конкатенации
- •Дополнительные операторы присваивания
- •Операторы сравнения
- •Логические операторы
- •Увеличение или уменьшение целой переменной
- •Порядок вычисления операторов
- •Динамические переменные
- •Ссылки на переменные
- •Лекция 5. Инструкция if
- •Блок else инструкции if
- •Блок elseif инструкции if
- •Инструкция switch
- •Оператор ?
- •Цикл while
- •Цикл do... While
- •Цикл for
- •Прерывание циклов инструкцией break
- •Пропуск итераций с помощью инструкции continue
- •Лекция 6. Функции
- •Аргументы функции
- •Аргументы по умолчанию
- •Область видимости переменных
- •Лекция 7. Краткий обзор .Net Framework
- •Промежуточный язык Microsoft Intermediate Language
- •Компиляция “Just In Time”
- •Управляемый код и данные
- •Лекция 8. Создание приложений Web Forms Файлы проекта Web Forms
- •Файлы Web-приложения
- •Обработка событий События жизненного цикла Web-приложения
- •Сохранение данных Web-формы
- •Visual Basic .Net
- •Visual c#
- •События Application и Session
- •Visual Basic .Net
- •Visual c#
- •События Web-формы
- •Visual Basic .Net
- •Visual c#
- •События серверных элементов управления
- •Visual Baste .Net
- •Visual c#
- •Лекция 9. Работа с Web-объектами Введение в пространство имен
- •Пространства имен в Web-приложениях Обзор пространства имен Web
- •Visual Basic .Net
- •Visual c#
- •Использование объекта Application
- •Visual Baste .Net
- •Visual c#
- •Использование объекта Page
- •Visual Basic
- •Visual с#
- •Использование объекта Request
- •Visual Baste .Net
- •Visual c#
- •Использование объекта Response
- •Visual Baste .Net
- •Visual c#
- •Лекция 10. Сохранение сведений о состоянии Способы сохранения сведений о состоянии
- •Использование строк запросов
- •Visual Basic .Net
- •Visual c#
- •Использование переменных состояния Application и Session
- •Упорядочение доступа к переменным состояния
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Отключение переменных состояния Session
- •Лекция 11. Web-элементы управления. Использование элементов управления.
- •Простые элементы управления
- •Элементы управления Label
- •Элементы управления HyperLink
- •Элементы управления Image
- •Элементы управления CheckBox
- •Элементы управления RadioButton
- •Элементы управления Table
- •Элементы управления DropDownList
- •Элементы управления ListBox
- •Элементы управления CheckBoxList
- •Элементы управления RadioButtonList
- •Лекция 12. Проверяющие элементы управления
- •Использование проверяющих элементов управления
- •RequiredFieldValidator
- •RangeValidator
- •CompareValidator
- •RegularExpression Validator
- •CustomValidator
- •ValidationSummary
- •Отмена проверки вводимых данных
- •Лекция 13. Введение в Web-сервисы Обзор Web-сервисов xml
- •Инфраструктура Web-сервисов xml
- •Взаимодействие клиентов и Web-сервисов xml
- •Лекция 14. Механизм обнаружения Web-сервисов xml
- •Использование Web-сервисов xml
- •Добавление Web-ссылки
- •Генерация класса прокси
- •Создание объекта класса прокси
- •Доступ к Web-сервису xml через объект прокси
- •Сериализация
- •Лекция 15. Управление Web-методами при помощи атрибутов Атрибуты Web-метода
- •Буферизация откликов Web-метода
- •Visual c#
- •Пользовательские маркеры
- •Подписи
- •Шифрование
- •Лекция 17. Модель безопасности asp.Net
- •Лекция 18. Введение в инфраструктуру Microsoft .Net Remoting
- •Объекты .Net Remoting
- •Передача объектов по механизму .Net Remoting
- •Пример кода для простого серверного объекта .Net Remoting
- •Срок жизни, определяемый арендой
- •Channel Services (System.Runtime.Remoting.Channels)
- •Пример кода, загружающего Channel Services
- •Форматирующие объекты сериализации (System.Runtime.Serialization.Formatters)
Оператор ?
Оператор “?” возвращает значение одного из двух выражений, разделенных знаком двоеточия. Какое из двух выражений сформирует возвращаемое значение – зависит от истинности тестового выражения.
(тестовое_выражение)? выражение_1: выражение_2;
Если тестовое выражение принимает значение true, то возвращается значение первого выражения; в противном случае возвращается значение второго выражения. Рассмотрим пример использования оператора “?”, возвращаемое значение которого зависит от значения переменной $mood.
<?php
$mood = "sad";
$text = ( $mood=="happy" )? "I’m so happy!" : "Just $mood";
print "$text";
?>
В переменной $mood записана строка "sad". Значение этой переменной сравнивается со строкой "happy". Поскольку совпадения не происходит, возвращается второе из значений.
Оператор “?” может пригодиться, если есть всего два выбора и дает возможность сделать текст программы более компактным.
Циклы
До сих пор мы говорили о том, как программа может принимать решение о выполнении того или иного фрагмента. Однако программа может также принять решение о том, сколько раз выполнить определенный фрагмент. Для многократного повторения фрагмента программы служат так называемые циклы.
Цикл while
Цикл while по своей структуре напоминает условную инструкцию if и представляет собой цикл с предусловием.
while (выражение)
{
//тело цикла
}
До тех пор, пока выражение в скобках истинно, тело цикла выполняется. Как правило, при этом некоторым образом изменяется какая-то переменная или переменные, от которых зависит значение выражения в скобках. Если такой зависимости нет, то цикл будет выполняться бесконечно. Рассмотрим пример цикла, который выводит таблицу умножения на 2.
<?php
$counter = 1;
while ( $counter <= 12 )
{
print "$counter умножить на 2 будет ". ($counter*2) . "<br>";
$counter++;
}
?>
В начале инициализируется переменная $counter. В условном выражении цикла проверяется ее значение. До тех пор, пока значение переменной меньше или равно 12, цикл выполняется. В теле цикла переменная $counter умножается на 2 и выводится в окно броузера. После этого ее значение увеличивается на 1. Данный момент особенно важен. Если забыть это сделать, то условное выражение цикла никогда не станет ложным и цикл будет выполняться бесконечно.
Цикл do... While
Цикл do … while представляет собой цикл с постусловием, то есть цикл do … while сначала выполняется, а потом проверяется истинность своего условия.
do
{
//тело цикла
}
while (выражение);
Эта конструкция цикла может быть полезна в том случае, если нужно, чтобы его тело выполнилось хотя бы один раз, независимо от значения тестового выражения. В следующем листинге приведен пример использования цикла do... while. В данном примере цикл будет выполнен один раз.
<?php
$num = 1 ;
do
{
print "Номер прохода: $num<br>\n";
$num++;
}
while ( $num > 200 && $num < 400 ) ;
?>
В условии этого цикла проверяется значение переменной $пшп, а именно – находится ли оно в интервале от 200 до 400. Поскольку переменная инициализирована значением 1, условие ложно, но, несмотря на это, цикл выполнится один раз и выведет в броузер одну строку.