
- •Лекции по Turbo Pascal 7.0
- •1 Курс, «Информатика»
- •Интегрированная среда Turbo Pascal 7.0
- •Первый шаг
- •Создание нового файла
- •Набор и редактирование текста программы
- •Клавиши перемещения курсора
- •Клавиши для редактирования текста:
- •Сохранение и открытие программ
- •Запуск программы
- •Завершение работы
- •А теперь, когда вы уже знаете, как набирать и запускать программы на компьютере, начнём изучать язык паскаль.
- •Первая программа
- •Краткая история
- •Что такое программа?
- •Зарезервированные слова
- •Переменные
- •Константы
- •Стандартные математические операции
- •В информатике, как и в математике, на ноль делить нельзя!
- •Оператор присваивания
- •Пример программы
- •Операторы ввода и вывода.
- •Оператор ввода Readln
- •Оператор вывода Write
- •Самостоятельные задания
- •Работа с цифрами
- •Выделение цифр числа
- •Конструирование числа по его цифрам
- •Обобщение
- •Самостоятельные задания
- •Условный оператор
- •Что такое условие?
- •Укороченный вариант условного оператора
- •Составной оператор
- •Составные условия
- •“Защита от дурака”
- •Вложенные условные операторы
- •Оператор выбора Case
- •Самостоятельные задания
- •Стандартные типы переменных
- •Общий обзор стандартных типов.
- •Целые типы
- •Вещественные типы
- •Способ записи вещественных чисел
- •Вывод на экран вещественных чисел
- •Точность и диапазон вещественных чисел различных типов
- •Вещественные функции
- •Линейная запись математических выражений
- •Логический тип
- •Символьные типы
- •Стандартные функции для работы со строками
- •Стандартные функции для типа char
- •Подпрограммы
- •Зачем нужны подпрограммы?
- •Процедуры
- •Аргументы процедуры
- •Результаты процедуры
- •Функции
- •Самостоятельные задания
- •Цикл For
- •Руками не трогать!
- •Нахождение суммы
- •Нахождение произведения
- •Нахождение количества
- •Цикл While ... Do
- •Цикл Repeat ... Until
- •2.7. Самостоятельные задания
- •Цикл в цикле
- •Натуральные числа
- •Делители чисел
- •Самостоятельные задания.
- •Простые числа
- •Самостоятельные задания.
- •Наибольший общий делитель двух чисел.
- •Самостоятельные задания.
- •Наименьшее общее кратное двух чисел
- •Самостоятельные задания.
- •Массивы
- •Определение и примеры
- •Операции с элементами массива
- •Анализ информации в массиве
- •Рекуррентные соотношения
- •Самостоятельное задание
- •Последовательность Фибоначчи
- •Другие рекуррентные последовательности
- •Оптимизация программ
- •Задача про интеллигентного студента.
- •Самостоятельные задания
- •Оформление программ
- •Понятие модуля
- •Управление цветом
- •Управление звуком
- •Опрос клавиатуры
- •Управление курсором.
- •Дополнительные задачи и вопросы
- •Теоретические вопросы
- •Практические задачи
- •Условия
- •Ряды и рекуррентные последовательности
- •Просмотр всех команд меню
- •Команды меню File
- •Команды меню Edit
- •Команды меню Search
- •Команды меню Run
- •Команды меню Compile
- •Команды меню Debug
- •Команды меню Options
- •Команды меню Window
- •Команды меню Help
- •Синтаксические ошибки
- •Ошибки выполнения
- •Логические ошибки
- •Средства отладки
- •Пошаговый режим работы программы
- •Просмотр/изменение переменных
- •Окно Watch
- •1. Теоретическая часть
- •1.1. Понятие алгоритма и его свойства.
- •1.2. Культура программирования
- •1.3. Устройство компьютера и его компоненты.
- •1.4. Информация
- •1.5. Логика
- •1.6. Системы счисления
- •1.7. Арифметические действия с двоичными числами
- •1.8. Информационные взаимодействия – коммуникации
- •1.9. Информационная революция
- •1.10. Компьютеры и информационное общество.
- •1.11. Польза и опасности компьютеризации.
- •1.12. Киберфобия.
- •1.13. Компьютеры и будущее
- •1.14. Понятие информационного моделирования.
- •2. Толковый словарик
-
Опрос клавиатуры
Как известно, клавиатура является устройством ввода информации, в противовес монитору, который является устройством вывода информации. Пока мы знакомы только с одним оператором ввода данных с клавиатуры – оператором readln. При всей его универсальности у него есть большой недостаток – он приостанавливает работу всей программы до тех пор, пока не будет введена ожидаемая компьютером информация.
Познакомимся с функцией keypressed. Эта функция возвращает логическое значение
-
true – если была нажата какая-нибудь клавиша на клавиатуре
-
false – в противном случае.
Вот как это можно использовать в программе:
program keypressed_demo;
uses crt; { подключение модуля crt }
begin
writeln (’Нажмите любую клавишу, чтоб кукушка замолчала!’);
while not keypressed do
begin
write (’Ku-ku! ’); {печатаем фразу, пока не нажмут любую клавишу}
delay (100)
end
end.
Измените эту программу так, чтобы она не молчала, а "ку-ку-кала"!
Следующая функция – ReadKey. Как следует из её названия, она "читает клавишу", то есть возвращает символ, соответствующий нажатой клавише. Если никакой клавиши нажато не было, то эта функция ждёт, пока её не нажмут. Вот как можно использовать эту функцию в программе:
program readkey_demo;
uses crt; { подключение модуля crt }
begin
repeat
c := ReadKey;
writeln (’Вы нажали клавишу ’, c);
until c = ’ ’; { пробел }
end.
-
Управление курсором.
Помните, что такое курсор? Если нет, то вернитесь назад, туда где проходили оператор write и writeln!
Kурсор может быть перемещен в любое место экрана процедурой
GoToXY (x, y);
где x и y – целые числа, указывающие координаты курсора. x – указывает координату по горизонтали (то есть номер столбца), у – координату по вертикали (то есть номер строки). Координата (1, 1) относится к верхнему левому углу. На обычном экране х может изменяться от 1 до 80, а у от 1 до 25. Следующий фрагмент программы выводит строчку по центру экрана:
gotoxy (34, 12);
write (’Hello World!’);
Составьте программу, которая нарисует по центру экрана вашу визитную карточку! Для этого вы можете использовать процедуру gotoxy перед каждым оператором вывода на экран.
-
Дополнительные задачи и вопросы
-
Теоретические вопросы
-
Кто и когда придумал язык Паскаль?
-
Из каких частей состоит любая программа?
-
Что называют зарезервированным словом? Является ли им слово write ?
-
Чем отличается оператор write от writeln?
-
Какие стандартные типы вы знаете?
-
Сколько раз выполнится каждый из циклов? Объясните, как вы это определяете. for i := 2 to 5 do ; for i := -1 to 3 do ; for i := 100 to 100 do ; for i := 100 downto 200 do ; for i := 1000 to 2000 do ;
-
Какие логические операции вы знаете? Напишите для них таблицу значений.
-
Сколько раз может выполнится цикл Repeat ? Отчего это зависит?
-
Чем отличаются операторы write(’a’) и write(a)? Когда они могут привести к одинаковому результату?
-
Чем отличается имя от переменной?
-
Чем отличается переменная от константы?
-
Можно ли в качестве имени переменной использовать такие имена: Masha, Program, Repeet, Readln, Length, HMR, integer, Good_Day, _love_, Samo^Soboj, and, from1to2, 1_for_ALL, begin, string, case_of_end, Nr#7.
-
Дано предложение: If a > b Then c := a Else c := c+1; Замените его аналогичным фрагментом программы, в котором не будет использован условный оператор if. Можно использовать дополнительные переменные.(Подсказка: используйте цикл While).
-
В каких конструкциях языка Паскаль используется служебное слово of?
-
Для чего используют массивы?
-
Чем отличаются одномерные таблицы от многомерных?
-
Какие данные могут хранится в таблице? В массиве?
-
Что означает запись A[4]? А запись A[A[1]] ?
-
Дайте определение рекуррентной последовательности и рекуррентного соотношения.
-
Придумайте рекуррентную последовательность, в которой каждый последующий элемент будет меньше предыдущего (убывающая последовательность).
-
Что называют модулем в Паскаль-программе?
-
Чем отличается цвет фона от цвета символов? Какие процедуры управляют этими цветами?
-
Что произойдёт, если после вызова процедуры Sound не вызвать процедуру NoSound?
-
Чем отличается процедура Readkey от Readln?
-
Что такое курсор?
-
Куда перемещается курсор после выполнения процедуры ClrScr?