Конец холивара. Pascal vs C

Кривцов М. А.

Жанр: Программирование  Компьютеры и Интернет    Автор: Кривцов М. А.   
Закладки
Размер шрифта
A   A+   A++
Cкачать
Читать
Конец холивара. Pascal vs C ( Кривцов М. А.)

Создано в интеллектуальной издательской системе Ridero.ru

Ответ на неизбежный вопрос

Зачем сей древний, как сами IT, холивар вынесен в заголовок? Затем, что он порождён не проблемами упомянутых языков, или даже различных версий их компиляторов 1 , кои их верные паладины пытаются сравнивать в ходе сей священной войны. Нет, он является плодом фундаментального свойства человеческой психики – человеку удобно то, к чему он привык. Отсюда – каждый сверчок хвалит свой шесток, а каждый кулик – своё болото.

Целью этой небольшой книжки будет ваше знакомство с обоими славными представителями большой семьи языков программирования. Чтобы вы легко могли переходить с одного на другой, по мере необходимости.

Pascal – это яркий представитель европейской школы программирования, известной своими академической логичностью и педантизмом. А C – это продукт американского делового подхода – как говорит Михаил Задорнов: “Всё, чтобы быстрей до бабок добраться!”

Pascal не превзойдён по удобству обучения на нём программированию – именно так он и задумывался его автором Николаусом Виртом. Ныне широко используются такие, базирующиеся на нём, среды визуального программирования, как Delphi (для Windows) и бесплатный Lazarus (для Windows и Linux).

А американец Деннис Ритчи сделал C, как подручный инструмент для создания операционной системы UNIX. Но его компактный синтаксис так полюбился профессионалам, что они наплодили множество других Си-подобных языков: C++, C#, Java и прочие. Хотя бы поэтому полезно знать C. Например, когда у меня возникла необходимость использовать JavaScript, то проблем с освоением его не было – ведь его синтаксис мне был уже знаком по C.

Вообще, лучше идти в увлекательный мир программирования на двух ногах, а не скакать на одной, вступая в спор о преимуществах левой ноги перед правой и наоборот.

А теперь я расскажу вам – почему эта книжка получилась именно такой?

Имея довольно продолжительный опыт преподавания информатики в колледжах, я накопил ряд приёмов эффективной подачи нового материала моим студентам и пришёл к выводу, что использование определений мало полезно и гораздо лучше использовать, для этого, конкретные примеры, объясняя их разными способами. Поэтому, я беру простую и понятную задачу и привожу алгоритм её решения на русском языке – аналогичный по структуре с программой на Паскале. Затем, этот же фрагмент идёт, собственно, на Паскале и, для пущей наглядности, графически иллюстрируется блок-схемой. Для всех ключевых слов Паскаля я даю русский перевод – для тех студентов, которые не учили английского языка.

Довольно быстро я отбросил идею давать конструкции обоих языков параллельно – это бы только перегружало страницы и сбивало с толку читателей, при первом прочтении книги, и было бы неудобно, при последующих обращениях к ней. Гораздо целесообразней – первоначально изложить основы программирования на идеально подходящем для этого Паскале. Причём, чтобы не отвлекать внимания, я привожу только алгоритм решения, опуская начало и конец программы. Вид программы целиком даётся в последних примерах. Во второй части книги приводятся программы на Си, для тех же примеров. Программы там представлены целиком, поскольку синтаксис Си сложнее, чем синтаксис Паскаля, и не хотелось бы, чтобы читатели, запуская примеры на своих компьютерах, тратили время на удовлетворение претензий компилятора.

В конце книжки я предлагаю коллекцию простых задачек, чтобы вы могли закрепить на практике полученные знания. Решая их, читайте внимательно сообщения компилятора и выполняйте то, что он требует и всё у вас получится.

Эта книга не является исчерпывающим справочником по Pascal и C. Я постарался создать максимально компактное и наглядное введение в программирование на этих языках. Поэтому, я сразу же отказался от рассмотрения таких сложных типов данных, как записи, файлы, указатели и так далее. По той же причине я привожу программы с текстовым интерфейсом – чтобы не загромождать книгу описаниями компонентов Delphi и виджетов Qt, а также их свойств. От примеров с графикой, столь популярных у учащихся, тоже пришлось отказаться, поскольку графика по разному реализована в разных компиляторах, а я не хочу привязывать свою книгу только к одному из них.

На чём вам лучше начинать писать свои первые программы? Сразу же забудьте о легендарном Turbo Pascal – он должен кануть в Лету вместе с MS-DOS! В некоторых учебных заведениях его продолжают мучить – из ностальгических соображений – лекции под него давно написаны и книжки в библиотеки куплены. Скачайте лучше бесплатный русский PascalABC.NET – это программа под Windows с графическим интерфейсом. В нём можно писать программы и как в Turbo Pascal и используя конструктор форм, как в Delphi. Для С и Pascal хорош превосходный программистский блокнот Geany – он существует и для Windows и для Linux и к нему можно подключить компиляторы для кучи языков, синтаксис которых он может подцвечивать. Кстати, Linux сама по себе является, в некотором роде, компилятором C и может устанавливать софт из исходных файлов на C.

Часть первая

Язык программирования Pascal

1. Структура программы на языке Pascal

В программе на Pascal выделяют следующие основные разделы: заголовок программы, описания, операторы. Разделы отделяются друг от друга точкой с запятой. В конце программы ставится точка. Каждый раздел начинается со своего ключевого слова. Ключевым словом заголовка является слово PROGRAM. За ним указывается имя программы и информация об использовании устройства ввода-вывода.

Например: PROGRAM PRIMER1 (INPUT, OUTPUT);

Служебные слова INPUT и OUTPUT сообщают компьютеру, что в программе предусмотрен вывод результатов (OUTPUT), а также ввод значений исходных данных в процессе работы программы (INPUT). Для ряда компиляторов заголовок – раздел не обязательный.

Раздел описаний содержит информацию для компьютера о перечне и свойствах величин, используемых в программе, и состоит из описания меток, описания констант, описания типов данных, описания переменных и описания функций и процедур. В каждой конкретной программе могут иметься лишь некоторые из перечисленных описаний, однако приведённый ранее порядок их следования должен выдерживаться.

Основным разделом программы является раздел операторов, который состоит из последовательности операторов, заключённых в операторные скобки BEGIN и END (такая конструкция называется составным оператором). Операторы отделяются друг от друга точкой с запятой.

Комментарии к программе пишутся после // – строка после этого знака игнорируется при работе программы. Блок между фигурными скобками {…} – тоже игнорируется.

Комментарии полезны даже автору программы, когда он обращается к её исходному коду через продолжительное время.

В конце программы на Pascal традиционно ставятся две процедуры READLN, чтобы окно программы не закрывалось сразу же после её выполнения. В этом случае оно закроется после нажатия клавиши Enter.

Не забудьте поставить точку в конце программы.

Стандартные типы данных и описание переменных

Значение присваиваемое переменной должно соответствовать её типу указанному в разделе описаний. В Pascal есть четыре стандартных типа величин (помимо тех, что могут быть дополнительно определены в каждой программе – в разделе описания типов данных): INTEGER (целый), REAL (действительный или вещественный), CHAR (литерный), BOOLEAN (логический).

INTEGER – только целые числа.

REAL – любые числа.

CHAR – множество значений символов, используемых компьютером, упорядоченное по возрастанию кодов символов.

Алфавит

Предложения

Copyrights and trademarks for the book, and other promotional materials are the property of their respective owners. Use of these materials are allowed under the fair use clause of the Copyright Law.