- •Иркутский государственный университет путей сообщения кафедра “информатика” программирование на языке php
- •Иркутск
- •Содержание
- •Внедрение php-сценария в html-документ
- •Алфавит языка
- •Служебные слова
- •Типы данных
- •Комментарии
- •Переменные
- •Математические функции
- •Математические константы
- •Выражения
- •Операторы присваивания
- •Проверка существования переменной
- •Isset(переменная);
- •Is_string(переменная);
- •Мои поздравления!
- •Платежная ведомость
- •Отладочная печать
- •Var_dump(переменная);
- •Форматирование чисел
- •Number_format(переменная, точность, разделитель1, разделитель2);
- •Массивы
- •Создание массивов
- •Многомерные массивы
- •Операции над массивами Перемещение по массиву
- •Копирование массивов
- •Сортировка массивов
- •Запись значений элементов массива в переменные из списка
- •Преобразование массива в текстовую строку
- •Преобразование текстовой строки в массив
- •Функции для работы с массивами
- •Глобальные предопределенные массивы
- •Работа с формой Работу выполнил студент группы ис-09 Пупкин Василий
- •Дата и время
- •Mktime(час, мин, сек, месяц, день, год);
- •1972450760 Секунд 547902.98888889 часов 22829.291203704 дней 62.546003297818 лет
- •Date(формат, число);
- •Strtotime(дата_время, число);
- •Функции
- •Рекурсия
- •Функция dumper()
- •Функции для работы со строками
- •Регулярные выражения
- •Автономные функции
- •Текстовые файлы
- •Включение файлов
- •Получение информации о файле
- •Блокировка файлов
- •Бинарные файлы
- •Алгоритм и его свойства
- •Схемы алгоритмов
- •Пример записи алгоритма:
- •Базовые структуры
- •Цепочка
- •Ветвления
- •Альтернатива
- •Действие альтернативы:
- •If (условие)
- •Вариант 2 – с использованием операции конъюнкции
- •Часто встречающиеся ошибки программирования:
- •Переключатель
- •Часто встречающиеся ошибки программирования:
- •Бесконечные циклы
- •Циклы с предусловием
- •Программа:
- •Часто встречающиеся ошибки программирования:
- •Циклы с постусловием
- •Программа:
- •Циклы с параметром
- •Действия цикла:
Программа:
$count = 0;
$s = 0.0;
echo “<BR>Введите первое число:”;
// ввод $n
if ($n == 0)
return 0;
$min = $n; // за минимум и максимум принимаем
$max = $n; // первое введенное число
$count = 1; // введено одно число
$s = $n;
do
{
echo “<BR>Введите очередное число:”;
// ввод $n
if ($n == 0)
break;
$count++;
$s += $n;
if ($n > $max)
$max = $n;
if ($n < $min)
$min = $n;
}
while ($n != 0);
echo “<BR>Сумма = $s”;
echo “<BR>Количество чисел = $count”;
echo “<BR>min = $min);
echo “<BR>max = $max);
$sred = $s / $count;
echo “<BR>Среднее арифметическое = $sred);
Схема алгоритма:
вычислить s– сумму членов бесконечного ряда:
s = 1 + x/ 1! + x2 / 2! + x3 / 3! + … + xk / k! + …
с погрешностью ε0.
Каждый последующий член ряда можно определить через предыдущий, используя рекуррентнуюформулу:
yk+1 = yk·x / k
Текущая погрешность вычислений εопределяется последним просуммированным членом ряда:
ε =|yn|
Эту погрешность необходимо сравнить с заданной погрешностью ε0 для реализации условия окончания суммирования:
- если ε > ε0, то заданная точность еще не достигнута, и суммирование ряда необходимо продолжить, прибавив к имеющейся сумме еще один член,
- если ε <= ε0, то заданная точность достигнута, и суммирование необходимо прекратить.
Пусть s– искомая сумма,
y – очередной член ряда,
k- номер члена ряда,
eps_0 – заданная точность вычислений,
x – вводимый аргумент.
Схема алгоритма:
Программа:
$eps_0 = 0.001;
$k = 0;
echo “<BR>x =”;
// ввод $x
$y = 1.0;
$s = $y;
do
{
$k++;
$y *= $x / $k;
$s += $y;
}
while (abs($y) > $eps_0);
echo “<BR>Сумма = $s”;
Циклы с постусловием обычно используются в фильтрах входных данных– исходные данные вводятся до тех пор, пока они не будут корректными, а некорректные исходные данные отвергаются.
Пример: по введенному месяцу года определить количество дней в нем.
Программа: Схема фильтра (month– номер месяца)
do
{
echo “<BR>Введите номер месяца: ”;
// ввод $month);
}
while (($month < 1)||($month > 12));
switch ($month)
{
case 1: case 3: case 5:
case 7: case 8: case 10:
case 12: echo “<BR>31 день”;
break;
case 4: case 6: case 9:
case 11: echo “<BR>30 дней”;
break;
case 2: echo “<BR>28 дней”;
break;
default: echo “<BR>Такого месяца нет<BR>”;
}
Циклы с пред- и постусловиями используются тогда, когда заранее неизвестно количество их повторений (итераций). Если количество итераций известно заранее, то используютсяциклы с параметром.
Циклы с параметром
Управление работой циклов с параметромосуществляется не толькоусловием, но и значением специальной переменной –параметра цикла(счетчика).
Циклы этого типа получили наиболее широкое распространение в алгоритмических языках.
Схему цикла с параметром можно представить в следующем виде:
где x – параметр цикла– любая переменная,
x_нач– егоначальноезначение,
x_кон– егоконечноезначение,
x_шаг–шагего изменения (не только целое число).
В PHP циклы с параметром реализуютсяоператором цикла:
for (инициализация; условие; изменение)
{
оператор;
оператор;
оператор;
. . .
оператор;
}
где инициализация– устанавливаетначальноезначение параметра цикла,
условие– определяетусловиевыполнения цикла,
изменение – задаетизменениепараметра цикла после каждой итерации.