- •Конспект лекций по курсу «Информатика» для студентов очной и заочной форм обучения.
- •Базовые положения
- •§.1. Физическое устройство и разумная деятельность мозга
- •§2. Самодостаточная эвм
- •2.1. Память (оперативная память)
- •2.2. Процессор
- •2.3. Программа
- •2.4. Жизненный цикл «Самодостаточной эвм»
- •§3. Язык процессора – базовый язык эвм
- •§4. Реальная эвм. Периферийные устройства
- •§5. Язык программирования. Программа транслятор
- •§6. Язык программирования Pascal
- •6.1. Базовые типы числовых информационных объектов
- •6.2. Явные константы
- •6.3. Оператор описания var
- •Var и1, и2, и3, . . . . ,Иn: Итипа;
- •6.5. Операторы консольного ввода информации
- •6.5.1. Стандартные форматы вывода числовой информации.
- •6.6. Логические переменные
- •6.7. Операторы управления программой
- •6.7.1. Условный оператор if then
- •If Условие then Оператор ;
- •6.7.2. Условный оператор выбора if then else
- •6.8. Метки операторов. Оператор безусловного перехода
- •6.9. Циклические вычисления. Операторы зацикливания
- •Организация циклических вычислений операторами if then goto
- •Программа вычисления корня по формуле Герона.
- •6.9.3. Оператор цикла for to
- •6.9.4. Оператор цикла for downto
- •6.9.5. Оператор цикла while
- •6.9.6. Программа вычисления длины дуги кривой
- •7. Массивы переменных
- •7.1. Программа нахождения экстремальных значений
- •7.2. Программа решения системы линейных алгебраических уравнений
- •8. Сортировка информации
- •8.1. Элементы формальной логики, теории множеств и операций
- •8.2. Упорядоченные структуры информационных объектов
- •8.3. Алгоритм сортировки «поплавок»
- •8.3.1. Программа сортировки массива «на месте»
- •8.3.2. Программа сортировки «индексов» массива
- •8.4. Алгоритм быстрого поиска информации в линейно упорядоченном массиве
- •8.4.1. Программа поиска в отсортированных массивах.
- •9. Символьные переменные
- •9.1.Строковые переменные
- •9.1.1. Программа написания чисел прописью
- •10. Клавиатурное управление эвм
- •§.11. Информационные объекты класса – изображение
- •11.1. Устройство функционированиемонитора
- •11.2. Процедурный язык управления графическим экраном
- •11.3. Оцифровка и масштабирование реальных изображений (чертежей) для последующего их вывода на экран
- •11.4. Пример построения фрагмента графика функции
- •11.5. Ввод и обработка информации в форме изображений
- •§12. Информационные объекты класса – подпрограммы
- •12.1. Подпрограммы типа procedure
- •12.1.1. Пример оформления подпрограммы-процедуры
- •12.2. Подпрограммы класса function
- •12.2.1.Пример оформления подпрограммы-функции
- •12.3. Процедурные языки программирования
- •12.4. Библиотечные модули Unit
- •§13. Динамическое распределение оперативной памяти эвм
- •13.1. Программа использующая динамические переменные
- •§14. Переменные типа record
- •§15. Внешняя память эвм. Работа с файлами
- •15.1. Процедурный язык обработки файлов
- •15.2.Программа “ Жизненный путь файла “
- •15.3. Текстовые файлы
- •§16. Элементы объектно-ориентированного программирования
- •Основная рекомендуемая литература.
9.1.Строковые переменные
Опр: Последовательность из нескольких литерных переменных образует переменные типа string (строка).
Свойства:
1. строгая последовательность размещения в памяти;
2. плотность размещения в памяти;
3. известная длина, т.е. количество символов внесенных в строку.
Переменные типа string позволяют обрабатывать информацию в виде текстов на естественном языке.
Пример: Var s1, bb, t: string [200];
Семантика: разместить в памяти три переменные строкового типа с именами s1, bb, t! Максимальное количество символов, которые планируется размещать в этих переменных, ограничено числом 200.
Размещение этих информационных объектов в оперативной памяти:
Адрес Адрес Адрес
переменной s1 переменной bb t
201 байт памяти переменной s1 201 байт памяти переменной bb
Реальный объем памяти, отводимой для переменных типа STRING, ровно на один байт больше указываемого в описании числа. В самом первом байте (правильнее говорить в нулевом байте!) размещается информация о количестве символов, которые фактически содержатся в этой строке.
Опр. Индекс – порядковый номер элемента в упорядоченной совокупности однотипных элементов.
Опр. Динамическое имя – это составное имя, где первая часть – имя собственное всего сложноструктурированного объекта, а вторая часть имени – имя целочисленного объекта, в котором содержится номер конкретного элемента входящего в сложный объект.
Если s1 – имя строки, т.е. имя всего структурного объекта, а j – имя некой переменной типа integer, то s1[j] – имя конкретного j-ого элемента (символа) строки.
Стандартные процедуры обработки переменных типа STRING.
Все операции порождения (создания подобного из подобного) для информационных объектов типа String, допускают наглядную механическую интерпретацию: новые строки можно образовать
путем последовательного «склеивания» нескольких строк,
путем «вставки» внутрь одной строки другой (разрезали и склеили),
- путем удаления (вырезания) из строки ее фрагмента, т.е. некой последовательности символов.
Опр. Последовательности символов, заключенных в простые кавычки, являются литерными константами.
Пример: { присвоение строковой переменной s1 явной строковой константы}
s1:=’Вычислить sin(0.3)’;
з анятые позиции
строки s1 (всего 19):
1234567890123456789
В литерной переменной s1[2] находится символ ’ы’, в s1[8] находится символ ’т’.
В литерной переменной s1[0] находится числовой код 19, что соответствует фактическому наполнению символами данной строки.
Для определения фактического количества символов содержащихся в строке можно воспользоваться стандартными функциями ORD(s1[0]) или Length(s1), которые возвращают соответствующую переменную целочисленного типа.
Важно: Все переменные типа string, несмотря на то, каков размер фрагмента памяти им изначально отведен, относятся к одному и томуже типу, т.е. для переменных string понятие класса и типа совпадают.
Пример: операции сложения строк
а:= ’первое слово’; b:= ‘второго’;
с:= а + ‘_дороже_’ + b + ‘_!’;
Получаем строку с: ‘первое слово_дороже_второго!’
Операции преобразования типа представления информации.
Процедура Str(f, a) преобразует содержимое числовой переменной f в символьную форму. Результат размещается в строковой переменной а.
Пример: Var а: string [20]; f: real; .................
f:=25.43;
Str(f:8:3, a); {форматированная запись f:8:3 означает, что число f следует разместить в восьми позициях строки а, последние три из которых отводятся под дробную часть числа }
Результат: в строке а будут размещены восемь символов ’_ _ 25.430’.
Процедура Val(s, t, i) производит обратное действие: преобразует s- заданную строку символов (из цифр, точки, буквы Е и знаков минус или плюс) в формат числовой переменной t, задаваемой в качестве второго параметра. Третий параметр i (целочисленная переменная) нужен для сообщения пользователю об ус пешности выполнения данной операции: если последовательность символов действительно соответствует правилам записи чисел, то i=0, в противном случае i≠0.
Пример: Var t: real; i: integer;
. . . . . . . . .
Val (’-275.04’, t, i);
Writeln (i); Writeln (t: 10: 3);
На экране монитора будет следующее отображение:
0 {печать числа i}
- 2 7 5 . 0 4 0 {печать числа t}
Позиции: 1 2 3 4 5 6 7 8 9 10