Напишите программу, которая определяет, верно ли, что введённое число содержит две...

0 голосов
112 просмотров

Напишите программу, которая определяет, верно ли, что введённое число содержит две одинаковых цифры, стоящие рядом ( как, например 221 ) ЭТО ПАСКАЛЬ Нужно составить программу с помощью цикла WHILE Заранее СПАСИБО


Информатика (519 баллов) | 112 просмотров
0

"Задача добежать из пункта А в пункт Б за 15 минут. Расстояние между ними составляет 2.1 км. БЕЖАТЬ НАДО В МЕШКЕ!"

0

Простите,но я не очень понимаю вас

0

Причем не мне удобнее, не вашему преподавателю, а лично Вам.

0

Вы должны, проанализировав задачу, сами определить, как тут удобнее получить требуемое.

0

Есть масса способов написать эту программу. Цикл While - не самый плохой тут, но я вообще против навязывания способа решения. Это приучает к иждивенчеству. Во взрослой жизни Вам никто не будет подсказывать, как поступать - это одна из особенностей взрослой жизни.

0

а эту программу можно написать с циклом постусловия? или каким еще циклом можно составить эту программу?

0

Понимаете, когда Вам нужно сделать чашку кофе, вовсе не обязательно ставить условие, как именно это нужно делать. Вам ведь на месте виднее, не так ли?

0

Да не шибко умное условие. Если надо решить задачу - значит, надо решить. А искусственно в ней условия ставить (цикл While) - это условие не просто бежать, а в мешке. Это от бессилия автора придумать задачу, в которой цикл While действительно будет лучшим выбором.

Дан 1 ответ
0 голосов
Правильный ответ

PascalABC.NET 3.4.2, сборка 1864 от 11.11.2018

Внимание! Если программа не работает, обновите версию!

begin

 var n := Abs(ReadInteger('Введите целое число:'));

 var yes := False;

 var n1 := n mod 10;

 n := n div 10;

 while n > 0 do

 begin

   var n2 := n mod 10;

   if n1 = n2 then

   begin

     yes := True;

     break

   end;

   n := n div 10;

   n1 := n2

 end;

 if yes then Print('Верно')

 else Print('Неверно')

end.


А еще это можно решить, к примеру, так:

begin

 var s := Abs(ReadInteger('Введите целое число:')).ToString;

 if s.Pairwise.Any(t->t[0]=t[1]) then Print('Верно')

 else Print('Неверно')

end.

(654k баллов)
0

var n := Abs(ReadInteger('Введите целое число:')); var yes := False; ( мы вот такую запись не проходили просто,а остальное мне все понятно)

0

У Вас получается, как если бы Вы в сочинении поставили точку с запятой, а Вам кто-то сказал, что точки с запятой вы еще не проходили.

0

Откуда я вообще знать могу, что Вы там проходили?

0

Ну логический тип переменных.

0

boolean тоже не проходили

0

Запишите, "как проходили", на самом верху var yes:boolean, а в этой строке var уберите

0

"Не проходили" - это же не означает, что нельзя )))

0

В первой программе 19 строк, во второй - 5. В "полегче", видимо, их должно быть так с 25 ?

0

В каждом классе/группе учат язык на уровне его знания учителем/преподавателем, а не по общему какому-то стандарту.

0

Вы не просто решение задачи хотите получить, а такое, которое можете сдать, выдав за свое. Мы тут этим не занимаемся.