Заметили ошибку ?
Выделите это место и нажмите Ctrl + Q

Пишем программу для решения задания номер 14 ОГЭ по информатике на PHP


Всем привет! Вчера, как Вы знаете, вышел видеоурок для подготовки 14-ого задания ОГЭ по информатике. И, как Вы знаете, в конце каждого урока предлагается выполнить в виде домашнего задания по 10 различных задачек.


Сами же задачи обычно берутся на сайте fipi.ru, которые приходится тщательно решать и анализировать, чтобы записать в систему онлайн тестирования верные и проверенные ответы.


В этом деле на помощь мне пришла самописная программа, которую я реализовал на php. Данный скрипт решает 14 задание ОГЭ по информатике за 1 секунду. Может и Вам он пригодится.


Давайте вспомним типовую задачу 14 задания из ОГЭ по информатике:



У исполнителя Вычислитель две команды, которым присвоены номера:
1. умножь на 4
2. вычти 1
Первая из них увеличивает число на экране в 4 раза, вторая уменьшает его на 1.
Составьте алгоритм получения из числа 3 числа 39, содержащий не более 5 команд. В ответе запишите только номера команд.
(Например, 11221 – это алгоритм:
умножь на 4
умножь на 4
вычти 1
вычти 1
умножь на 4,
который преобразует число 1 в 56.)
Если таких алгоритмов более одного, то запишите любой из них.

Самым надёжным методом решения данной задачи является построение вот такой схемы:


Пишем программу для решения 14 задания ОГЭ по информатике


Т.е. от каждого числа мы проводим две стрелки, от которых "рождаются" новые числа, благодаря нашим двум операциям: умножению на 4 и вычитанию 1. Таким образом, мы точно не пропустим правильный ответ.


В нашей программе мы заключим данные операции (т.е. приём числа, создание новых двух чисел посредством исполнения наших двух операций) в функцию, и будем вызывать эту функцию рекурсивно. Соответственно, если наше число совпало с искомым, то необходимо вывести результат. А результат мы получаем в виде текстовой строчки, которая формируется посредством вызова наших функций. Также необходимо сделать, чтобы глубина была не более 5 команд.


Ну лучше посмотреть код, чем прочитать 1000 строк объяснений.


	$a = 3;
	$b = 39;
	$r = 0;
	$s = '';

	rs($a, $s, $r, $b);
	
	function rs($a, $s, $r, $b) {		
		if($r<=5) {
			$r++;
			if($a == $b) {
				echo $s;
				return;
			}
			rs($a*4, $s."1", $r, $b);
			rs($a-1, $s."2", $r, $b);
		}
		else {
			return;
		}
	}

Переменная $a - начальное число, $b - число, которое необходимо получить, $r - используется для подсчёта выполненных команд, $s - строка, где формируется ответ.


Сами операции (умножение на 4 и вычитание 1) задаются в строчках:


rs($a*4, $s."1", $r, $b);
rs($a-1, $s."2", $r, $b);

Результат работы программы: 12212


Перепишите данную программу на своём любимом языке программирования! Надеюсь, она Вам поможет при подготовке к ОГЭ по информатике. Пока!



02-08-2017 в 16:19:59





Похожая статья:

Приёмы на уроке информатики - меняем переменные местами без использования третьей переменной

Сегодня разберём хороший приём по информатике: как поменять значения п...

Категория: Алгоритмы  Подкатегория: Задачи
Дата: 15-01-2018 в 16:47:34 0



Оставить коментарий:



Напишите email, чтобы получать сообщения о новых комментариях (необязательно):


Задача против робота:

Ответ:


Последние
видео:



Шейкер-сортировка (С#)
ОГЭ по информатике. Задание 18


Подготовка к
ОГЭ


Подготовка к ОГЭ по информатике


Давайте
дружить!


Группа Вконтакте Code-Enjoy

Твиттер Александра Калужского

YouTube канал Code-Enjoy


Препод напал на тебя как вампир? Не бойся! Студланс защитит этот мир!