блог о программировании

Определение итератора

Иногда в программировании стоит задача пройтись по публичным свойствами класса, чтобы либо их посчитать либо просто использовать в другой части программы. Например:

class A {
	public $e=1;
	public $c=2;
	public $f=3;
	}
	$f = new A;
	foreach ($f as $a => $b) {
		echo $a.'->'.$b.'<br>';
	}

Если мы добавим сюда защищенное свойство, то проитерировать (пройтись) защищенные свойства итератору уже не получится и просто так их напечатать на экран:

Генераторы итераторы.

<?php 
// генераторы 
## Простейший генератор   
  function simple($from = 0, $to = 100)   
    {     
      for($i = $from; $i < $to; $i++) 
        {       
          echo "значение = $i <br/>";       
          yield $i;     
        }   
    }
// yield возвращает одно значение и управление возвращается оператору foreach
  foreach (simple() as $val) 
    {     
      echo "квадрат = ".($val*$val)."<br />";
      if ($val >= 5) break;   
    } 
 ?>
function generator()  
 {     

Яндекс Метрика куда копировать

Яндекс Метрика добавляется под футером. Пример:

О делении с остатком в одном неевклидовом кольце

В книге "Алгебра" ван дер Вардена есть следующая задача.

В кольце чисел $a+b\sqrt{-3}$, где $a$ и $b$ --- целые числа (мы будем обозначать это кольцо через $R$), число 4 разлагается на простые множители двумя существенно различными способами:
$$
4 = 2\cdot 2=(1+\sqrt{-3})(1-\sqrt{-3}).
$$

Это значит, что кольцо $R$ не является евклидовым. Невозможно определить для $R$ норму и деление с остатком, удовлетворящие определению евклидова кольца.

Please enable the Virtual Machine Platform Windows

Please enable the Virtual Machine Platform Windows

Включать так: https://docs.microsoft.com/ru-ru/windows...

Хайоу Чжан (Хайо Цанг) выступил в Воронежской филармонии

Хайоу Чжан (Хайо Цанг) выступил в Воронеже в пятницу (19:00) 22 ноября 2019 года. Им был сыгран концерт Чайковского: "Концерт для фортепиано с оркестром №1".
Зал встретил окончание исполнения овациями, аплодировали стоя.

Затем пиансит-виртуоз исполнил на бис "Арию" Баха, а после продолжения оваций сыграл второе произведение - "Турецкий марш" Моцарта в обработке Горвица (так сказал ведущий - Бронислав Табачников).

Есть подозрение, что "Ария" тоже была сделана в обработке, это было прекрасно.

Задача №9 Вывод массива елочкой

<?php 
/**
* Задачи - http://fkn.ktu10.com/?q=node/8086
*
* @param int количество для вывода елочкой
*/
function showCristmasTree(int $limit)
{
	// Кидаю исключение если число меньше или равно нулю
	if ($limit <= 0) {
		throw new Exception("Error value not correct !");
	}
	
	$r = 0; // Счетчик вывода
	$m = 1; // Число что водится на экран

	for ($i=0; $i <= $r; $i++) 
	{ 
		for ($j=0; $j <= $r; $j++) 
		{ 
			if ($m <= $limit) 
			{
				echo $m . ' ';
				$m++;
			}
		}

Задача № 5

<?php 
/**
* Задачи - http://fkn.ktu10.com/?q=node/8086
*
* Вывод остатка от деления пока число > 1 
*
* @param int число для вывода
*/
function showResult(int $number)
{
	if ($number <= 1) {
		throw new Exception("Error value not correct !");
	}

	while($number > 1){
		echo $number % 10 . '<br>';
		$number /= 10; 
	}
}


// Перехватываю исключение
try{
	showResult(3567);
}catch(Exception $e){
	echo $e->getMessage();
}

Pages

Subscribe to RSS - блог о программировании