|
2 вопроса по паскалю, всего 2... |
|
|
|
Nov 14 2008, 14:00
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Цитата(_Ivan_33 @ Nov 14 2008, 17:35)  a:=b[i]1000 + b[i+x]; Смотря что у Вас стоИт между b[i] и 1000  Пропустили знак какой ? Цитата 2) препод говорил про функции приводящие символьную переменную в число и наоборот - подскажите что за ф-ции? Процедуры (не функции - это не Си) val() и str()
|
|
|
|
|
Nov 14 2008, 14:18
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Цитата(MrYuran @ Nov 14 2008, 18:09)  Как раз-таки функции, раз значение возвращают. Апядь холевара  Оне ж не так возвращают Код MyVar := val(...); а в параметрах по ссылке. Стало быть как функция они не возвращают ничего. Неча развращать студентов
|
|
|
|
|
Nov 15 2008, 16:39
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Цитата(_Ivan_33 @ Nov 15 2008, 19:55)  между 1000 и b[i] стоит умножение * тогда Код a:= b[i]*1000 + b[i+x]; не нуждается в "ручном" приведении типов, т.к. выражение справа тоже будет типа longint Компилер это видит благодаря тому, что в выражении присутствует константа. Раз так - сразу понятно, что в случае если b[i] будет равно максимально представимому целому (MAXINT), результат выражения никогда не станет больше максимально возможного longint Вот если бы Код var a:longint; b:megatype; i,x,m:integer;
begin m:= func; // здесь мы получили значение m хз откуда и хз какое a:= b[i]*m + b[i+x]; // то здесь нормальный компилер должен матюкнуццо "invalid type cast" end;
|
|
|
|
|
Nov 15 2008, 20:45
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
Цитата(_Pasha @ Nov 16 2008, 02:13)  Ниасилил. Кто куда должен писать ? Дык, компилятор, в сурец! :-) Видимо так: Код const MyName : string = '_Ivan_33'; (Не помню, поймёт bp7 такое, или надо var)
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
|
Nov 15 2008, 21:06
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
Цитата(_Pasha @ Nov 16 2008, 02:54)  Понять-то поймет, тока это уже не просто в сурец пойдет, а и в ехешник  Дык! И препод сможет увидеть, что автор изготовил программу самолично, а не взял у товарища Цитата(_Pasha @ Nov 16 2008, 02:54)  Но, подозреваю, что суровый препод мог "предложить" написать программу, которая открывает свой собственный сурец и добавляет туда эти самые ФИО. Вот поэтому и не понял  Неужели бывают такие жестокие преподы?!  ))
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
|
Nov 17 2008, 05:31
|

Профессионал
    
Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357

|
Цитата(_Pasha @ Nov 14 2008, 17:18)  Апядь холевара  Оне ж не так возвращают Код MyVar := val(...); а в параметрах по ссылке. Стало быть как функция они не возвращают ничего. Неча развращать студентов  Я, конечно, понимаю, что Паскакаль дебильнй язык, но про эти "функции" всегда думал, что это не функции и не процедуры, а лишь указание компилятору считать аргументы другим типом. То есть, оператор преобразования типа. Если же это действительно реальные функции, которым что-то передается и они генерируют вызов - то какие еще могут быть разговоры о паскале? Нахрена он это все делает? Есть символьная переменная, какие проблемы сложить ее с int? Сложи младший байт, затем к старшим прибавь 0 с переносом. Неужели паскаль вызывает функцию, которая возвращает то же число, но с добавлением нулевых байтов, и только это число можно использовать для сложения с int?
Сообщение отредактировал 777777 - Nov 17 2008, 05:33
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|