Показать сообщение отдельно
  #5  
Старый 28.05.2013, 20:50
SubbSer SubbSer вне форума
Прохожий
 
Регистрация: 28.05.2013
Сообщения: 3
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Не программа, а бред!

1) Не верный синтаксис
for i:=1 to 5 do
begin
a :=random (11)+1;
end;
нужно:
for i:=1 to 5 do
begin
a[i] :=random (11)+1;
end;
При таком коде а может принимать как четные значения так и не четные!!
Для чего Вы пишите Рандом +1 не ясно.
2) k:=5 div 2; зачем это выражение??? Оно всегда равно 2. Проще тогда написать k:=2.
3) Таким образом цикл выполниться всего два раза для p:=1 и для p:=2
for p:=1 to k do
n:= p* a[i*2];
n примет значения:
n:=1*(любое число до 11 плюс 1)
n:=2*(любое число до 11 плюс 1)
Ну например может получится n:=5 b n:=24
4) Вывода на экран вынесен за цикл!!
if p<>0 then
Edit1.Text := FloatToStr(n);
Данные строки, в виду того что вынесены за цикл, выведут всего одно лишь значение n, а именно последнее посчитаное. Для моих примеров n:=24.
5) if p<>0 then
Что это вообще за строка?? p всегда больше нуля, значит данное вырожение автоматический всегда ТРУ. Его вообще можно выкинуть.

Прежде чем что-то писать необходимо самому разобраться, что должна делать программа. тогда и написание станет простым.
Ответить с цитированием