История изменений
Исправление ilammy, (текущая версия) :
ну переменные обявляются лишь в начале (в старом стандарте Си точно так же было. Что, не знал?)
4.2
В Сишечке всегда можно было открыть блок и наделать ещё переменных:
void foo(int a, int b)
{
int i;
/* ... */
if (a == b) {
int d;
/* ... */
{
char x;
/* ... */
}
}
}
А в Паскале необходимо тащиться в начало подпрограммы и там прописывать все нужные переменные. Хотя в этом есть определённый педагогический аспект: СТРАДАНИЯ при объявлении переменных мягко подталкивают к необходимости более аккуратного разбиения программ на подпрограммы. После этого необходимость вводить переменные посреди подпрограмм пропадает сама собой. Единственное, что не лечится: есть в подпрограмме несколько циклов, то всякие i, j, k торчат наружу. Хотя, может, это подталкивает к тому, чтобы называть счётчики подлиннее.
Исходная версия ilammy, :
ну переменные обявляются лишь в начале (в старом стандарте Си точно так же было. Что, не знал?)
4.2
В Сишечке всегда можно было открыть блок и наделать ещё переменных:
void foo(int a, int b)
{
int i;
/* ... */
if (a == b) {
int d;
/* ... */
{
char x;
/* ... */
}
}
}
А в Паскале необходимо тащиться в начало подпрограммы и там прописывать все нужные переменные. Хотя в этом есть определённый педагогический аспект: СТРАДАНИЯ при объявлении переменных мягко подталкивают к необходимости более аккуратного разбиения программ на подпрограммы. После этого необходимость вводить переменные посреди подпрограмм пропадает сама собой. Единственное, что не лечится: есть в подпрограмме несколько циклов.