forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Основной форум (http://forum.boolean.name/forumdisplay.php?f=49)
-   -   Нужна помощь. Оптимизировать код для создания мидлета. (http://forum.boolean.name/showthread.php?t=2829)

MA©TEP™ 01.03.2007 02:23

Нужна помощь. Оптимизировать код для создания мидлета.
 
Написал программу на паскале. Облегчает решение контрольной по спецкурсу. Теперь нужно мидлет создать, но MidletPascal как я это ипредполагал имеет различия в операторах. У меня не получается оптимизировать, а на чтение литературы нет времени.
Прошу помочь, если кому то не сложно.. Или объяснить что нуждается в поправке. Спасибо заранее!
Собственно код:
Код:

program SPK;
var
v,m,n,i:integer;
b: array [1..33] of real;
a: array [1..33] of integer;
D,Mat,s:real;
begin
s:=0;
Mat:=0;
n:=0;
v:=0;
D:=0;
for i:=1 to 33 do begin
write (i,': ');
readln (a[i]);
if a[i]=0 then n:=n else n:=n+1;
v:=v+a[i];
end;
for i:=1 to n do begin
b[i]:=a[i]/v;
end;
for i:=1 to n do begin
s:=s+b[i];
if s>0.5 then begin
if s-b[i]<0.5 then begin
if 0.5-s+b[i]>s-0.5 then m:=i;
if 0.5-s+b[i]<s-0.5 then m:=i-1
end;
end;
write (i,': ',s,', ');
end;
writeln ('Mediana: ',m);
for i:=1 to n do begin
Mat:=Mat+b[i]*i;
D:=D+b[i]*sqr(i-Mat);
end;
writeln ('Matemat.ozhid: ',Mat);
writeln ('Dispersia: ',D);
readln;
end.


ARV 01.03.2007 09:40

Re: Нужна помощь. Оптимизировать код для создания мидлета.
 
Вот мой модуль CRT http://www.boolean.name/attachment.p...1&d=1169729847 , который реализует аналог ClrScr, Write, Writeln (только вместо вывода через запятую строк и переменных надо выводить их через плюс и первой в списке всегда должна выводиться строка, т.е. вместо writeln('число=',x) надо писать writeln('число='+х). Для ожидания нажатия клавиши (аналог последнего readln в твоем коде) тоже есть функция в моем модуле WaitAnyKey. Хуже с аналогом readln для ввода значений: проще всего открыть окно текстового ввода и ввести там нужное количество строк, а потом результирующую строку (получится одна) уже разбить на массив значений... Если сделаешь ввод - других изменений в твой код делать не придется, только вначале добавишь Uses CRT. Другого не предложу...

MA©TEP™ 01.03.2007 16:24

Re: Нужна помощь. Оптимизировать код для создания мидлета.
 
ARV спасибо за модуль. Но вот я не понял что с readln делать? Как открыть окно текстового ввода и как потом целую строку числовых значений разбить на массив? Я пока опробую различные варианты.. но не думаю что смогу добиься результатов.

alien 01.03.2007 16:48

Re: Нужна помощь. Оптимизировать код для создания мидлета.
 
Вложений: 2
Вот архив. ТАм все мидлет и код я там функц пробовал.
Перезжаем в мою тему "примеры простейших прграмм"

ARV 02.03.2007 12:21

Re: Нужна помощь. Оптимизировать код для создания мидлета.
 
Цитата:

Сообщение от MA©TEP™
ARV спасибо за модуль. Но вот я не понял что с readln делать? Как открыть окно текстового ввода и как потом целую строку числовых значений разбить на массив? Я пока опробую различные варианты.. но не думаю что смогу добиься результатов.

Окно текстового ввода открывается при помощи showTextBox. Вводишь там числа через пробел, запятую или другой какой-то символ-разделитель, затем после того, как окно ввода закрыли, получаешь введенный текст при помощи getTextBoxString и в этой строке ищешь те самые разделители (при помощи pos) - то, что между ними при помощи copy выделяешь и преобразуешь в нужное тебе число. Вряд ли можно придумать что-то проще...


Часовой пояс GMT +4, время: 15:38.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot