Условный оператор while
Главные особенности цикла while в PHP. Характеристика способов работы с операторами break и continue. Использование цикла for в тех случаях, когда заранее известны начальное и конечное значения. Проведение исследования бесконечного классического цикла.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лабораторная работа |
Язык | русский |
Дата добавления | 20.12.2018 |
Размер файла | 308,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Министерство Образования и Науки Республики Таджикистан
Таджикский Технический Университет имени М.С. Осими
Лабораторная работа
Тема: «Условный оператор while»
Выполнил:
Хомидов Ф
Принял:
Джовиди ДЖ
Душанбе 2018
Цикл под названием while в PHP имеет свои особенности. Давайте их разберем.
Цикл while переводится как «пока условие истинно (true)». Записывается он так:
<?php
while( условие ){
Код;
}
?>
Для того, чтобы этот цикл while работал, у нас в условии должно быть true. Давайте сразу посмотрим пример:
<?php
$int = 10;
while($int < 50){
$int +=2;
$int++;
echo $int;
}
?>
Здесь почти все точно также как в цикле for. Мы присваиваем переменной какое-то значение, а дальше крутится цикл, до тех пор, пока $i меньше 50, у нас будет выполняться код внутри цикла, то есть вывод переменной $int. И for и while -- они взаимозаменяемые. Поэтому можно использовать либо while, либо for.
Однако, для того чтобы все таки почувствовать разницу в их использовании, скажу, что цикл for я использую в тех случаях, когда мне заранее известны начальное и конечное значения. Например, мне нужно прокрутить цикл от 1 до 100, тогда я использую for. А вот когда нам заранее не известна конечная точка, как например, мы будем разбирать это дальше, чтение файла построчно. Тут никогда не знаешь сколько у файла строк. Вот в этом случае очень хорошо подходит цикл while.
Вообщем здесь ничего сложного нет, все как с циклом for. Кстати про цикл for можно прочитать в статье цикл FOR в PHP.
Давайте тогда рассмотрим задание, которое мы делали с циклом for, только теперь мы его выполним с циклом while:
Используя цикл while выведите в столбик нечетные числа от 1 до 100!
Вот как можно это сделать:
<?php
$n = 1;
while($n < 100){
echo $n."<br />";
$n += 2;
}
?>
Теперь давайте немного вернемся к циклу for. Дело в том, что у цикла for части из которых он состоит, а мы помним, что их всего три, так вот каждая из частей может быть пропущена, но при этом должны остаться точки с запятой. Вот как это выглядит:
<?php
for(; $i < 100; ){
echo $i."<br />";
}
?>
Или вот например, бесконечный классический цикл:
<?php
for(;;){
echo $i."<br />":
}
?>
Любая из частей может пропускаться, но точки с запятой в обязательном порядке должны быть. оператор бесконечный цикл
Разбираемся дальше. Бывают ситуации, когда цикл должен пройти целиком, но и бывает так, что при какой-то ситуации он должен прерваться. Для этого у нас есть возможность управлять ими.
Способ номер раз -- известный нам из switch, оператор break.
Пример:
<?php
$n = 5;
while($n < 1000){
echo $n."<br />";
$n++;
if($n == 10) {
break;
}
}
?>
Оператор break выбрасывает нас из цикла при возникновении какого-то условия. В этом примере, если $n будет равна 10, мы вылетаем из цикла и цикл останавливается. И в браузер нам выведется 123456789 и все, так как у нас есть условие, если $n == 10, цикл остановится.
Второй способ управления циклами -- это оператор continue. Что означает -- продолжить.
Пример:
<?php
$n = 5;
while($n < 100){
$n++;
if($n == 10) continue;
echo $n."<br />";
}
?>
В отличие от break, оператор continue перебрасывает нас обратно к условию. Этот пример, в отличии от первого, выведет все кроме числа 10.
У цикла while, да и цикла for тоже есть один недостаток. Они могут никогда не исполниться, если начальное условие будет false. Например:
<?php
$n = 1000;
while($n < 100){
echo $n."<br />";
$n ++;
}
// Данный цикл никогда не запустится
?>
Я думаю понятно почему он не запустится? Если нет, обратите внимание на условие в цикле -- $n < 100. Когда у нас изначально переменная $n = 1000, она никогда не будет меньше 100, поэтому выполнение цикла не произойдет. Но иногда нам просто необходимо, чтобы цикл выполнился хотя бы один раз. Для этих целей у нас есть цикл, который называется do while или он еще называется "while с пост условием".
Он записывается так:
<?php
do{
Код;
}while(условие)
?>
PHP всегда гарантированно зайдет в этот цикл, выполнит код, а потом только проверит условие, то есть получается, что если условие ложно, то все равно цикл выполнится один раз.
While16. Спортсмен-лыжник начал тренировки, пробежав в первый день 10 км. Каждый следующий день он увеличивал длину пробега на P процентов от пробега предыдущего дня (P -- вещественное, 0 < P < 50). По данному P определить, после какого дня суммарный пробег лыжника за все дни превысит 200 км, и вывести найденное количество дней K (целое) и суммарный пробег S (вещественное число).
<html>
<head><title>Firuz Homidov</title></head
<form method="GET">
<p>While16. Спортсмен-лыжник начал тренировки, пробежав в первый день 10 км.
Каждый следующий день он увеличивал длину пробега на P процентов от
пробега предыдущего дня (P -- вещественное, 0 < P < 50). По данному P
определить, после какого дня суммарный пробег лыжника за все дни
превысит 200 км, и вывести найденное количество дней K (целое) и
суммарный пробег S (вещественное число).</p>
P: <input type="text" name="P" /><br><br>
<input type="submit" value="Отправить">
</form>
</html>
<?php
$d1 = 10;
if(isset($_GET['P'])) {
$P = $_GET['P'];
if($P>49 or $P<1){
echo "<script>alert(\"Введите 0 < P < 50\");</script>";
}else {
$pro = $d1 * $P / 100;
$i = 1;
while ($d1 < 200) {
$i++;
$d1 = $d1 + $pro;
// echo $d1 . "км " . "день " . $i . "<br />";
}
echo "В течении ".$i." дня "."Спортсмен пробежал ".$d1."км";
}
}
?>
Размещено на Allbest.ru
...Подобные документы
Изучение циклических операторов: оператора цикла, управляемого счетчиком, оператора цикла с предусловием и постусловием. Минимизированные функции, текст программы. Алгоритм работы приложения по нахождению функции с помощью операторов break и continue.
лабораторная работа [474,2 K], добавлен 23.11.2014Операторы цикла, присутствующие в языках программирования. Простой арифметический оператор цикла Паскаля, управление циклом с помощью переменной порядкового типа. Арифметический оператор цикла Паскаля с произвольным шагом, оператор цикла с предусловием.
реферат [59,5 K], добавлен 01.04.2010Рассмотрение принципов работы операторов, реализующих циклические алгоритмы: while (выполнение условия, пока заданное выражение истинное), do-while, for, break (прекращение работы из-за обнаружения ошибки), continue (пропуск "оставшейся" части итерации).
лабораторная работа [54,2 K], добавлен 15.07.2010Система программирования Турбо Паскаль. Главные особенности языка С++. Составной и условный оператор в Паскале, алгоритм работы. Метка в Турбо Паскале. Счетный оператор цикла FOR. Описание логической структуры. Свойства функции PieSlice и initgraph.
курсовая работа [20,8 K], добавлен 23.12.2010Примеры динамического построения html-страницы при помощи JavaScript. Использование цикла For, когда заранее известно, сколько раз должны повториться циклические действия. Выполнение циклических операторов входа и выхода, прерывание текущей итерации.
лабораторная работа [52,4 K], добавлен 19.09.2019Инструкции выбора if, switch, цикла for, while, do-while, перехода break, continue, goto и возврата return. Понятие и функциональные особенности указателя, операции над ними, передача параметров функции. Связь массивов и указателей – генерация указателя.
презентация [94,8 K], добавлен 19.10.2014Применение циклической управляющией структуры для организации многократного выполнения некоторого оператора. Конструкция цикла: заголовок и тело, и алгоритм выполнения операторов while, do while и for. Отличия циклов с постусловием и предусловием.
контрольная работа [65,8 K], добавлен 30.12.2010Основные типы циклов программирования. Методы применения специальных функций break, continue и цикла while. Обработка массивов информации. Условия применения циклических алгоритмов на языке программирования С++. Инициализация одномерного массива.
курсовая работа [1,7 M], добавлен 06.01.2014Предназначение цикла for - оформление циклов (набора действий) с заданным количеством повторений. Пример программы, выводящей на экран все целые числа от 0 до 99. Решение задачи с помощью двух алгоритмов, используя известные функции ввода-вывода.
лабораторная работа [35,1 K], добавлен 15.07.2009Требования к технологии проектирования программного обеспечения (ПО). Состав и описание стадий полного жизненного цикла ПО. Классификация моделей жизненного цикла ПО, их особенности. Методологии разработки ПО, приёмы экстремальный программирование.
презентация [874,4 K], добавлен 19.09.2016Простейшая программа на языке С++. Вывод данных на экран. Реализация функций в тексте программы. Создание программ для выполнения в среде MS DOS, Windows. Знакомство с операторами языка. Оператор цикла в форме for. Одномерные и многомерные массивы.
курс лекций [264,8 K], добавлен 27.07.2010Структура программы PL/SQL. Секция заголовка блока. Элементы, объявленные в секции объявлений базового блока. Приоритет операций выражения. Управление выполнением программы. Конструкция и синтаксис цикла LOOP. Оператор GOTO и метки, пример использования.
лекция [356,3 K], добавлен 14.02.2014Особенности основных, вспомогательных и организационных процессов жизненного цикла автоматизированных информационных систем. Основные методологии проектирования АИС на основе CASE-технологий. Определение модели жизненного цикла программного продукта.
курсовая работа [1,8 M], добавлен 20.11.2010Характеристики операторов языка Си. Операторы безусловного и условного перехода: if, if-else, if-else if. Оператор переключатель switch. Оператор цикла с предусловием while, постусловием do-while. Упрощение логических выражений, взаимозаменяемость циклов.
лабораторная работа [30,0 K], добавлен 06.07.2009Создание кнопки панели инструментов для выполнения макроса. Практический пример создания таблицы значений функций. Использование оператора Select Case. Создание процедуры с использованием операторов цикла For/Next и Do/Loop. Оператор InputBox, массив.
контрольная работа [501,8 K], добавлен 06.12.2013История развития программы Паскаль. Типы переменных. Значение переменной для прекращения вычислений. Использование операторов цикла, процедур и функций. Ввод значений М-конца цикла и произведение вычислений по расчётной формуле. Форматированный вывод.
контрольная работа [45,9 K], добавлен 13.07.2013Процессы Oracle CDM. Стадии и этапы выполнения работ по созданию автоматизированной системы (АС). Основные модели жизненного цикла ПО. Требования к содержанию документов. Основная проблема спирального цикла. Работы, выполняемые при разработке проекта.
презентация [194,1 K], добавлен 14.10.2013Основные методологии проектирования, модели жизненного цикла локальных систем, сущность структурного подхода. Моделирование потоков процессов и программные средства поддержки их жизненного цикла. Характеристика и технология внедрения CASE средств.
курсовая работа [686,9 K], добавлен 13.12.2010Анализ проблем, решаемых при помощи итерации. Изучение жизненного цикла разработки информационных систем и автоматизации. Дисциплины жизненного цикла IBM Rational Unified Process. Особенности внедрения процессов и инструментальных средств в организации.
реферат [751,0 K], добавлен 05.10.2012Общая характеристика структурного программирования. Использование конструкций цикла и условного оператора. Методология функционального моделирования SADT, ее основные элементы. Типы связей между функциями. Моделирование потоков данных (процессов).
дипломная работа [704,7 K], добавлен 20.10.2009