damka_00 0 / 0 / 0 Регистрация: 29.03.2015 Сообщений: 94 |
||||
1 |
||||
Ошибка: ожидался порядковый тип27.04.2016, 20:22. Показов 44826. Ответов 3 Метки нет (Все метки)
Помогите исправить
0 |
Хитрая блондиночка $) 1471 / 986 / 399 Регистрация: 21.12.2015 Сообщений: 3,785 |
|
27.04.2016, 20:34 |
2 |
for i := 1 to m do begin В этот цикл нельзя счетчиком передавать вещественное число. Либо делай i целочисленным, либо не используй for.
0 |
damka_00 0 / 0 / 0 Регистрация: 29.03.2015 Сообщений: 94 |
||||
27.04.2016, 20:55 [ТС] |
3 |
|||
Я уже и сам додумался сделать i целочисленным ,но спасибо за ответ.И как закрыть тему? Добавлено через 13 минут
0 |
capricornus CF 318 / 208 / 162 Регистрация: 08.12.2015 Сообщений: 863 |
||||
27.04.2016, 22:35 |
4 |
|||
Сообщение было отмечено Памирыч как решение Решение
0 |
ПАСКАЛЬ. Выдает ошибку в 10 строке «Ожидался порядковый тип». Как исправить?
.
.
.
program SOCHET;
var a, b, c, n, i, j, l: real;
var factorial, factorial1, factorial2: longint;
begin
writeln (‘Введите число, из которого высчитывается число сочетаний’);
readln (a);
writeln (‘Введите число, по которому высчитывается число сочетаний’);
readln (b);
factorial := 1;
for i:=2 to a do
factorial := factorial * i;
a:=factorial;
factorial1 := 1;
for j:=2 to b do
factorial1 := factorial1 * j;
b:= factorial1;
factorial2 := 1;
for l:=2 to (a-b) do
factorial2 := factorial2 * l;
c:=factorial2;
n:=a/b*c;
writeln (‘Число сочетаний равно ‘, n);
end.
vintt:
Хоть код бы кинул…
Ответы
Ответ:
В циклах не должно быть переменных с плавающей запятой (Типом real)
Меняй их на целое (integer;)
Объяснение:
Интересные вопросы
Предмет: Физика,
автор: celdrick123
Формулировка задачи:
Program1.pas(6) : Ожидался порядковый тип
program name; var y,x,k : real; begin var a:=1.45; for x:=1 to x<=1.8 do if (a<=x) then begin for k:=1 to k<10 do y:=exp(k*ln(a))*exp(k*ln(x)); Inc(k); end; x:=x+0.1; end.
Как решить такую проблему? Срочно нужно решить. Спасибо заранее)
Код к задаче: «Ошибка: Ожидался порядковый тип»
textual
const a=1.45; var y,x : real; k:integer; begin x:=1; while x<=1.8 do begin if a<=x then begin for k:=1 to 10 do y:=exp(k*ln(a))*exp(k*ln(x)); end; x:=x+0.1; end; end.
Полезно ли:
5 голосов , оценка 4.400 из 5
5
шибку пожалуйста, я сам не могу понять, где она……..
program zadanie3;
var x:real;
begin
x:=0;
for x:=15 to 30 do
begin
x:=x+0.5;
end;
writeln(‘x=’,x);
end.
1 ответ:
0
0
Ваша ошибка в том, что Вы в качестве счетчика цикла использовали переменную, тип которой не является порядковым. Об это Вы и получили сообщение.
К сожалению, Вы не привели исходного задания.
Ваш алгоритм, если бы даже Вы указали в счетчике цикла переменную допустимого типа, нерабочий. Вы строите накопление суммы в переменной х — и одновременно принудительно пытаетесь менять её значение.
Читайте также
Ваш Ответ На Вопрос
———————————
Сочинение «Мышь компьютерная – помощница»
Компьютерная мышка – маленький приборчик с «хвостиком-проводом», который значительно облегчает человеку работу на компьютере. Изначально мышка называлась не как-нибудь, а «манипулятором графической информации». Собственно, «манипулятором типа мышь» она и зовется по сей день.
Мышкой устройство зовется «потому что серая», потому что форма прибора напоминает мышиное тельце. Первая отечественная мышка, правда, была треугольной, а шарик внутри – цельнометаллическим! И напоминала эта штука по размерам больше не мышку, а крысу! Потому что была в три раза больше привычного нам сегодня прибора, «мышки на коврике».
Мышка в компьютере практически заменяет человеческую руку. Она открывает «окна», нажимает на кнопки, перетаскивает объекты, раскрашивает, рисует, сворачивает и разворачивает проигрыватели музыки и видео. Такова «умная мышь»!
Бывают мышки, встроенные в корпус компьютера. Например, нажимаешь кнопочку на боку ноутбука, а оттуда выскакивает на гибкой штанге маленькая встроенная мышка-зверушка! Просто шайтан-машина, как у нас в классе говорят!
Есть мышки беспроводные, есть специальные игровые, есть с дополнительными суперфункциями, а еще существуют рабочие для программистов. Наборщиков текстов и журналистов! Устаревшие мышки сейчас уже хранятся в музеях компьютерной техники. Казалось бы, только вчера компьютеры появились у нас, а уже ведь создаются их музеи! Один такой «Кибермузей» работает в подмосковном городе Муроме
———————————
<span><span>
Type
Song = Record
Naz : String [ 40 ];
Stil : String [10];
Dl : Real;
End;
</span></span><span><span>
Var
Massiv : ARRAY [ 1 . .10 ] OF Song;
</span></span> i, N : Short;
<span><span>- Тогда —
FOR i := 1 TO N DO WITH Massiv [ i ] DO
</span>
Begin
Write ( ‘ Введите название песни — ‘ );
<span>Readln ( Naz );
</span></span>Write ( ‘ Введите стиль песни — ‘ );
Readln ( Stil );<span>
Write ( ‘ Укажите длительность песни — ‘ );
Readln ( Dl );
End;
</span>
1. Циклы нужны для сокращения количества строк кода, экономии памяти компьютера и нервов программиста в случае, когда необходимо повторять подобные действия много раз.
2. а) должны быть четко обозначены границы переменной, отвечающие за вход и выход из цикла б) необходимо определить, каким образом эта переменная будет изменяться по ходу цикла.
3. В цикле while условие ставится в начале, а в repeat в конце. То есть repeat 100% пройдет хотябы 1 раз, а while может и ни разу.
4. В заголовке ставится условие. Пока оно выдает true, цикл будет повторяться. На счёт предпочтительности сложнее. Я бы сказала, что практически всегда предпочтительнее while, тк за всю свою практику лично мне хорошо если раз 5 пришлось использовать repeat. В общем предпочтительнее всегда использовать while за исключением некоторых очень редких случаев, когда с его помощью невозможно решить поставленную задачу (т.е. необходимо хотябы одно повторение).
Хотя если сравнивать с циклом for, то for чаще всего используется при наращивании управляющей переменной численного типа. То есть while часто используется, когда управляющая переменная булева типа.
5. Описывается прямо в теле цикла.
6. Тут мне сложно ответить. Я так понимаю, у вас речь про Pascal, а я могу только в C++ и Java. В этом вопросе вроде есть различия.
Н16
1) 101010+1101=110111
2) 1010+1010=10100
3) 10101+111=11100
н17
1) 1010*11=11110
2) 111*101=100011
3) 1010*111=1000110
н19
1) (1111101(2)+AF(16))/36(8) = 125(10)+175(10)/30(10) = 10(10)
2) 125(8)+101(2)*2A(16)-141(8) = 85(10)+5(10)*42(10)-97(10) = 198(10)
//PascalABC.NET
//Версия 3.3, сборка 1634
begin
var n:=abs(ReadInteger);
var a:=n.ToString.Select(x->x.ToDigit).Where(t->t mod 3=0);
if a.Count=0 then write(‘нет’) else write(a.Aggregate(Real(1),(x,y)->x*y));
end.
строке перед х. Исправьте ошибку пожалуйста, я сам не могу понять, где она…….. program zadanie3; var x:real; begin x:=0; for x:=15 to 30 do begin x:=x+0.5; end; writeln(‘x=’,x); end.
Ваша ошибка в том, что Вы в качестве счетчика цикла использовали переменную, тип которой не является порядковым. Об это Вы и получили сообщение.
К сожалению, Вы не привели исходного задания.
Ваш алгоритм, если бы даже Вы указали в счетчике цикла переменную допустимого типа, нерабочий. Вы строите накопление суммы в переменной х — и одновременно принудительно пытаетесь менять её значение.