Форум: "Начинающим";
Текущий архив: 2008.07.06;
Скачать: [xml.tar.bz2];
Внизобъясните пожалуйста, что значит каждая из процедур? Найти похожие ветки
← →
tango (2008-06-03 21:41) [0]Number1:=StrToInt(Edit1.Text);
Number2:=StrToInt(Edit2.Text);
LenN1:=0;
LenN2:=0;
Edit3.Text:=" ";
Edit4.Text:=" ";
repeat
ModN:=Number1 mod Systemofn;
Number1:=Number1 div Systemofn;
Inc(LenN1);
SetLength (vNamber1, LenN1);
VNamber1[LenN1-1]:=ModN;
Edit3.Text:=IntToStr(modN)+Edit3.text;
Until Number1=0;
repeat
ModN:=Number2 mod Systemofn;
Number2:=Number2 div Systemofn;
Inc(LenN2);
SetLength(Vnamber2, LenN2);
VNamber2[LenN2-1]:=ModN;
Edit4.Text:=IntToStr(ModN)+Edit4.Text;
Until Number2=0;
if LenN1>LenN2 then LenN:=LenN1 else LenN:=LenN2;
SetLength(VNamber1, LenN);
SetLength(VNamber2, LenN);
for i:=0 to LenN-1 do begin
if i>LenN1-1 then VNamber1[i]:=0;
if i>LenN2-1 then VNamber2[i]:=0;
end;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
var c, ModN:integer;
begin
Number1:=StrToInt(Edit1.Text);
Number2:=StrToInt(Edit2.Text);
Edit5.Text:=" ";
c:=Number1-Number2;
if c>0 then
repeat
ModN:=c mod Systemofn;
c:=c div Systemofn;
Inc(LenN1);
SetLength (vNamber1, LenN1);
VNamber1[LenN1-1]:=ModN;
Edit5.Text:=IntToStr(modN)+Edit5.text;
Until c=0;
if c<0 then
Edit5.Text:="nevernie chisla";
end;
procedure TForm1.BitBtn3Click(Sender: TObject);
var c, ModN:integer;
begin
Number1:=StrToInt(Edit1.Text);
Number2:=StrToInt(Edit2.Text);
Edit6.Text:=" ";
c:=Number1+ Number2;
repeat
ModN:=c mod Systemofn;
c:=c div Systemofn;
Inc(LenN1);
SetLength (vNamber1, LenN1);
VNamber1[LenN1-1]:=ModN;
Edit6.Text:=IntToStr(modN)+Edit6.text;
Until c=0;
end;
end.
← →
Правильный_Вася (2008-06-03 21:43) [1]процедура - логически законченная последовательность действий
← →
tango (2008-06-03 21:52) [2]не спорю
ну а что происходит при выполнении данных процедур?
← →
tango (2008-06-03 21:52) [3]из этой программы
← →
Игорь Шевченко © (2008-06-03 21:58) [4]
> ну а что происходит при выполнении данных процедур?
Очевидно их код выполняется.
← →
Правильный_Вася (2008-06-03 21:59) [5]автору виднее
с таким форматированием и без комментариев - только к нему
можешь F1 понажимать на незнакомых словах
← →
Игорь Шевченко © (2008-06-03 22:08) [6]Код надо оформлять так:
Number1:=StrToInt(Edit1.Text); Number2:=StrToInt(Edit2.Text); LenN1:=0; LenN2:=0; Edit3.Text:=" "; Edit4.Text:=" "; repeat ModN:=Number1 mod Systemofn; Number1:=Number1 div Systemofn; Inc(LenN1); SetLength (vNamber1, LenN1); VNamber1[LenN1-1]:=ModN; Edit3.Text:=IntToStr(modN)+Edit3.text; Until Number1=0; repeat ModN:=Number2 mod Systemofn;
Number2:=Number2 div Systemofn; Inc(LenN2); SetLength(Vnamber2, LenN2);
VNamber2[LenN2-1]:=ModN; Edit4.Text:=IntToStr(ModN)+Edit4.Text; Until Number2=0; if LenN1>LenN2 then LenN:=LenN1 else LenN:=LenN2; SetLength(VNamber1, LenN); SetLength(VNamber2, LenN); for i:=0 to LenN-1 do begin
if i>LenN1-1 then VNamber1[i]:=0; if i>LenN2-1 then VNamber2[i]:=0;end;procedure TForm1.BitBtn2Click(Sender: TObject); var c, ModN:integer;
begin Number1:=StrToInt(Edit1.Text); Number2:=StrToInt(Edit2.Text);
Edit5.Text:=" "; c:=Number1-Number2; if c>0 then repeat ModN:=c mod Systemofn; c:=c div Systemofn; Inc(LenN1); SetLength (vNamber1, LenN1);
VNamber1[LenN1-1]:=ModN; Edit5.Text:=IntToStr(modN)+Edit5.text; Until c=0;
if c<0 then Edit5.Text:="nevernie chisla"; end;procedure
TForm1.BitBtn3Click(Sender:
TObject); var c, ModN:
integer; begin
Number1:=StrToInt(
Edit1.Text); Number2:=
StrToInt(Edit2.Text);
Edit6.Text:=" "; c:=
Number1+ Number2; repeat
ModN:=c mod Systemofn; c:=c
div Systemofn; Inc(LenN1);
SetLength (vNamber1, LenN1);
VNamber1[LenN1-1]:=ModN;
Edit6.Text:=IntToStr(modN)+Edit6.
text; Until c=0; end;
Тогда всем станет сразу понятно.
← →
tango (2008-06-03 22:10) [7]да я уже и сам понимаю что к чему мне значение некоторых слов не ясно
а ни учебника ни методички под рукой нет....
← →
tango (2008-06-03 22:16) [8]что за код
SetLength?
← →
Игорь Шевченко © (2008-06-03 22:23) [9]
> а ни учебника ни методички под рукой нет....
а F1 есть под рукой ? (под левой обычно)
← →
Ляпа (2008-06-03 22:25) [10]F1 на незнакомом слове не пробовал нажать?
← →
Игорь Шевченко © (2008-06-03 22:30) [11]
> что за код
> SetLength?
длина множества ?
← →
Плохиш © (2008-06-03 23:34) [12]
> tango (03.06.08 22:10) [7]
> да я уже и сам понимаю что к чему мне значение некоторых
> слов не ясно
> а ни учебника ни методички под рукой нет
опять побираться пришёл?
← →
Игорь Шевченко © (2008-06-03 23:46) [13]Плохиш © (03.06.08 23:34) [12]
Я вообще-то тебя ждал, думал, ты help по SetLength выложишь на родном языке :)
"Чтоб засыпало и раздавило"
← →
Ляпа (2008-06-03 23:46) [14]>Плохиш © (03.06.08 23:34) [12]
Тебе жалко что-ли? Пустьпобирается - вдруг кто и подаст. Может, справкой пользоваться не умеет- так щаз научим.
← →
MsGuns © (2008-06-04 00:49) [15]>Игорь Шевченко © (03.06.08 22:08) [6]
Если пишешь ты программу
Так, что бестолочи ясно,-
Это значит, что в разведку
Не пойдет с тобой никто.
← →
Германн © (2008-06-04 01:31) [16]
> Ляпа (03.06.08 23:46) [14]
>
> >Плохиш © (03.06.08 23:34) [12]
>
> Тебе жалко что-ли? Пустьпобирается - вдруг кто и подаст.
> Может, справкой пользоваться не умеет- так щаз научим.
>
Так научи! Что мешает?
P.S. Только что из другой ветки.
← →
Ляпа (2008-06-04 01:50) [17]
> Германн © (04.06.08 01:31) [16]
Если совет нажать F1 на непонятном слове не поможет - будем посмотреть дальше.
P.S. SerGa, не все так просто. Вещи которые кажутся очевидными, оказываются известными далеко не всем.
← →
Германн © (2008-06-04 02:01) [18]М или Я.
А ты об чём?
← →
Ляпа (2008-06-04 04:03) [19]
> tango (03.06.08 21:52) [2]
> не спорю
> ну а что происходит при выполнении данных процедур?
Попробую стелепатировать.
Если считать, что systemofn - основание системы счисления, не большее 10, то в первой процедуре два числа, заданные в 10-ной системе переводятся в систему с основанием systemofn и результат выводится в Edit3, 4. Значения разрядов кладутся в динамические массивы VNamber1 и 2. Плюс в завершение упражнения более короткий массив дополняеется справа нулями (что означает сдвиг вправо надо разжёвывать? ).
Во второй и третьей процедурах вычисляются разность и сумма двух чисел, результат переводится в систему счисления с основанием systemofn.
Что касается SetLength - это просто увеличение динамического массива. (добавление места под новые элементы)
← →
Ляпа (2008-06-04 06:26) [20]Sorry -) небольшая ошибка (описка) - если массив дополняется нулями справа - то сдвиг влево (умножение)
← →
Ega23 © (2008-06-04 09:53) [21]И пришла сессия. И была списана программа у однокурсника. И не поверил препод и попросил объяснить (а преподы все - тупорылые бараны, которые материал в семестре вообще не давали, а тут что-то требуют).
← →
Anatoly Podgoretsky © (2008-06-04 09:56) [22]Думаешь у однокурсника списал?
Вероятнее списаное у списаного, у списаного.
← →
Ega23 © (2008-06-04 09:58) [23]
> Вероятнее списаное у списаного, у списаного.
Неважно. Не своё, в общем.
И даже код поленился посмотреть.
← →
Anatoly Podgoretsky © (2008-06-04 10:03) [24]> Ega23 (04.06.2008 9:58:23) [23]
Как без разницы, ведь первоисточник уже не найти и не спросить, а обсуждение многократно искаженого плохо кончается, а может и хорошо - бесплатное питание, одежда и жилье.
← →
Ega23 © (2008-06-04 10:07) [25]
> а может и хорошо - бесплатное питание, одежда и жилье.
Поварих и медсестёр на всех не хватает. А так - да, здоровый образ жизни.
← →
Плохиш © (2008-06-04 10:54) [26]
> Игорь Шевченко © (03.06.08 23:46) [13]
> Плохиш © (03.06.08 23:34) [12]
>
> Я вообще-то тебя ждал, думал, ты help по SetLength выложишь
> на родном языке :)
Мне bds 2006 на аглицком подсунули, теперь не могу хелп на родной мове постить :-)
← →
Anatoly Podgoretsky © (2008-06-04 11:09) [27]> Плохиш (04.06.2008 10:54:26) [26]
Так не на мове, а на родном языке.
А у программиста какой язык родной?
← →
Плохиш © (2008-06-04 11:14) [28]
> Anatoly Podgoretsky © (04.06.08 11:09) [27]
> А у программиста какой язык родной?
(шёпотом) ...машинные коды... ;-)
← →
наблюдатель (2008-06-04 20:54) [29]
> Игорь Шевченко © (03.06.08 23:46) [13]
> Плохиш © (03.06.08 23:34) [12]
>
> Я вообще-то тебя ждал, думал, ты help по SetLength выложишь
> на родном языке :)
>
> "Чтоб засыпало и раздавило"
Гы, это што-ли?
Die Prozedur SetLength legt die Länge einer String- oder dynamischen Array-Variable fest.
Unit
System
Kategorie
String-Verarbeitung
procedure SetLength(var S; NewLength: Integer);
Beschreibung
S ist eine String- oder dynamische Array-Variable.
Bei einem kurzen String ändert SetLength einfach das Längenbyte (das Zeichen an der Position S[0]) auf den angegebenen Wert. In diesem Fall muß mit NewLength ein Wert zwischen 0 und 255 angegeben werden.
Bei einer langen String- oder einer dynamischen Array-Variable weist SetLength dem mit S referenzierten String oder Array die angegebene Länge zu. Dabei bleiben die Zeichen im String oder die Elemente im Array erhalten, jedoch ist der Inhalt des neu zugewiesenen Speicherbereichs nicht definiert. Ist nicht genug Speicher für die Variable vorhanden, wird eine EOutOfMemory-Exception ausgelöst. Nach dem Aufruf von SetLength ist sichergestellt, daß S auf einen eindeutigen String oder ein eindeutiges Array zeigt (d.h. dessen Referenzzähler den Wert Eins hat).
← →
Игорь Шевченко © (2008-06-04 21:22) [30]наблюдатель (04.06.08 20:54) [29]
Ну да :) Всегда полезно на вопрос о функции из справки выкладывать ее локализованный вариант - сразу с английским у навроду проблем на порядок меньше
← →
Anatoly Podgoretsky © (2008-06-04 22:39) [31]
> выкладывать ее локализованный вариант - сразу с английским
> у навроду проблем на порядок меньше
Ты думаешь? Мне кажется что наоборот.
← →
Игорь Шевченко © (2008-06-04 22:50) [32]Anatoly Podgoretsky © (04.06.08 22:39) [31]
Мне кажется, что английский народ не знает меньше, чем, скажем, французский или немецкий. И всяко меньше, чем японский, для которого тоже есть справка локализованная :)
← →
Anatoly Podgoretsky © (2008-06-04 23:04) [33]> Игорь Шевченко (04.06.2008 22:50:32) [32]
Значит мысль ты не понял и менталитет не учел.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.07.06;
Скачать: [xml.tar.bz2];
Память: 0.53 MB
Время: 0.048 c