Вакансия Веб-разработчик Alef Development

Задание 1.

1. При помощи языка PHP создайте двумерный массив размером 6х6, заполните его числами из последовательности Фибоначчи таким образом, чтобы в углу [0][0] была единица, в ячейке [1][0] была единица, в ячейке [2][0] была цифра 2. Найдите сумму чисел находящихся на диагонали [5][0]-[0][5]

<?php
// Генерим 36 чисел фибоначчи
$a = array(0, 1);  
for ($i = 2; $i < 37; $i++) {
  $a[$i] = $a[$i-1]+$a[$i-2];
}

// Наполняем матрицу числами фибоначчи
for ($j = 0; $j < 6; $j++)
  for ($i = 0; $i < 6; $i++)
    $matr[$i][$j] = $a[$j*6+$i+1];

// Печатаем результат
for ($i = 0; $i < 6; $i++) {
  for ($j = 0; $j < 6; $j++)
    echo "\t".$matr[$i][$j];
  echo '<br>';
}

// Сумма чисел находящихся на диагонали [5][0]-[0][5]
for ($sum = 0, $j = 0; $j < 6; $j++) $sum += $matr[5-$j][$j];
echo "<p>Сумма чисел находящихся на диагонали [5][0]-[0][5]: $sum</p>";
?>
1 13 233 4181 75025 1346269
1 21 377 6765 121393 2178309
2 34 610 10946 196418 3524578
3 55 987 17711 317811 5702887
5 89 1597 28657 514229 9227465
8 144 2584 46368 832040 14930352

Сумма чисел находящихся на диагонали [5][0]-[0][5]: 1479692

Задание 2.

Нарисуйте в свободной форме схему следующей БД: 1) есть ученики, учителя и классы 2) каждый ученик учится в каком-то классе 3) учитель может преподавать в одном или более классах 4) в одном классе может преподавать один или более учителей

Упрощенная табличная модель

Задание 3.

PHP скрипт, который загружает из интернета любое изображение, в загруженном изображении копирует левую половину изображения, зеркально ее отражает и вставляет вместо правой половины изображения. Полученный результат должен быть сохранен в ту же папку, где лежит скрипт в формате png. Скрипт должен быть назван task3_updated.php

<?php
$upload_dir = wp_get_upload_dir();

// врЕменное место для хранения генерируемой в процессе обработки картинки
$path_dest_file = "${upload_dir['basedir']}/tmp/tmptask3.png";
$url_dest_file = "${upload_dir['baseurl']}/tmp/tmptask3.png";

// тут лежит неизменяемая картинка-исходник
$img_url = '/var/www/gvsoft/wp-content/uploads/2019/02/task3_src.png';

$file_content = file_get_contents($img_url);
file_put_contents($path_dest_file, $file_content); 

// Определяем размер изображения
$size = getimagesize($path_dest_file);
if ($size === false) die ('Bad image file!');

$neww = $size[0]; $newh = $size[1];

// Читаем изображение в память-источник
$source = imagecreatefromstring($file_content) or die('Cannot load original PNG');
$target = $source;

// копирование половины изображения с зеркальным переворотов
imagecopyresampled(
  $target,  // Идентификатор нового изображения
  $source,  // Идентификатор исходного изображения
  (int)($neww/2), 0,     // Координаты (x,y) верхнего левого угла в новом изображении
  (int)($neww/2), 0,     // Координаты (x,y) верхнего левого угла копируемого блока изображения
  (int)($neww/2), $newh, // Новая ширина,высота блока
  -(int)($neww/2), $newh // Ширина,высота копируемого блока
);

// Сохраняем результат в файле:
imagepng($target, $path_dest_file);

imagedestroy($source);
imagedestroy($target);

echo "<img src=/wp-content/uploads/2019/02/task3_src.png>"; // Покажем исходный файл в браузере
echo "<img src=$url_dest_file>"; // Покажем файл-результат обработки в браузере
?>
Эта запись была опубликована в PHP и отмечена в . ссылка.

Понравился пост? Подпишитесь на обновления по Обновления блога по RSS RSS

Похожие записи