Помогите, пожалуйста! Очень вас прошу! Через паскаль! num, res Написать программу,...

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

Помогите, пожалуйста! Очень вас прошу! Через паскаль! num, res
Написать программу, которая в последовательности натуральных чисел определяет наибольшее, квадрат, которого не превосходит число 225.
Программа получает на вход натуральные числа, количество введенных чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода и не входит в последовательность).
Программа должна вывести одно число: наибольшее число в последовательности, квадрат которого не превышает число 225.
Не использовать: const, count и другие


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

Пастулат обозначений, всё! - кроме num и res, остальные запрещённо использовать. Непростительные заклятья)

0

не просто так спрашивал проходили ли метки

0

Смертельные противники goto, напишите приведенную ниже программу без goto и посмотрите, станет ли она от этого короче, понятнее, "правильнее" и т.д.

0

label [имя метки] это метка, т.е. место в программе, куда можно вернуться в любой момент перейдя по ссылке goto [имя метки]

0

Вы уже третий раз спрашиваете. Есть учебники, книги по паскалю, поисковики в Интернет. За это время набрать label pascal в поисковике двадцать раз можно было

0

нет,я просто ради примера, label что это?

0

Ну и главное. Вы написали в вопросе "Не использовать: const, count и другие " - а что же конкретно МОЖНО использовать?

0

Это не Ваше задание решено, это пример с goto! Не вздумайте его списать в качестве ответа

0

а, спасибо, а что значит label?

0

var i,j,k,n:integer;label M;begin n:=0; for i:=1 to 1000 do for j:=1 to 1000 do for k:=1 to 1000 do if i*j*k=84 then goto M else n:=n+1; Writeln('Не нашли');M: Writeln(n)end.

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

Если квадрат натурального числа не превосходит 225, то само это число не может превосходить √225 = 15.
Алгоритм
Заносим в переменную res (результат) число 0. Оно заведомо меньше любого из натуральных чисел в последовательности.
Читаем очередное число в последовательности. Если оно больше res и при этом не превышает 15, записываем его в res. Если оно равно нулю, чтение прекращаем и выводим значение res.

var
  res,num:integer;
begin
  res:=0;
  repeat
    Read(num);
    if (num>res) and (num<=15) then res:=num<br>  until num=0;
  Writeln(res)
end.

(150k баллов)
0 голосов

program zadanie;
var
max,num,a :byte;
label metka;
begin
max:=0;
writeln('vvodite chisla');
metka:
readln(a);
if a=0 then
writeln ('max=',max)
else
    if a*a>225 then
       begin
            writeln('Slishkom bolshoe chislo');
            goto metka;
       end
    else
        begin
             if max             goto metka;
        end;
readln;
end.


(340 баллов)
0

переменную num убери, забыл удалить

0

label [имя метки] это метка, т.е. место в программе, куда можно вернуться в любой момент перейдя по ссылке goto [имя метки] не просто так спрашивал проходили ли метки

0

да, нет я имел ввиду что значит label

0

))))) goto, значит, проходили? или проходили и мимо прошли?

0

и label metka?

0

а что такое goto metka?

0

welcome!

0

Ага! Ну, вот, то, что мне было нужно! Спасибо, огромное!

0

странно, что не смутило metka: