Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.11.2018, 09:00   #1
илья-т
Пользователь
 
Регистрация: 09.11.2018
Сообщений: 10
По умолчанию Бак от IJust 2

Определите значение переменной m после выполнения следующего фрагмента программы:

Код:
m:=0;
for i:=1 to 10 do
begin
n:=i+2;
if n>10
then m:=n+m*2
else m:=m+1;
end;
помогите пожалуйста
в ответе 66 а у меня не так

_____
Код программы нужно выделять (форматировать) тегами [CODE][/CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 09.11.2018 в 09:23.
илья-т вне форума Ответить с цитированием
Старый 09.11.2018, 09:34   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Вы бы отформатировали сначала код
Код:
program ideone;
var n,m,i:integer;
begin
	m:=0;
	for i:=1 to 10 do
	begin
    		n:=i+2;
	    	if n>10
    			then m:=n+m*2
    			else m:=m+1;
	end;
	writeLn(m)
end.
в ответе будет 66 - пруф - https://ideone.com/w3UNaj

Цитата:
Сообщение от илья-т Посмотреть сообщение
у меня не так
скорее всего Вы не учитываете, что вычисление m производится ВНУТРИ цикла
т.е.
первая итерация
i=1
n:=i+2; // n становится равным 3
if n>10 // условие не выполняется
else m:=m+1; // m становится 1

цикл 2
i=2
n:=i+2; // n становится равным 4
if n>10 // условие не выполняется
else m:=m+1; // m становится 2
и т.д.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.11.2018, 09:59   #3
илья-т
Пользователь
 
Регистрация: 09.11.2018
Сообщений: 10
По умолчанию

Определите значение переменной m после выполнения следующего фрагмента программы:

m:=0;
for i:=1 to 10 do
begin
n:=i+2;
if n>10
then m:=n+m*2
else m:=m+1;
end;

не получается
помогите
илья-т вне форума Ответить с цитированием
Старый 09.11.2018, 10:00   #4
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Первые 8 итераций будет выполняться ветка else, в результате m = 8.
Потом
8 * 2 + 11 = 27
27 * 2 + 12 = 66
Black Fregat вне форума Ответить с цитированием
Старый 09.11.2018, 10:41   #5
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

Бляха-муха, сказали ему: форматируй код, объяснили ход решения - все равно тупо копипастит свой начальный код. Вставь в цикле перед end
Код:
writeln (i,n,m );
- будешь видеть весь ход процесса.
И где тут бак ?
Изображения
Тип файла: jpg tupoy.JPG (3.0 Кб, 106 просмотров)
Тип файла: jpg Бак.JPG (3.9 Кб, 108 просмотров)

Последний раз редактировалось digitalis; 09.11.2018 в 10:56.
digitalis на форуме Ответить с цитированием
Старый 09.11.2018, 10:50   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
будешь видеть весь ход процесса.
видеть - это не значит понимать
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.11.2018, 11:00   #7
илья-т
Пользователь
 
Регистрация: 09.11.2018
Сообщений: 10
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
Бляха-муха, сказали ему: форматируй код, объяснили ход решения - все равно тупо копипастит свой начальный код. Вставь в цикле перед end
Код:
я учусь в 9 классе и мы только начали проходить паскаль
решаем все письменно в тетради
поэтому не сразу понял ход решения
илья-т вне форума Ответить с цитированием
Старый 09.11.2018, 11:04   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от илья-т Посмотреть сообщение
я учусь в 9 классе и мы только начали проходить паскаль
понятно.


Цитата:
Сообщение от илья-т Посмотреть сообщение
решаем все письменно в тетради
в тетради тем более надо записывать код с отступами, форматировать его, чтобы было видно, какой блок кода (операторы) к чему относится.


Цитата:
Сообщение от илья-т Посмотреть сообщение
поэтому не сразу понял ход решения
не сразу, но всё таки понял?

а я вот не понял, что означает "Бак от IJust 2"...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.11.2018, 11:10   #9
илья-т
Пользователь
 
Регистрация: 09.11.2018
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
а я вот не понял, что означает "Бак от IJust 2"...
я только сегодня зарегистрировался
и случайно заголовок не тот напечатался вот так
илья-т вне форума Ответить с цитированием
Старый 09.11.2018, 11:21   #10
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

Ну тогда учись. Выучишься - программистом станешь, не выучишься - начальником будешь.
А изучать Паскаль "в тетрадке", без компа - все равно, что... ну ладно, не буду мо'лодежь развращать.

Последний раз редактировалось digitalis; 09.11.2018 в 11:23.
digitalis на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
можно ли восстановить бак файлы Анастасия123456789 Помощь студентам 0 22.04.2009 13:28