Читаем Конец холивара. Pascal vs C полностью

Здесь переменная b получит значение 5, такое же значение будет присвоено выражению в скобках, и всё выражение в целом стане равным a+4.

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

В C имеется препроцессор, который осуществляет макроподстановки, подстановки файлов, условные подстановки и перенумерацию строк в тексте программы перед её компиляцией.

Отличительным признаком директивы препроцессора служит символ #, помещённый перед ней.

Например, если вы напишете в начале программы:

# define pi 3.14159

# define e 2.71828

То препроцессор заменит в ней все имена pi и e на соответствующие числовые константы. Такие действия называются макроподстановками.

Подстановку файлов, например #include , вы уже встречали в примерах программ.

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

<p>Напутствие</p>

Ну, вот, я и рассказал вам всё, что хотел. Книжка получилась достаточно компактной, поскольку, как и в лекциях моим студентам, я следовал принципу – “Ещё проще!” Собственно, то, что вы держите сейчас в руках – это переработка тех самых лекций, в которых я снова нашёл, что можно ещё упростить и выкинул ряд моментов, требующих дополнительных объяснений и, следовательно, отвлекающих внимание от основных сведений. Надеюсь, что чтение этой работы и разбор примеров не заняли у вас много времени, но, в дальнейшем, вы ещё будете к ней возвращаться – пока не сформируете базовых навыков. А дальше – в добрый путь в волшебную страну программирования, где вы сами, со временем, станете магами, или шаманами. Существует много умных книг об этом – свои любимые я вам рекомендую в списке литературы. Есть ещё интернет с онлайн-справочниками и форумами, где энтузиасты и профессионалы делятся своими знаниями, а иногда и секретами. Так что без помощи вы не останетесь.

Буду очень рад получить ваши отзывы на свою работу – по адресу:

[email protected]

Если книжка вам понравится, то, может быть, возьмусь за следующую. И, скорее всего, она будет посвящена моему любимому интернет-программированию.

<p>Упражнения</p>

1. Написать программу пересчёта температуры из шкалы Цельсия в шкалу Фаренгейта:

t (F) =t (C) x 1,8 +32, где t (F) – температура по Фаренгейту, а t (C) – температура по Цельсию.

2. Написать программу пересчёта цены товара с учётом скидки, заданной в процентах.

3. Написать программу вычисления пройденного пути по известным значениям скорости и времени.

4. Написать программу для вычисления переменной S:

S= 1 +1/2 +1/3 +1/4 +…+1/n, при n=30.

5. Написать программу полного исследования совокупности корней биквадратного уравнения AX+ BX2 + C = 0. Если корней нет, то должно быть выведено текстовое сообщение об этом, иначе должны быть выведены два или четыре корня.

6. Даны положительные X, Y, Z. Выяснить, существует ли треугольник с длинами сторон X, Y, Z? Ответ получить в текстовой форме: существует или не существует.

7. Дано положительное A. Найти наибольшее число вида 1/2n, где n больше или равно 0, меньшее А.

8. Вывести таблицу значений функции Y = sin X. Таблица должна иметь две колонки, в i-ю строку таблицы заносятся значения Xi и Yi, где Xi = 0,1 x i, Yi = sin Xi (i = 0,1, 2, 3,…, 15).

9. Дан массив целых чисел. Написать программу поиска в массиве элемента с заданным значением. Если элемент имеется, то сообщить его индекс или индексы, если таковых найдётся несколько. Если элемента с заданным значением нет, то сообщить об этом.

10. Дан массив вещественных чисел. Написать программу поиска минимального элемента массива.

11. Дан двумерный массив вещественных чисел. Написать программу поиска максимального элемента массива.

12. Выяснить, имеются ли среди данных символов S1,…, Sn совпадающие.

<p>Литература</p>

Это книги по которым я сам учился программированию и которые использовал, готовя лекции для своих студентов в колледжах. Я храню их в своей личной библиотеке и всячески рекомендую вам поискать их в тех библиотеках, услугами которых вы, надеюсь, пользуетесь, или найти их отсканированными в сети. Хотя они и не самые новые, но, поверьте, они стоят того, чтобы ими воспользоваться и сейчас.

1. Вишняков Ю. С. и др. Простое и сложное в программировании/ Авт. предисл. Е. П. Велихов. – М.: Наука, 1988. – 176 с.: ил.

2. Горстко А. Б., Кочковая С. В. Азбука программирования (информатика для всех). – М.: Знание, 1988, – 144 с.

3. Абрамов С. А., Зима Е. В. Начала информатики. – М.: Наука, 1989. – 256 с.

4. Лапчик М. П. Вычисления Алгоритмизация Программирование: Пособие для учителя. – М.: Просвещение, 1988. – 208 с.: ил.

5. Очков В. Ф., Хмелюк В. А. От микрокалькулятора к персональному компьютеру/ Под ред. А. Б. Бойко. – М.: Изд-во МЭИ, 1990. – 224 с.: ил.

6. Крайзмер Л. И., Кулик Б. А. Персональный компьютер на вашем рабочем месте. – СПб.: Лениздат, 1991. – 286 с., ил.

Перейти на страницу:

Похожие книги

Основы программирования в Linux
Основы программирования в Linux

В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стан­дартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым. Для начинающих Linux-программистов

Нейл Мэтью , Ричард Стоунс , Татьяна Коротяева

ОС и Сети / Программирование / Книги по IT
97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT
C++
C++

С++ – это универсальный язык программирования, задуманный так, чтобы сделать программирование более приятным для серьезного программиста. За исключением второстепенных деталей С++ является надмножеством языка программирования C. Помимо возможностей, которые дает C, С++ предоставляет гибкие и эффективные средства определения новых типов. Используя определения новых типов, точно отвечающих концепциям приложения, программист может разделять разрабатываемую программу на легко поддающиеся контролю части. Такой метод построения программ часто называют абстракцией данных. Информация о типах содержится в некоторых объектах типов, определенных пользователем. Такие объекты просты и надежны в использовании в тех ситуациях, когда их тип нельзя установить на стадии компиляции. Программирование с применением таких объектов часто называют объектно-ориентированным. При правильном использовании этот метод дает более короткие, проще понимаемые и легче контролируемые программы. Ключевым понятием С++ является класс. Класс – это тип, определяемый пользователем. Классы обеспечивают сокрытие данных, гарантированную инициализацию данных, неявное преобразование типов для типов, определенных пользователем, динамическое задание типа, контролируемое пользователем управление памятью и механизмы перегрузки операций. С++ предоставляет гораздо лучшие, чем в C, средства выражения модульности программы и проверки типов. В языке есть также усовершенствования, не связанные непосредственно с классами, включающие в себя символические константы, inline-подстановку функций, параметры функции по умолчанию, перегруженные имена функций, операции управления свободной памятью и ссылочный тип. В С++ сохранены возможности языка C по работе с основными объектами аппаратного обеспечения (биты, байты, слова, адреса и т.п.). Это позволяет весьма эффективно реализовывать типы, определяемые пользователем. С++ и его стандартные библиотеки спроектированы так, чтобы обеспечивать переносимость. Имеющаяся на текущий момент реализация языка будет идти в большинстве систем, поддерживающих C. Из С++ программ можно использовать C библиотеки, и с С++ можно использовать большую часть инструментальных средств, поддерживающих программирование на C. Эта книга предназначена главным образом для того, чтобы помочь серьезным программистам изучить язык и применять его в нетривиальных проектах. В ней дано полное описание С++, много примеров и еще больше фрагментов программ.

Бьёрн Страуструп , Бьярн Страустрап , Мюррей Хилл

Программирование, программы, базы данных / Программирование / Книги по IT