Просмотр полной версии : мелкий паскалевский вопрос
rubik-nerubik
25.12.2007, 23:04
вот допустим в задаче описывал процедуру:
......
procedure um(a,b:string;var c:string);
var n,k,i,j,x,p:integer;
d:string;
begin
n:=length(s);
.....
и где-нибудь внизу видим это:
um(s,chstr(k),s);
что это значит?
и что значит:
function chstr(a: Integer): string;
var s: string;
begin
Str(a, s); - это что?
chstr:= s;
и где-нибудь внизу видим это:
um(s,chstr(k),s);
вызов процедуры с 3 параметрами
Str(a, s); - это что?
Procedure Str(X [: Width [: Decimals]]; var S);
Преобразовывает число X в строковое представление согласно Width и параметрам форматирования Decimals.
X - выражение вещественного или целого типа. Width и Decimals - выражения целого типа. S - переменная типа String или символьный массив с нулевым окончанием, если допускается расширенный синтаксис.
и где-нибудь внизу видим это:
um(s,chstr(k),s); что это значит?
Если функция вызывает сама себя, тогда это рекурсия.
Str(a, s); - это что?
Это функция преобразует число a в строку s.
rubik-nerubik
25.12.2007, 23:30
ок спасибо, плюсы поставлены
кстати что такое plowad?
может быть площадь (строка)
А БАЛАБАЛАЛАЛА
БЛАААА АААААА
БДУК!
Чувак без обид но тебе просто необходимо (если ты конечно етого еще не сделал скачать файл справки на руском языке ) например тут (http://emik.ho.com.ua/TURBO.rar) .
А по поводу "plowad" зайди сюда: http://forums.sumy.ua/archive/index.php/t-3764.html . (кажись то что тебе нада.......)
вот допустим в задаче описывал процедуру:
и где-нибудь внизу видим это:
um(s,chstr(k),s);
что это значит?
Это значит что человек написавший эту процедуру был подшофе))) Два раза передавать одну переменную)))
А если серьезно - это просто вызов этой процедуры.
когда первый раз ты ее описываешь - ты объявляешь, какие параметры она будет использовать, второй раз - ты просто вызываешь процедуру, передавая туда свои глобальные переменные.
Кстати ооочень плохой стиль программирования передавать в функцию результат другой функции перед этим не вычислив его. (ну конечно если это не рекурсия)
Кстати ооочень плохой стиль программирования передавать в функцию результат другой функции перед этим не вычислив его. (ну конечно если это не рекурсия)
Можно поподробнее? А то я походу плохой совсем ...
Что значит "передавать, не вычислив" ?
Может, имелось в виду это:
...
var
t:string;
...
t:=chstr(k);
um(s,t,s);
...
?
Ну если сhstr это пользоваьельская функция, то да) Покрайней мере когда пришлось сдавать сертификацию по джаве так было написано в голден кее.()сори непомню автора. Конечно если код маленький ,то это финя, но при больших проектах - действительно сложновато, особненно если работаешь над модулем не один.
Как уже говорилось, у каждого хорошого стиля есть объяснение, почему он хороший, а другой - не хороший. Никакого объяснения естественно тут быть не может, потому что заявления, что надо делать "a=func(); func2(a)" вместо "func2(func);" - ошибочны. Во всяком случае, не в Java. В конкретных случаях - да. А так это глупость ...
Kez, имхо, нет хорошего и плохого стиля программинга, если быть более точным, у каждого программиста свои понятия "хорошего" и "плохого". У каждого программера свой стиль оформления кода и каждый программер считает свой стиль оформления лучшим, хотя для другому человеку код первого покажется плохо читабельным. Сори за оффтоп
krypt3r
бред написал. На то он и хороший стиль что без проблем читается всеми. Есть общепризнанные нормы, которых желательно придерживаться и которых, впринципе, люди придерживаются. Глянь у Дейтелов в книжках вообще на каждой странице врезки "Хороший стиль программирования". К тому же сорцы в книжках разных авторов по большей части написаны в едином стиле, не замечал?
P.S. Стиль это не только где ставить открывающую скобку.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot