Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: Эта возможность может быть недоступна в некоторых браузерах.
Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.
Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.
Если вы у нас впервые, загляните на страницу о проекте и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.
Структурно - правильно, и даже остроумно. Но ошибок много:посмотрите правильно ли я написал эту програму
- ошибка! Надоif (max - min = sred) then
var
number1, number2, number3: real;
min, sred, max: real;
begin
write('number1= ');
readln(number1);
write('number2= ');
readln(number2);
write('number3= ');
readln(number3);
max:= number1;
if number2 > max then max:= number2;
if number3 > max then max:= number3;
min:= number1;
if number2 < min then min:= number2;
if number3 < min then min:= number3;
if (number1 > min) and (number1 < max) then sred:= number1;
if (number2 > min) and (number2 < max) then sred:= number2;
if (number3 > min) and (number3 < max) then sred:= number3;
if ((max + min)/2 = sred) then
writeln('YES! ',min:0:3,' ',sred:0:3,' ',max:0:3)
else
writeln('NO!');
readln;
end.
Структурно - правильно, и даже остроумно. Но ошибок много:
1.
- ошибка! Надо
if ((max + min)/2 = sred) then
2. Где ввод самих чисел? Они в компьютер с неба не свалятся.
3. В конце программы желательно вставить оператор readln без параметров - тогда, выведя на экран результат, программа остановится и позволит этот результат рассмотреть.
4. ГРУБЕЙШАЯ ошибка: после закрывающего программу END должно стоять ТОЧКА, а не точка с запятой!
5. И, наконец: что за вывод данных у Вас применен? Откуда Вы взяли операторы ShowMessage и FloatToStr? Они в состав основных команд Паскаля не входят и требуют подключения специального модуля, где они задаются. А главное - зачем? Чтобы три числа на экран вывести? Так это делается много-много проще.
С учетом всего вышесказанного, предлагаю рабочий код:
Код:var number1, number2, number3: real; min, sred, max: real; begin write('number1= '); readln(number1); write('number2= '); readln(number2); write('number3= '); readln(number3); max:= number1; if number2 > max then max:= number2; if number3 > max then max:= number3; min:= number1; if number2 < min then min:= number2; if number3 < min then min:= number3; if (number1 > min) and (number1 < max) then sred:= number1; if (number2 > min) and (number2 < max) then sred:= number2; if (number3 > min) and (number3 < max) then sred:= number3; if ((max + min)/2 = sred) then writeln('YES! ',min:0:3,' ',sred:0:3,' ',max:0:3) else writeln('NO!'); readln; end.
В каком смысле? Почему неправильно? Я считаю, что всё правильно. Поясните.Вот эта строчка что то не правильно if ((max + min)/2 = sred) then
В каком смысле? Почему неправильно? Я считаю, что всё правильно. Поясните.
Поясняю на примере. Пусть дано три числа: 2, 12, 7. Ясно, что они образуют арифметическую прогрессию с d=5. Программа работает так:Почему надо делить на 2 если нам нужно найти разность чисел тоесть d чтобы узнать какая это прогрессия
Так. Хоть и писал об этом неоднократно, но подчеркну еще раз - я НЕ позволяю себе выкладывать на форум сырые неотлаженные неоттестированные программы. Естественно, и эта была проверена путём трансляции и запуска на ряде примеров. Разумеется, никаких ошибок она не выдает, да и неоткуда им взяться. А если у Вас возникают ошибка, то будьте так любезны - выложите ПОДРОБНУЮ информацию - где именно? Что сообщает транслятор? Ну и т.п. - чем больше, тем лучше. Будем разбираться.програма выдает ошибку
Поясняю на примере. Пусть дано три числа: 2, 12, 7. Ясно, что они образуют арифметическую прогрессию с d=5. Программа работает так:
1. Находит минимальное (min) - в данном примере 2.
2. Находит максимальное (mах) - в данном примере 12.
3. Проверяет, совпадает ли среднее арифметическое между max и min (2+12)/2 с третьим числом (sred). Если да, то числа образуют прогрессию.
Можете проверить на любых своих примерах.
Так. Хоть и писал об этом неоднократно, но подчеркну еще раз - я НЕ позволяю себе выкладывать на форум сырые неотлаженные неоттестированные программы. Естественно, и эта была проверена путём трансляции и запуска на ряде примеров. Разумеется, никаких ошибок она не выдает, да и неоткуда им взяться. А если у Вас возникают ошибка, то будьте так любезны - выложите ПОДРОБНУЮ информацию - где именно? Что сообщает транслятор? Ну и т.п. - чем больше, тем лучше. Будем разбираться.
P.S. А слово "программа" пишется с двумя "м". Так, на будущее.
Пожалуй, что и нет. Потому как чего-то настолько неудобопонятное накручено, что разбираться в этом деле нету ни времени, ни желания. Что это за Паскаль? АВС? Если так, то я этого ублюдочного изделия не знаю, у меня обычный Turbo.А это сможешь проверить ?
var
N,d:LongInt;
i,lng,mx,q:byte;
BEGIN
write('Enter N: ');
readln(N);
lng:=1+TRUNC(Ln(Abs(N))/Ln(10));
d:=ROUND(Exp((lng-1)*Ln(10)));
mx:=0;
for i:=1 to lng do
begin
q:=N div d;
if q>mx then mx:=q;
N:=N mod d;
d:=d div 10;
end;
writeln('MAX= ',mx);
readln
END.
Увы, нет, не умею. Они мне сто лет в обед без надобности.А ты умеешь составлять блок схемы если да то
А ты умеешь составлять блок схемы если да то помоги пожалуста составить к этому заданию блок схему с помощью разветвляющихся алгоритмов
Понятия не имею. И повторяю вопрос - что у Вас за Паскаль? Если АВС - то за его многочисленные глюки я не отвечаю. Еще раз обращаю внимание - любая, даже самая простая и короткая программа выкладывается мною ТОЛЬКО после тестирования. В нормальном Турбо-Паскале. А то что эти придурки, авторы АВС, повыкидывали самые ходовые операторы и насовали каких-то своих неудобопонятных - так это проблемы пользователей АВС.А что за ошибка неизвестный индетификатор в строчке где lng:=1+TRUNC(Ln(Abs(N))/Ln(10));