Предисловие
Научиться программировать
можно только программируя. Другого способа нет. Но прежде чем самому
начать проектировать алгоритмы и записывать их на языках программирования,
полезно разобрать большое число разнообразных алгоритмов и реализующих
их программ.
Цели настоящего практикума:
-
Скорейшее привлечение читателя
к самостоятельному и осмысленному составлению законченных программ на популярных
языках программирования Pascal и Basic;
-
Привитие основных навыков алгоритмической
и программистской грамотности:
-
ясного и понятного стиля;
-
надёжности решений;
-
экономии вычислений;
-
организации переборов и т.д.
Тематически практикум разбит
на несколько разделов, охватывающих обработку числовой, текстовой и графической
информации.
Примеры и задачи для самостоятельного
решения в разделах подобраны по общности алгоритмических конструкций, употребляемых
для их реализации:
-
задачи без циклов;
-
задачи на циклы с известным
числом повторений;
-
задачи на циклы с неизвестным
числом повторений;
-
задачи, реализуемые комбинациями
этих двух видов циклов;
-
задачи обработки текстовой информации;
-
задачи обработки графической
и звуковой информации.
Для каждой задачи практикума
приводятся:
-
система тестов;
-
параллельная реализация алгоритма
на школьном алгоритмическом языке, языке блок-схем и на языках
Turbo Pascal и QBasic;
-
таблицы исполнения алгоритма
на каждом из тестов.
Для многих задач приводятся
результаты работы программ, выведенные на экран дисплея. Такое же
изображение получит читатель, выполняя программу на своем компьютере.
Важное значение, придаваемое
тестированию алгоритмов, объясняется следующим:
-
на этом этапе детально изучается
и уточняется условие задачи;
-
происходит осмысление того,
что является исходными данными и результатами;
-
фиксируются все ситуации, которые
могут возникнуть при решении задачи;
-
уточняются типы данных;
-
даются имена переменным;
-
продумываются формы представления
и выдачи исходных данных и результатов.
Приводимые способы и программы
решения задач по возможности являются рациональными, но не претендуют на
то, чтобы быть наилучшими.
Так, в программах из-за соображений
экономии объёма не предусмотрена защита от недопустимых данных, хотя это
– обязательный элемент любой программы. Читатель может сам восполнить эти
недочеты, воспользовавшись рекомендациями восьмой главы первой книги ("Теория")
настоящего учебника, и в ряде случаев предложить более совершенное решение
задачи.
Автор будет благодарна читателям
за замечания, новые решения и интересные задачи, которые можно направлять
по e-mail: shau@kbsu.ru.