- •Лекции по 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. Толковый словарик
-
Стандартные функции для работы со строками
Строки сами по себе не представляли бы наверное большого интереса, если бы не существовало средств для их обработки. Рассмотрим самые полезные функции для работы со строками.
Одна из главных характеристик строки – это её длина. Длину строки можно вычислить с помощью функции
Length (st)
Например:
Length (’kolobok’) - результат 7 ;
Length (’’) - результат 0.
Любые две cтроки можно сложить (склеить). Для этого используется знак операции +. Например:
st := ’Д’ + ’a’ ; { st = ’Да’ }
st := st + ’ или нет.’; { Теперь st = ’Да или нет’ }
В одной строчке можно склеивать сразу несколько строк, например:
Program Plus_Demo ;
var s1, s2 : string;
begin
s1 := ’Мир ’; { Обратите внимание на пробел в конце! }
s2 := s1 + s1 + ’и еще раз ’ + s1 + ’!’ ;
writeln (s2); { Напечатается: Мир Мир и еще раз Мир! }
end.
Следующая важная функция для выделения подстроки (т. е. части строки)
Copy (<строка>, <первый символ>, <сколько символов>)
Этой функции, как вы видите, требуется три аргумента. Первый – строка символов – переменная типа string, из которой и производится «выуживание» подстроки; следующий параметр – <первый символ> – целое число, указывающее, начиная с какого символа надо начинать выделение подстроки; последний параметр – <сколько символов> – задаёт длину выделяемого фрагмента строки.
Например:
Program CopyDemo;
var s1, s2 : string;
begin
s1 := 'doroga';
s2 := copy (’doroga’, 3, 4);
writeln (s2); { Будет напечатана строка ’roga’ }
end.
В этом примере из слова doroga выделяется 4 символа, начиная с третьего.
Вот ещё один пример:
program Copying;
var s1, s2 : string;
begin
s1 := ’Раз Два Три!’;
s2 := copy (s1, 5, 3);
writeln (s2) { ’Два’ }
end.
Едем дальше. При помощи квадратных скобок можно обратиться к одному символу строки:
st [<номер символа>]
Например, если st = ’Раз Два Три!’ , то:
st[1] равно ’Р’,
st[2] равно ’а’,
st[3] равно ’з’,
st[9] равно ’Т’.
Номером символа может быть и переменная целого типа, например:
program SymbolsNr;
var s : string;
i : integer;
begin
s := ’Красота!’;
i := length (s); { Вычисление длины }
writeln (s[i]) { Напечатается '!' }
end.
Используя квадратные скобки можно не только читать значение указанного символа, но и записывать на его место новый символ. Например:
st:= ’Раз Два Три!’; { st = ’Раз Два Три!’ }
st [4] := ’-’; { st = ’Раз-Два Три!’ }
st [8] := ’-’; { st = ’Раз-Два-Три!’ }
st [1] := ’Щ’; { st = ’Щаз-Два-Три!’ }
-
Тип Char
Символ – это любая буква, цифра, пробел или значок, который можно вывести на экран компьютера.
Переменные типа char могут хранить только один какой-нибудь символ. Символы на языке Паскаль записываются при помощи одинарных кавычек.
Например:
’a’ - символ – маленькая латинская буква а,
’Б’ - символ – большая русская буква б,
’$’ - символ – знак доллара,
’”’ – символ – двойная кавычка,
’’’’ - символ – одинарная кавычка.
Примеры ошибочного определения символа:
’zx’ – вместо одного символа – два.
”a” - символ должен быть в апострофах, а не в кавычках.
& - символ должен быть в кавычках, а не просто так.
’’ - так обозначается пустая строка. Длина пустой строки ноль символов, а не один.
Вы наверняка знаете, что каждый символ имеет свой собственный код от 0 до 255 (в так называемой кодовой таблице ASCII). Поэтому любой символ можно задать по его коду в таблице ASCII. Для этого ставится значок решётки #, после которого пишется номер символа (в десятичной системе счисления), например:
#33 символ ’!’;
#65 символ ’А’;
#255 символ с кодом 255.
Для любопытных приведу фрагмент таблицы ASCII, может пригодится.
Так как каждый символ имеет свой собственный код, то их можно сравнивать друг с другом. Считается, что символы равны, если равны их коды. Из двух символов больше тот, чей код в таблице ASCII больше. Поэтому хоть внешне некоторые символы похожи (например: ноль и буква О, русская В и английская B) или имеют одну и ту же смысловую нагрузку (например, большая и маленькая буква d), но для компьютера они являются разными символами.
Вот пример программы с переменной типа char.
Program Char_Example;
Var c : char;
begin
Write (’Вас поздравить с Новым годом? (d/n)’);
Readln (c); { Ввод одного символа }
If (a = ’d’) or (a = ’D’)
then writeln (’Поздравляю вас с Новым годом!’);
End.
В этой программе оператором readln с клавиатуры вводится какой-нибудь символ. Предполагается, что это будет символ ’d’ или ’n’. В программе предусмотрен случай ввода большой буквы D.