Конец холивара. Pascal vs C
М. А. Кривцов
Данное пособие является введением в основы программирования на двух языках. Сначала рассматриваются простые примеры на Pascal с описанием алгоритмов на русском языке и использованием графических блок-схем, затем эти же примеры приводятся в программах на C.
Конец холивара
Pascal vs C
М. А. Кривцов
© М. А. Кривцов, 2015
Создано в интеллектуальной издательской системе Ridero.ru
Ответ на неизбежный вопрос
Зачем сей древний, как сами IT, холивар вынесен в заголовок? Затем, что он порождён не проблемами упомянутых языков, или даже различных версий их компиляторов[1 - Компилятор – программа, выполняющая компиляцию, то есть – трансляцию программы, составленной на исходном языке высокого уровня, в эквивалентную программу на низкоуровневом языке, близком к машинному коду.], кои их верные паладины пытаются сравнивать в ходе сей священной войны. Нет, он является плодом фундаментального свойства человеческой психики – человеку удобно то, к чему он привык. Отсюда – каждый сверчок хвалит свой шесток, а каждый кулик – своё болото.
Целью этой небольшой книжки будет ваше знакомство с обоими славными представителями большой семьи языков программирования. Чтобы вы легко могли переходить с одного на другой, по мере необходимости.
Pascal – это яркий представитель европейской школы программирования, известной своими академической логичностью и педантизмом. А C – это продукт американского делового подхода – как говорит Михаил Задорнов: “Всё, чтобы быстрей до бабок добраться!”
Pascal не превзойдён по удобству обучения на нём программированию – именно так он и задумывался его автором Николаусом Виртом. Ныне широко используются такие, базирующиеся на нём, среды визуального программирования, как Delphi (для Windows) и бесплатный Lazarus (для Windows и Linux).
А американец Деннис Ритчи сделал C, как подручный инструмент для создания операционной системы UNIX. Но его компактный синтаксис так полюбился профессионалам, что они наплодили множество других Си-подобных языков: C++, C#, Java и прочие. Хотя бы поэтому полезно знать C. Например, когда у меня возникла необходимость использовать JavaScript, то проблем с освоением его не было – ведь его синтаксис мне был уже знаком по C.
Вообще, лучше идти в увлекательный мир программирования на двух ногах, а не скакать на одной, вступая в спор о преимуществах левой ноги перед правой и наоборот.
А теперь я расскажу вам – почему эта книжка получилась именно такой?
Имея довольно продолжительный опыт преподавания информатики в колледжах, я накопил ряд приёмов эффективной подачи нового материала моим студентам и пришёл к выводу, что использование определений мало полезно и гораздо лучше использовать, для этого, конкретные примеры, объясняя их разными способами. Поэтому, я беру простую и понятную задачу и привожу алгоритм её решения на русском языке – аналогичный по структуре с программой на Паскале. Затем, этот же фрагмент идёт, собственно, на Паскале и, для пущей наглядности, графически иллюстрируется блок-схемой. Для всех ключевых слов Паскаля я даю русский перевод – для тех студентов, которые не учили английского языка.
Довольно быстро я отбросил идею давать конструкции обоих языков параллельно – это бы только перегружало страницы и сбивало с толку читателей, при первом прочтении книги, и было бы неудобно, при последующих обращениях к ней. Гораздо целесообразней – первоначально изложить основы программирования на идеально подходящем для этого Паскале. Причём, чтобы не отвлекать внимания, я привожу только алгоритм решения, опуская начало и конец программы. Вид программы целиком даётся в последних примерах. Во второй части книги приводятся программы на Си, для тех же примеров. Программы там представлены целиком, поскольку синтаксис Си сложнее, чем синтаксис Паскаля, и не хотелось бы, чтобы читатели, запуская примеры на своих компьютерах, тратили время на удовлетворение претензий компилятора.
В конце книжки я предлагаю коллекцию простых задачек, чтобы вы могли закрепить на практике полученные знания. Решая их, читайте внимательно сообщения компилятора и вып