Нобходимо в ВУЗе писать на паскале (сказали версия 7 - на сколько понимаю турбо) .
Сам знаю С/C++ очень основательно (не хеловорлды писать - писал несколько достаточно больших проектов) . Необходимо в короткие сроки понять синтаксис паскаля (и ооп в нем) . Посоветуйте какую-нибудь брошуру\книгу вроде "Быстрый разбор всех возможностей паскаля для С\С++ программистов" или просто 2 столбика брошуру - как "это" делается в паскале и С - гугль ничего аткого не нашел.
Спасибо,
Гордо называющий себя так, штудент МФТИ в котором зачем-то учат паскаль :)
Другие языки программирования и технологии
С/C++ программисту изучить turbo pascal 7 в короткие сроки (вынужденная необходимость)
Ой, да я тебе прямо тут объясню.
Типичная структура программы:
program Someth; // Пишется в начале главной программы. Обязательно. Имя программы обязано совпадать с именем файла, в котором она хранится.
uses Unit1, Unit2; // Аналог #INCLUDE по умолчанию подключается модуль System, поэтому можно вообще эту секцию не писать
const Myconst=1; // Аналог #DEFINE
type MyType=Integer; // Так можно определять типы.
var MyVar:MyType; // Описание переменной. Обрати внимание: сначала имя, потом через двоеточие тип. В теле программы переменные описывать нельзя.
begin // Точка входа основной программы, то же что и void main(void)
end. // В конце программы - точка
Процедуры и функции. Пишутся в любом месте между uses и begin основной программы. Если ты писал void MyProc(int x) {} и int MyFunc(int x) {}, то теперь писанины будет больше:
procedure MyProc(x:integer);
begin
end;
function MyFunc(x:integer):integer;
begin
MyFunc:=42;
end;
Вообще, begin - end - полный аналог логических скобок {} Обрати внимание, как функция возвращает значение, а также на операнд присваивания := . Ее выполнение на этом не заканчивается, если есть еще команды - они будут выполнены. Досрочный выход - exit; Если необходимо передать значение по ссылке (int *x), используется var:
procedure NextIntVal(var x:integer);
begin
x:=x+1;
end;
Передача разнотипных параметров:
procedure Amba(k:integer; s:string);
Циклы:
for j:=1 to n do
for j:=n downto 1 do - наоборот
Паскалевский цикл со счетчиком всегда идет подряд по любому перечисляемому типу. Значение переменной цикла внутри него менять нельзя - результат непредсказуем. После выполнения цикла значение переменной цикла может быть любым.
while j< n do inc(j);
repeat
inc(j);
until n>=j; - это вместо do - while;
Досрочный выход из цикла - break;
Ветвления:
if a=b then b:=c else d:=e;
Если используется сложное булевское выражение, его части берутся в скобки:
if (a=b) and (c=d) then begin end;
Аналоги булевских операций:
and &&
or ||
not !
= ==
< > != - без пробела
xor -извини, не знаю как это на С
< <
> >
Основные типы данных:
shortint -128 127
byte 0 255
integer -32768 32767
word 0 65535
longint - четырехбайтный со знаком
real - плавающая точка, малая точность
double - это ты знаешь
extended - это тоже
char - оин символ
string - символьная строка до 255 символов длиной. Нулевой элемент содержит ASCII код длины строки. Со строками можно работать как с массивом данных:
s:='bibigon';
write(s[5]); - выведет g
pointer - указатель на память
Описание массивов:
var a:array [-8..n] of integer;
ac: array[char] of integer
zh:array[7] of char;
Примеры обращения к этим массивам:
a[-5]:=8;
ac['u']:=77;
zh[0]:='g';
zh[6]:='a';
Ввод-вывод:
write('a'); printf("a");
writeln('a') ; printf("a\n");
read(b); scanf(*b);
Вкратце - все. Теперь ты сможешь большинство сишных программ перевести на паскаль.
Типичная структура программы:
program Someth; // Пишется в начале главной программы. Обязательно. Имя программы обязано совпадать с именем файла, в котором она хранится.
uses Unit1, Unit2; // Аналог #INCLUDE по умолчанию подключается модуль System, поэтому можно вообще эту секцию не писать
const Myconst=1; // Аналог #DEFINE
type MyType=Integer; // Так можно определять типы.
var MyVar:MyType; // Описание переменной. Обрати внимание: сначала имя, потом через двоеточие тип. В теле программы переменные описывать нельзя.
begin // Точка входа основной программы, то же что и void main(void)
end. // В конце программы - точка
Процедуры и функции. Пишутся в любом месте между uses и begin основной программы. Если ты писал void MyProc(int x) {} и int MyFunc(int x) {}, то теперь писанины будет больше:
procedure MyProc(x:integer);
begin
end;
function MyFunc(x:integer):integer;
begin
MyFunc:=42;
end;
Вообще, begin - end - полный аналог логических скобок {} Обрати внимание, как функция возвращает значение, а также на операнд присваивания := . Ее выполнение на этом не заканчивается, если есть еще команды - они будут выполнены. Досрочный выход - exit; Если необходимо передать значение по ссылке (int *x), используется var:
procedure NextIntVal(var x:integer);
begin
x:=x+1;
end;
Передача разнотипных параметров:
procedure Amba(k:integer; s:string);
Циклы:
for j:=1 to n do
for j:=n downto 1 do - наоборот
Паскалевский цикл со счетчиком всегда идет подряд по любому перечисляемому типу. Значение переменной цикла внутри него менять нельзя - результат непредсказуем. После выполнения цикла значение переменной цикла может быть любым.
while j< n do inc(j);
repeat
inc(j);
until n>=j; - это вместо do - while;
Досрочный выход из цикла - break;
Ветвления:
if a=b then b:=c else d:=e;
Если используется сложное булевское выражение, его части берутся в скобки:
if (a=b) and (c=d) then begin end;
Аналоги булевских операций:
and &&
or ||
not !
= ==
< > != - без пробела
xor -извини, не знаю как это на С
< <
> >
Основные типы данных:
shortint -128 127
byte 0 255
integer -32768 32767
word 0 65535
longint - четырехбайтный со знаком
real - плавающая точка, малая точность
double - это ты знаешь
extended - это тоже
char - оин символ
string - символьная строка до 255 символов длиной. Нулевой элемент содержит ASCII код длины строки. Со строками можно работать как с массивом данных:
s:='bibigon';
write(s[5]); - выведет g
pointer - указатель на память
Описание массивов:
var a:array [-8..n] of integer;
ac: array[char] of integer
zh:array[7] of char;
Примеры обращения к этим массивам:
a[-5]:=8;
ac['u']:=77;
zh[0]:='g';
zh[6]:='a';
Ввод-вывод:
write('a'); printf("a");
writeln('a') ; printf("a\n");
read(b); scanf(*b);
Вкратце - все. Теперь ты сможешь большинство сишных программ перевести на паскаль.
Паскаль довольно простой язык, идет как стартовый в большинстве ВУЗов. Очень интересная и понятная книга Фаронов Turbo pascal 7.0; Думаю тебе будет достаточно полистать ее, да и в интернете она есть в свободном доступе.
http://global-download. ru/pas/128-v-v-faronov-turbo-pascal-70-nachalnyj-kurs.html
http://global-download. ru/pas/128-v-v-faronov-turbo-pascal-70-nachalnyj-kurs.html
синтаксис в паскале проще гораздо чем в С, скачай любое пособие и почитай, ничего там особо сложного нет, тем более для тебя, если знаешь С/С++
Александр Исаев
Да это понятно, только тратить часов 10-20 (т.е. несолько дней) времени на проштудирование учебника по паскалю не хочется. Ведь на самом деле все достаточно прозрачно там должно быть. - просто сравнительной таблички бы хватило.
В короткие сутки ты не выучиш я учил 6 лет
Александр Исаев
Хм. Мне кажется, что они как бы похожи, нет? Оба высокого уровня. В паскале тем более нет низкоуровневого доступа - уже проще. Я не говорю освоить все доп. библиотеки и модули. МНе бы элементарно понять синтаксис не читая многотомники с описанием опреатора присваивания.
Похожие вопросы
- turbo pascal 7.0 Определить принадлежность к области точек с заданными координатами!!!
- Как вставить текст в Turbo Pascal 7.1???
- Для тех кто разбирается в Turbo Pascal 7.0 помогите плиз))))
- Turbo Pascal 7.0 помогите пожалуйста!!!
- Turbo pascal 7.0,задача
- В чём разница С++,С#,Turbo Pascal 7.0!И что лучше и легче?
- turbo pascal 7.0!
- Для чего в школах преподают Turbo Pascal 7.0?
- Подскажите пожалуйста Turbo Pascal 7. Создал
- Какой язык програмирования выбрать? Уже заканчиваю изучение Turbo pascal 7.0, какой изучать потом? Напишите поконкретнее
Если не изменяет склероз, то совсем не обязательно. По-крайней мере для ТР
>> Имя программы обязано совпадать с именем файла, в котором она хранится.
Только в том случае, если это имя модуля.
А вообще +5
Еще бы ООП в такой же форме - было бы вообще прекрасно. :)
Кстати "индея" будет пользоваться большой популярнойстью - такой туториал "to Pascal from C".