Last active
September 18, 2022 17:23
-
-
Save mnba/8e152a0c79ea844173e1a290652e5906 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php //Упражнения по преобразованию составного оператора (compound) блока кода при операторе if в код без составных операторов. | |
// Задание 1 | |
// ДАНО: | |
// На вход программа в которой: есть один оператор "if" c одной только веткой "then". Т.е. без ветки "else". | |
// код программы: | |
$v = 120; | |
if ($v % 5 == 0 || $v % 2 == 0){ | |
print("some-string-1 \n"); | |
print("some-string-2 \n"); | |
print("some-string-3 \n"); | |
} | |
/* | |
Требуется: | |
Преобразовать это в программу в которой будет | |
1. оператор if в форме: | |
if ( $tolko_odna_peremennaya ) | |
а также | |
2. не будет составных (compound) блоков кода, т.е. объединенных скобками {} | |
Можно использовать следующие строительные блоки: | |
if ( $var) goto labelX; | |
goto labelY; | |
$var = virajenie; | |
print("some string\n"); | |
Конец задания 1. | |
*/ | |
?> | |
<?php | |
/* Решение 1.1. т.е. | |
1. оператор if в форме: | |
if ( $tolko_odna_peremennaya ) | |
*/ | |
$v = 120; | |
$cond = $v % 5 == 0 || $v % 2 == 0; | |
if ($cond) | |
//this is then branch | |
{ | |
print("some-string-1 \n"); | |
print("some-string-2 \n"); | |
print("some-string-3 \n"); | |
} //end of block 1 | |
/* | |
Решение 1.2. не будет составных (compound) блоков кода, т.е. объединенных скобками {} | |
*/ | |
$v = 120; | |
$cond = $v % 5 == 0 || $v % 2 == 0; | |
if (! $cond) goto end_of_block1; | |
//this is then branch | |
print("some-string-1 \n"); | |
print("some-string-2 \n"); | |
print("some-string-3 \n"); | |
//end of block 1 | |
end_of_block1: | |
; | |
?> | |
<? | |
//---------------------------------------------------------------------- | |
// Задание 2 | |
// ДАНО: | |
//на вход программа в которой: есть один оператор "if" в котором теперь есть и ветка "then" и ветка "else". | |
// код программы: | |
$v = 120; | |
if ($v % 5 == 0 || $v % 2 == 0){ | |
print("some-string2-1 \n"); | |
print("some-string2-2 \n"); | |
print("some-string2-3 \n"); | |
} | |
else { | |
print("some-string2-4 \n"); | |
print("some-string2-5 \n"); | |
print("some-string2-6 \n"); | |
} | |
print("next thing in program"); | |
/* | |
Требуется: | |
Преобразовать это в программу в которой будет оператор if в форме: | |
if ( $tolko_odna_peremennaya ) | |
а также не будет составных (compound) блоков кода, т.е. объединенных скобками {} | |
Можно использовать следующие строительные блоки: | |
if ( $var) goto labelX; | |
goto labelY; | |
$var = virajenie; | |
print("some string \n"); | |
Конец задания 2. | |
*/ | |
/* | |
Решение 2. | |
if-then-else преобразовать в форму без составных (compound) блоков кода, т.е. объединенных скобками {} | |
*/ | |
$v = 120; | |
$cond = $v % 5 == 0 || $v % 2 == 0; | |
if (! $cond) goto else_block1_begin; | |
//this is then branch | |
print("some-string2-1 \n"); | |
print("some-string2-2 \n"); | |
print("some-string2-3 \n"); | |
//end of then 1 | |
end_of_then_branch1:; | |
goto end_of_if_1; //! | |
//else //this is else branch | |
else_block1_begin: | |
print("some-string2-4 \n"); | |
print("some-string2-5 \n"); | |
print("some-string2-6 \n"); | |
//end of else branch1 | |
end_of_if_1:; | |
print("next thing in program"); | |
/* | |
Желательно запустить это на локальном компьютере, | |
Иначе придется обходится удаленным сервисом replit.com для PHP: | |
https://replit.com/languages/php_cli | |
Инструкция по установке PHP: | |
--- | |
Установка и настройка PHP | |
https://github.com/codedokode/pasta/blob/master/soft/php-install.md | |
Установка и настройка PHP | |
Ты можешь установить интерпретатор PHP себе на компьютер. Это позволит тебе запускать у себя программы. В отличие от онлайн сервисов типа Repl.IT/ideone/другое, ты сможешь запускать программы без ограничения по размеру и времени работы, сможешь читать/сохранять данные в файл, сможешь (программно) работать с сетью и интернетом. | |
В этой инструкции упоминается командная строка. Если ты с ней не работал, надо почитать мой [гайд по командной строке]() или любую другую статью. | |
--после установки: | |
In PHP, the console is a command-line interface, which is also called interactive shell. We can access it by typing the following command in a terminal: | |
php -a | |
If we type any PHP code in the shell and hit enter, it is executed directly and displays the output or shows the error messages in case of any error. | |
//From: | |
How to read user or console input in PHP ? - GeeksforGeeks | |
https://www.geeksforgeeks.org/how-to-read-user-or-console-input-in-php/ | |
// https://bit.ly/PHP_INSTALL_MD | |
*/ | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment