Насколько я помню, линейные алгоритмы состоят из достаточно простых, но в то же время базовых операторов. Такими операторами являются оператор присваивания значения переменным, создание этих переменных, резервирование под них места и команды ввода - вывода данных, внесенных в программу пользователем.
Если смотреть с точки зрения пользователя, то оператора два: ввод-вывод и присваивание значения.
Попробуем решить эту задачу:
Ну проще всего сделать так: Обозначим арбузы буквами АБВГ
1) Будем взвешивать потихонечку. А с Б взвесим. Если А тяжелее, то А взвесим С В, если опять тяжелее А, то А взвесим с В, если опять а тяжелее, то а на последнем месте и у нас уже было три взвешивания. Теперь берем арбуз б взвешиваем его с в, если б тяжелее, то он на предпоследнем месте, теперь остается взвесить в с г, если в тяжелее в, то он второй по счету, а г самый легкий. Получилось как раз пять взвешиваний, меньше не получается. Ну, а в зависимости от того какие ситуации получаются будем идти по разным путям.
А с Б взвесим. Если Б тяжелее, то Б взвесим С В, если опять тяжелее Б, то Б взвесим с В, если опять Б тяжелее, то Б на последнем месте и у нас уже было три взвешивания. Теперь берем арбуз А взвешиваем его с в, если А тяжелее, то он на предпоследнем месте, теперь остается взвесить В с Г, если в тяжелее В, то он второй по счету, а Г самый легкий. Получилось как раз пять взвешиваний, меньше не получается. Ну и так далее рассуждая всегда за пять взвешиваний можно определить самый легкий арбуз и так далее.
Триггер - это электронное устройство, которое может иметь два устойчивых состояния. Их обычно обозначают, ка 0 или 1, или как "включено или выключено". Перевести триггер из одного состояния в другое можно внешним сигналом. Сфера применения триггеров очень широка - от вычислительных устройств до бытовой техники. Самое обычное применение - это запоминающие устройства, в которых триггер "хранит" 1 бит информации, пока на него подано питание. Если питание исчезло, то информация теряется. К другим применениям триггера можно отнести различные преобразователи формы сигнала и управляемые генераторы прямоугольных импульсов, различные счетчики и делители частоты, например, в часах, где частота задающего кварцевого генератора делится на различные множители для получения секундных, минутных и часовых отсчетов.
Собственно реализация того, что описал vlad1965vlad. Присваиваем переменной $fileexist значение по умолчанию false. В цикле, там где проверяется расширение файлов, присваиваем этой переменной значение true. Это означает, что условие проверки расширения хотя бы один раз отработало, а значит у нас есть хотя бы один файл. После цикла добавляем условие проверки значения переменной $fileexist. Если оно всё ещё false, значит ни одного файла найдено не было. Выводим соответствующее сообщение.
<hr />
$all_files = scandir('pages');
$fileexist=false;
echo '<div id=main_block><div>Список файлов</div>';
echo '<table id=table_fil align=center>';
// в цикле перебираем файлы
foreach($all_files as $one_file){
// проверяем не директория ли
if(!is_dir($one_file)){
// проверяем расширение
if(pathinfo($one_file, PATHINFO_EXTENSION) == 'html'){
// выполняем вывод списка
$file_name = explode('.', $one_file); // получаем имя
echo '<tr><td id=td width=80%>'.$file_name[0].'</td>';
echo '<td id=td align=center width=10%><a href="red.php?edit_page='.$file_name[0].'">Редактировать</a></td><td align=center id=td width=10%><a href="?del='.$one_file.'">Удалить</a></td></tr>';
$fileexist=true;
}
}
}
if ($fileexist==false)
echo 'Файлов нет!';
Стоит если:
1) хотите писать эффективный код (один из идеологических принципов С++ - программист не должен платить за то, что ему не нужно, поэтому в плюсах нет и никогда не будет сборщиков мусора или чего-то такого, поэтому теоретически {если у программиста руки откуда надо растут} - программы работают быстрее чем на питонах и джавах);
2) хотите программировать железки (контроллеры и прочее, хотя... можно на ассемблере);
3) хотите программировать кластеры и т.п. (стандарт программирования таких штук - OpenMP + MPI, а это либо фортран, либо С++).
и конечно, если не боитесь трудностей :).