Skip to content

Instantly share code, notes, and snippets.

@mnba
Last active September 18, 2022 17:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mnba/8e152a0c79ea844173e1a290652e5906 to your computer and use it in GitHub Desktop.
Save mnba/8e152a0c79ea844173e1a290652e5906 to your computer and use it in GitHub Desktop.
<?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