- •Для школьников, студентов и начинающих 1999 с,н.Лукин __________________________________________________________ Все права защищены ©
- •Оглавление
- •Часть I. Необходимые сведения о компьютере и программе 8
- •Часть II. Программирование на Паскале – первый уровень 29
- •Часть III. Программирование на Паскале – второй уровень 102
- •Часть IV. Работа в Паскале на компьютере 158
- •От автора
- •Предисловие
- •Кому нужна эта книга?
- •Почему Паскаль?
- •Какой из Паскалей?
- •Краткое содержание с рекомендациями
- •Часть III. Программирование на Паскале – второй уровень. Цели этой части:
- •Часть I. Необходимые сведения о компьютере и программе
- •№Первое представление о компьютере и программе
- •Что умеет делать компьютер
- •Что такое компьютер. Первое представление о программе.
- •Как человек общается с компьютером
- •Программа и программирование
- •Список команд. Командный и программный режимы
- •Последовательность работы человека с роботом
- •Что важно знать о программе
- •Понятие о процедуре. Может ли робот поумнеть?
- •Программа для компьютера на машинном языке
- •Языки программирования
- •Пример настоящей программы для компьютера на языке Лого
- •А теперь напишем программу:
- •Последовательность работы программиста на компьютере
- •Основные приемы программирования
- •Устройство и работа компьютера
- •Как устроен и работает компьютер
- •Порядок обмена информацией между устройствами компьютера
- •Устройство и размеры оперативной памяти
- •Взаимодействие программ в памяти
- •Внешние устройства компьютера
- •Устройства ввода
- •Устройства вывода
- •Внешняя память
- •Кодирование информации в компьютере
- •Часть II. Программирование на Паскале – первый уровень
- •Простые (линейные) программы. Операторы ввода-вывода. Переменные величины
- •Процедура вывода Write
- •8 'Котят' 3*3 'щенят'
- •Первая программа на Паскале
- •Точкой с запятой необходимо отделять операторы друг от друга. Служебные слова begin и end от операторов точкой с запятой отделять не нужно.
- •Выполняем первую программу на компьютере
- •Процедура вывода WriteLn. Курсор
- •Переменные величины. Оператор присваивания
- •Описания переменных (var)
- •Что делает оператор присваивания с памятью
- •Оператор присваивания меняет значение переменной величины
- •Имена переменных
- •Математика. Запись арифметических выражений
- •Вещественные числа в Паскале
- •Три совета
- •Порядок составления простой программы Задача:
- •Порядок составления программы:
- •5. Теперь нужно задать компьютеру действия, которые нужно проделать с исходными данными, чтобы получить результат.
- •Операторы ввода данных ReadLn и Read.
- •Интерфейс пользователя
- •Строковые переменные
- •Диалог с компьютером
- •Константы
- •Разветвляющиеся программы
- •Условный оператор if или как компьютер делает выбор
- •Правила записи оператора if
- •Составной оператор
- •Ступенчатая запись программы
- •Вложенные операторы if. Сложное условие в операторе if. Логические операции
- •Символьный тип данных Char
- •Оператор варианта case
- •Циклические программы
- •Оператор перехода goto. Цикл. Метки
- •Выход из цикла с помощью if
- •Оператор цикла repeat
- •Оператор цикла while
- •Отличия операторов repeat и while
- •Оператор цикла for
- •Типичные маленькие программы
- •Вычислительная циклическая программа
- •Роль ошибок
- •Счетчики
- •Сумматоры
- •Вложение циклов в разветвления и наоборот
- •Вложенные циклы
- •Поиск максимального из чисел
- •Процедуры
- •Компьютер звучит
- •Простейшие процедуры
- •Программа 1
- •Программа 2
- •Программа 3
- •Процедуры и операторы
- •Стандартные процедуры Halt и Exit
- •Графика
- •Стандартные модули
- •Стандартный модуль Graph, текстовый и графический режимы
- •Текстовый и графический режимы
- •Переключение между текстовым и графическим режимами
- •Рисуем простейшие фигуры
- •Работа с цветом. Заливка. Стиль линий и заливки
- •Используем в рисовании переменные величины
- •Использование случайных величин при рисовании
- •Движение картинок по экрану
- •Создаем первую большую программу
- •Постановка задачи
- •Программирование по методу “сверху-вниз”
- •Сначала – работа над структурой программы
- •Зачем переменные вместо чисел
- •Записываем программу целиком
- •Порядок описания переменных, процедур и других конструкций Паскаля
- •Управление компьютером с клавиатуры. Функции ReadKey и KeyPressed
- •Буфер клавиатуры
- •Гетерархия. Задание на игру “Торпедная атака”
- •Часть III. Программирование на Паскале – второй уровень
- •Алфавит и ключевые слова Паскаля
- •Алфавит
- •Ключевые слова
- •Использование пробела
- •Работа с разными типами данных Паскаля
- •Список типов
- •Комментарии к списку типов
- •Числовые типы
- •Массивы
- •Переменные с индексами
- •Одномерные массивы
- •Двумерные массивы
- •Какие бывают массивы
- •Определения констант
- •Типизированные константы
- •Придумываем типы данных
- •Логический тип Boolean
- •Перечислимые типы
- •Ограниченный тип (диапазон)
- •Действия над порядковыми типами
- •Символьный тип Char. Работа с символами
- •Строковый тип String. Работа со строками
- •Множества
- •Расположение информации в оперативной памяти. Адреса
- •Процедуры и функции с параметрами
- •Процедуры с параметрами
- •Функции
- •Подпрограммы. Локальные и глобальные переменные
- •Массивы как параметры
- •Параметры-значения и параметры-переменные
- •Индукция. Рекурсия. Стек
- •Сортировка
- •Строгости Паскаля
- •Структура программы
- •Структура процедур и функций
- •Выражения
- •Совместимость типов
- •Форматы вывода данных
- •Переполнение ячеек памяти
- •Дерево типов
- •Синтаксисические диаграммы Паскаля
- •Другие возможности Паскаля
- •Работа с файлами данных
- •Вставка в программу фрагментов из других программных файлов
- •Модули программиста
- •Дополнительные процедуры и функции модуля Graph
- •Копирование и движение областей экрана
- •Вывод текста в графическом режиме
- •Управление цветом в текстовом режиме (модуль crt)
- •Работа с датами и временем (модуль dos)
- •Нерассмотренные возможности Паскаля
- •Миг между прошлым и будущим
- •Часть IV. Работа в Паскале на компьютере
- •Что нужно знать и уметь к моменту выполнения первой программы?
- •Порядок работы в Паскале
- •(1) Запуск Паскаля
- •(2) Начало работы. Ввод программы. Выход из Паскаля
- •(3) Сохранение программы на диске. Загрузка программы с диска
- •(4) Выполнение программы
- •(5) Исправление ошибок. Отладка программы.
- •Пошаговый режим
- •Работа с окнами пользователя и отладчика
- •Отладка больших программ
- •Работа с несколькими окнами.
- •Копирование и перемещение фрагментов текста
- •Обзор популярных команд меню
- •Создание исполнимых файлов (exe)
- •Приложения. Справочный материал п1. Как вводить программу в компьютер или работа с текстом в текстовом редакторе
- •Работа с одной строкой текста
- •Работа с несколькими строками
- •Собственно работа с несколькими строками.
- •П2. Файловая система магнитного диска
- •Имена файлов и каталогов
- •Пример структуры каталогов на диске
- •Логические диски. Путь (дорожка) к файлу
- •П3. Список некоторых операций, процедур и функций Паскаля
- •Математика
- •Модуль crt
- •Модуль Graph
- •П4. Произношение английских слов
- •П5. Решения заданий
- •П6. Список литературы
- •П7. Предметный указатель
-
Приложения. Справочный материал п1. Как вводить программу в компьютер или работа с текстом в текстовом редакторе
Ввод вашей программы в компьютер производится при помощи специальной программы, которая называется текстовым редактором и входит в состав Паскаля. Паскалевская программа - это обычный текст, поэтому нам достаточно освоить работу с текстом в текстовом редакторе.
Работа с одной строкой текста
Когда мы начинаем работать в текстовом редакторе, перед нами обычно - пустой экран, по краям которого могут располагаться различные меню и "письменные принадлежности". На них мы внимания пока не обращаем. Пустое пространство экрана - наш лист, и на нем мы будем писать.
Я бы не хотел, чтобы мы учились вводить сразу же текст программы. Эффективнее учиться на специально подобранных маленьких текстах. А чтобы знать, как реагировать на неожиданности, нужно перед тем, как начать нажимать клавиши, проглядеть не очень внимательно дальнейший материал вплоть до «Работы с несколькими строками».
Ввод строки. Пусть мы хотим ввести строчку "юный пионер Коля любит Bubble Gum". Первая клавиша, по которой мы должны щелкнуть, - русская буква "ю". Но где она появится на экране? - В том месте, где сейчас мигает курсор (см.0.4). А в начале работы редактора он должен мигать в левом верхнем углу.
Щелкаем по клавише "ю" - и на экране на месте курсора возникает буква "ю", а сам курсор перемещается чуть вправо, там потом возникнет следующая буква. (Если получилась не буква "ю", а точка, значит прочитайте чуть ниже про английские и русские буквы. Если буква получилась заглавной, почитайте про заглавные буквы.) Вот какая получается картина - "ю_". По клавише именно щелкаем, «клюем» ее, а не нажимаем, потому что компьютер настроен так, что если мы задерживаем палец на клавише дольше некоторой доли секунды, он считает, что нажатий было не одно, а два, еще подольше – три, и так далее, а это значит, что на экране мы увидим "ююююююююю_". Поэтому в дальнейшем изложении, когда я говорю «Нажмите клавишу», я буду иметь в виду «Щелкните по клавише» за исключением специально оговоренных случаев.
Получив на экране "ю", щелкнем по "н". На экране видим "юн_". И так далее, пока на экране мы не получим "юный_".
Если мы в процессе работы случайно нажали на клавишу не с той буквой, то щелкнем по клавише BackSpace. Она стирает последнюю введенную букву. Эта клавиша имеет еще маркировку BS или .
После ввода слова "юный" нужно ввести пробел перед следующим словом. Для этого щелкните по самой длинной горизонтальной клавише. Затем аналогично вводите слово "пионер", пробел и так далее до слова "Коля".
Заглавные буквы. Чтобы буква "к" в слове "Коля" получилась заглавной, нужно нажать на клавишу Shift и держать ее нажатой. Смело держите ее нажатой сколько угодно - ничего плохого от этого не произойдет. Затем, удерживая ее нажатой, щелкните по букве "к" - она получится заглавной. Теперь отпустите Shift. Можно работать дальше со строчными буквами. Иногда клавиша Shift имеет маркировку .
Ненароком в процессе работы вы можете нажать клавишу CapsLock и не заметить этого. После этого при нажатии на любую буквенную клавишу вы получите заглавную букву вместо строчной. При этом в правом верхнем углу клавиатуры горит индикатор CapsLock. Еще раз нажмите на CapsLock и все вернется на свои места.
Английские и русские буквы. Вот вы дошли до английского слова "Bubble Gum". Как его набрать? Вы уже заметили, что обычно на большинстве клавиш букв две - сверху английская, снизу русская. Предположим, до сих пор у вас при нажатии на клавишу всегда выходила русская буква. Говорят, что вы работали в русском регистре. Если вы нажмете определенную специальную клавишу или пару специальных клавиш, то теперь при нажатии на любую буквенную клавишу у вас будут получаться английские буквы, пока вы снова не нажмете на эти самые или, возможно, на другие специальные клавиши, чтобы вернуться к русским буквам.
Управляет процессом ввода информации с клавиатуры специальная программа, называемая драйвером клавиатуры. Драйверы бывают разные и от них зависит, какие именно специальные клавиши нужно нажимать для переключения из русского регистра в английский и обратно. Если вы предварительно не узнали, какие это клавиши, то попробуйте такие сочетания:
-
Shift + Shift На клавиатуре имеется две клавиши Shift. Имеется в виду, что удерживая нажатой одну клавишу Shift вам нужно щелкнуть по другой.
-
Ctrl Клавиш Ctrl тоже две. Обычно имеется в виду правая. Иногда правая переключает в один язык, левая – в другой.
-
Ctrl + Shift Попробуйте разные сочетания. Иногда правая пара клавиш переводит клавиатуру в английский регистр, а левая – в русский.
-
Alt + Shift Попробуйте разные сочетания.
-
Если ничего из вышеназванного не подойдет, попробуйте любые сочетания клавиш Ctrl, Alt, Shift.
-
Если и это не поможет, то попробуйте узнать, а запущен ли у вас драйвер клавиатуры.
Знаки препинания. Вы набрали все предложение. Теперь вам самое время поставить точку, а мне поговорить о знаках препинания. В отличие от букв, их на клавиатуре не сразу и найдешь. Над буквами вы увидите горизонтальный ряд клавиш с цифрами от 0 до 9. На эти же клавиши нанесены и многие знаки препинания. Вы их сможете получить при нажатой клавише Shift. Однако многие драйверы клавиатуры получают их совсем не там, где они нанесены краской на клавиши. Например, точка обычно живет на клавише "?" рядом с правой клавишей Shift, а запятая - на ней же с нажатой Shift. Попозже поэкспериментируйте. Понажимайте все подозрительные клавиши просто так или при нажатой Shift. Но не сейчас. Сейчас нам нужно идти дальше.
Удаление букв из текста. Вот вы напечатали всю строку "юный пионер Коля любит Bubble Gum". Теперь попробуем удалить слово "пионер". Для этого нам нужно уметь перемещать курсор. Для перемещения курсора служат четыре клавиши внизу клавиатуры: . В нашем случае будут работать только первые две. Попробуйте, как они работают. Затем поставьте курсор на пробел между словом "пионер" и словом "Коля". Мы уже начинаем привыкать, что если нажать какую-нибудь клавишу, то что-то произойдет именно в том месте, где курсор. Чтобы стереть по очереди все буквы слова "пионер", несколько раз нажмите на клавишу BackSpace. Обратите внимание, что буквы слова "пионер" слева от курсора исчезают по одной, текст справа от курсора смыкается налево, так что пустого пространства на месте слова "пионер" не остается. У вас должно получиться "юный Коля любит Bubble Gum".
Для стирания символов существует еще одна клавиша - Delete. Иногда она имеет маркировку Del. Давайте сотрем слово "любит". Поставим курсор на пробел между словом "Коля" и словом "любит". Нажмем несколько раз на Delete. Слово любит "стерлось", а текст справа от курсора снова сомкнулся налево.
Таким образом, клавиша BackSpace стирает символ слева от курсора а клавиша Delete – тот, на котором стоит курсор. В обоих случаях текст справа от курсора смыкается налево на место курсора.
Вставка букв в текст. Теперь у нас на экране строка "юный Коля Bubble Gum". Давайте вставим перед словом "Коля" слово "бойскаут". Для этого поставим курсор на букву "К" в слове "Коля". После этого напечатаем слово "бойскаут" и пробел. Мы увидим, что буквы слова "бойскаут" появляются на месте курсора, "Коля" вместе с "Bubble Gum" ушли направо и мы достигли поставленной цели. Теперь у нас на экране строка "юный бойскаут Коля Bubble Gum".
Этот способ работы текстового редактора, когда вставляемый текст отодвигает вправо остальной текст, называется режимом вставки. Если вы нажмете на клавишу Insert, иногда маркируемую Ins, то перейдете в режим замещения, когда текст не будет отодвигаться, а "бойскаут" сотрет "Колю". Чтобы вернуться в режим вставки, еще раз нажмите на Insert.