Предмет: Информатика,
автор: jioo568
Напишите программу, которая определяет, верно ли, что введённое число содержит две одинаковых цифры, стоящие рядом ( как, например 221 )
ЭТО ПАСКАЛЬ
Нужно составить программу с помощью цикла WHILE
Заранее СПАСИБО
Аноним:
"Задача добежать из пункта А в пункт Б за 15 минут. Расстояние между ними составляет 2.1 км. БЕЖАТЬ НАДО В МЕШКЕ!"
Простите,но я не очень понимаю вас
Да не шибко умное условие. Если надо решить задачу - значит, надо решить. А искусственно в ней условия ставить (цикл While) - это условие не просто бежать, а в мешке. Это от бессилия автора придумать задачу, в которой цикл While действительно будет лучшим выбором.
Понимаете, когда Вам нужно сделать чашку кофе, вовсе не обязательно ставить условие, как именно это нужно делать. Вам ведь на месте виднее, не так ли?
а эту программу можно написать с циклом постусловия? или каким еще циклом можно составить эту программу?
Есть масса способов написать эту программу. Цикл While - не самый плохой тут, но я вообще против навязывания способа решения. Это приучает к иждивенчеству. Во взрослой жизни Вам никто не будет подсказывать, как поступать - это одна из особенностей взрослой жизни.
Вы должны, проанализировав задачу, сами определить, как тут удобнее получить требуемое.
Причем не мне удобнее, не вашему преподавателю, а лично Вам.
Ответы
Автор ответа:
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.
В каждом классе/группе учат язык на уровне его знания учителем/преподавателем, а не по общему какому-то стандарту.
В первой программе 19 строк, во второй - 5. В "полегче", видимо, их должно быть так с 25 ?
var n := Abs(ReadInteger('Введите целое число:'));
var yes := False; ( мы вот такую запись не проходили просто,а остальное мне все понятно)
var yes := False; ( мы вот такую запись не проходили просто,а остальное мне все понятно)
"Не проходили" - это же не означает, что нельзя )))
Запишите, "как проходили", на самом верху var yes:boolean, а в этой строке var уберите
boolean тоже не проходили
Ну логический тип переменных.
Откуда я вообще знать могу, что Вы там проходили?
У Вас получается, как если бы Вы в сочинении поставили точку с запятой, а Вам кто-то сказал, что точки с запятой вы еще не проходили.
Вы не просто решение задачи хотите получить, а такое, которое можете сдать, выдав за свое. Мы тут этим не занимаемся.
Похожие вопросы
Предмет: Математика,
автор: valeri4357
Предмет: История,
автор: samonchik2009
Предмет: Қазақ тiлi,
автор: altynbekzuhra384
Предмет: Математика,
автор: marina2000Akopova
Предмет: Математика,
автор: mashamordovina1983