- •Лекции по 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. Толковый словарик
-
Линейная запись математических выражений
Математические выражения на языке Паскаль должны быть записаны в так называемой линейной записи, которая состоит из цепочки символов без всяких индексов, например, вместо x1, x2 надо писать x1, x2.
Н адо уметь переводить любую формулу из обычной записи в линейную и наоборот. Например:
Выполните следующие два упражнения:
1. Перевести из линейной записи в обычную:
-
-
(a+b)/c
-
a+b/c
-
a/b/c
-
1/sqr(1+x)
-
1/sqrt(1+x)
-
a+b/c+d
-
(a+b)/(c+d)
-
arctan(x/sqrt(1-x*x))
-
2*sin((a+b)/2)*
-
sqr(sin(abs(x+int(x)))/
cos((a-b)/2)
2*x)
-
2. Перевести из обычной записи в линейную:
О твет на задание к пункту 6.3.1:
1) 3.3e2, 2) 5.764e15, 3) 2.1201e-10,
4) 1.52e10 (маленькое число почти не влияет на результат).
-
Логический тип
Условия, которые мы записывали после слова if, оказывается тоже можно сохранять. Для этого существуют переменные логического типа boolean. Например:
Program Boolean_Variable;
var b : boolean ;
begin
b := 23 > 10 ; { b = true }
writeln (b) ;
end.
Выражение 23>10, как вы уже знаете, называется высказыванием или условием. Оно может быть истинно или ложно. Переменные логического типа могут принимать только два значения: True и False, то есть "истина" и "ложь". Поэтому нет ничего удивительного в таком операторе присваивания, ведь здесь переменная b определена логическим типом в разделе описания.
Над логическими переменными можно производить такие же действия, как и над условиями. Можно также выводить на экран значения логических переменных, используя оператор write. А вот вводить значения логических переменных оператором readln нельзя. Смыслу этого абзаца уместно вторит нижеследующая программа:
Program Boolean_Demo;
var b1, b2 : boolean;
begin
b1 := 5 >= 3; { b1 = True }
b2 := not b1; { b2 = False }
if b1 { так как b1 может быть истинно или нет, }
{ то его можно использовать вместо условия }
then writeln (b2); { Напечатается False }
b1 := b1 or b2; { b1 = True or False = True }
writeln (b1) { Напечатается True }
end.
Так как логическая переменная может хранить одно из двух значений True или False, то для хранения её значения достаточно 1 бита, но для удобства реализации в памяти компьютера ей выделяется 1 байт.
-
Символьные типы
До сих пор мы работали только с числами. Строчки нам встречались только в операторе write при выводе сообщений на экран. Теперь мы научимся работать со строчками и отдельными символами.
-
Тип string
Этот тип предназначен для хранения строк. Вспомним ещё раз, как мы употребляли в операторе write строчки или, по-научному, string-константы:
write (’Какой чудесный день! Какой чудесный пень!’);
Здесь строкой является весь текст, заключенный в апострофы. Таким способом, правда, не удастся в строке задать сам апостроф, так как компьютер под этим символом подразумевает либо начало, либо конец строки. Для использования апострофа в строке надо написать его два раза, например:
оператор |
write (’Don’’t worry!’); |
напечатает: |
Don’t worry! |
Итак, если мы опишем переменную типа string, то мы сможем сохранять в этой переменной строки текста:
Program String_Example;
var s1, s2 : string ;
begin
s1 := ’Тра-ля-ля!’;
s2 := ’А вот и я!’;
writeln (s2);
writeln (s1);
writeln (s1, s2)
end.
Эта программа напечатает следующее:
А вот и я!
Тра-ля-ля!
Тра-ля-ля!А вот и я!
В строке может быть записано от 0 до 255 символов. Строка длиной 0 символов называется пустой и обозначается парой кавычек, между которыми нет других символов: ’’.
Строки можно не только выводить на экран, используя оператор write, но и вводить с клавиатуры оператором Readln. Например:
Program String_Example2;
Var s, otvet : string;
Begin
Write (’Введите ваше имя: ’);
Readln (s); { Ввод строки символов }
If s = ’’ { Введена пустая строка (просто нажали Enter) }
Then s:=’Ипполит Матвеевич’; { … если имя введено не было }
Write (s, ’, вас поздравить с Новым годом? (d/n) ’);
Readln (otvet);
If otvet = ’d’
Then writeln (s, ’! Поздравляю вас с Новым годом!’)
Else writeln (’Не хотите, как хотите...’);
End.
Работа с этой программой может происходить так:
Введите ваше имя: Женя
Женя, вас поздравить с Новым годом? (d/n) d
Женя! Поздравляю вас с Новым годом!