Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Основной форум

Основной форум Сюда все проблемы связанные с программированием.

Ответ
 
Опции темы
Старый 01.03.2007, 02:23   #1
MA©TEP™
AnyKey`щик
 
Регистрация: 16.08.2006
Сообщений: 2
Написано 0 полезных сообщений
(для 0 пользователей)
Плохо Нужна помощь. Оптимизировать код для создания мидлета.

Написал программу на паскале. Облегчает решение контрольной по спецкурсу. Теперь нужно мидлет создать, но 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.
(Offline)
 
Ответить с цитированием
Старый 01.03.2007, 09:40   #2
ARV
ПроЭктировщик
 
Регистрация: 25.12.2006
Сообщений: 163
Написано 7 полезных сообщений
(для 12 пользователей)
Re: Нужна помощь. Оптимизировать код для создания мидлета.

Вот мой модуль CRT http://www.boolean.name/attachment.p...1&d=1169729847 , который реализует аналог ClrScr, Write, Writeln (только вместо вывода через запятую строк и переменных надо выводить их через плюс и первой в списке всегда должна выводиться строка, т.е. вместо writeln('число=',x) надо писать writeln('число='+х). Для ожидания нажатия клавиши (аналог последнего readln в твоем коде) тоже есть функция в моем модуле WaitAnyKey. Хуже с аналогом readln для ввода значений: проще всего открыть окно текстового ввода и ввести там нужное количество строк, а потом результирующую строку (получится одна) уже разбить на массив значений... Если сделаешь ввод - других изменений в твой код делать не придется, только вначале добавишь Uses CRT. Другого не предложу...
(Offline)
 
Ответить с цитированием
Старый 01.03.2007, 16:24   #3
MA©TEP™
AnyKey`щик
 
Регистрация: 16.08.2006
Сообщений: 2
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Нужна помощь. Оптимизировать код для создания мидлета.

ARV спасибо за модуль. Но вот я не понял что с readln делать? Как открыть окно текстового ввода и как потом целую строку числовых значений разбить на массив? Я пока опробую различные варианты.. но не думаю что смогу добиься результатов.
(Offline)
 
Ответить с цитированием
Старый 01.03.2007, 16:48   #4
alien
AnyKey`щик
 
Регистрация: 25.01.2007
Сообщений: 10
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Нужна помощь. Оптимизировать код для создания мидлета.

Вот архив. ТАм все мидлет и код я там функц пробовал.
Перезжаем в мою тему "примеры простейших прграмм"
(Offline)
 
Ответить с цитированием
Старый 02.03.2007, 12:21   #5
ARV
ПроЭктировщик
 
Регистрация: 25.12.2006
Сообщений: 163
Написано 7 полезных сообщений
(для 12 пользователей)
Re: Нужна помощь. Оптимизировать код для создания мидлета.

Сообщение от MA©TEP™
ARV спасибо за модуль. Но вот я не понял что с readln делать? Как открыть окно текстового ввода и как потом целую строку числовых значений разбить на массив? Я пока опробую различные варианты.. но не думаю что смогу добиься результатов.
Окно текстового ввода открывается при помощи showTextBox. Вводишь там числа через пробел, запятую или другой какой-то символ-разделитель, затем после того, как окно ввода закрыли, получаешь введенный текст при помощи getTextBoxString и в этой строке ищешь те самые разделители (при помощи pos) - то, что между ними при помощи copy выделяешь и преобразуешь в нужное тебе число. Вряд ли можно придумать что-то проще...
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь Larsus Delphi 14 07.08.2010 13:11
ОООчень нужна помощь. Slepetc PureBasic 6 23.01.2009 21:13
Нужна Помощь johnk Blitz3D 32 22.03.2007 17:33
Нужна помощь! ingko Болтовня 6 23.10.2006 09:58
Нужна помощь! MiXaeL Библиотеки 2 03.09.2006 20:22


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com