- •Предисловие
- •Содержание курсов "информатика" и "основы алгоритмизации и языки программирования"
- •2.1. Лекционные занятия
- •Тема 9. Разработка и отладка программ с использованием подпрограмм-
- •Тема 10. Разработка и отладка программ с использованием данных
- •Тема 11. Разработка и отладка программ с использованием
- •Приложение
- •2.2. Лабораторные и практические занятия
- •2.3. Рекомендации к бюджету времени при изучении курсов
- •Внимание!
- •Введение Начальные сведения о компьютере ibm pc
- •Клавиатура
- •Особые комбинации клавиш
- •Файлы данных
- •Операционная система ms dos
- •Составные части dos
- •Загрузка и перезагрузка пк
- •Работа с файлами, каталогами и командами
- •Внутренние команды dos
- •Программная оболочка Norton Commander
- •Функциональные клавиши nc
- •Некоторые комбинации клавиш nc
- •Особенности работы интегрированной среды (ide) Турбо Паскаль (Тurbo Рascal)
- •Команды работы с блоками
- •Программирование на языке турбо паскаль Тема № 1 Разработка и отладка программ линейного вычислительного процесса
- •Приоритет выполнения операций
- •Примеры
- •Варианты заданий
- •Тема № 2 Разработка и отладка программ разветвляющегося вычислительного процесса. Логический условный оператор
- •Тема № 3 Разработка и отладка программ разветвляющегося вычислительного процесса. Оператор выбора варианта
- •Варианты заданий
- •15. Введите символ с клавиатуры компьютера и определите, является ли он символом английского алфавита, символом русского алфавита или знаком препинания.
- •16. Введите цифру и распечатайте соответствующий ей знак зодиака. Например единице, соответствует знак зодиака "водолей". Если такой цифры нет, то сделайте сообщение.
- •Тема № 4 Разработка и отладка программ циклического вычислительного процесса. Оператор цикла с параметром
- •Примеры
- •Варианты заданий
- •Тема № 5 Разработка и отладка программ циклического вычислительного процесса. Операторы цикла с постусловием и предусловием
- •Оператор цикла с предварительным условием (предусловием) имеет вид:
- •Тема № 6 Разработка и отладка программ с использованием структурированных типов данных – одномерных массивов
- •Тема № 7 Разработка и отладка программ с использованием структурированных типов данных – двухмерных массивов
- •Тема № 8 Разработка и отладка программ с использованием подпрограмм-функций
- •Подпрограмма-функция Структура функции
- •Примеры
- •11. Даны три массива а(10), в(8), с(12). Подсчитайте для каждого массива среднее арифметическое его положительных элементов, для чего используйте подпрограмму-функцию.
- •13. Составьте подпрограмму-функцию вычисления элементов нового массива на основании элементов массивов а и в по правилу
- •20. Вычислите суммы элементов каждой строки матрицы в(8,8), определите наибольшее значение этих сумм и номер соответствующей строки. Для подсчета сумм и наименьшего значения напишите функции.
- •Тема № 9 Разработка и отладка программ с использованием подпрограмм-процедур
- •Подпрограмма-процедура
- •Структура процедуры
- •Примеры
- •Составьте программу с подпрограммой определения максимальной и минимальной оценок, а также среднего балла, данных девятью судьями каждой из пяти фигуристок.
- •Тема № 10 Разработка и отладка программ с использованием данных символьного и строкового типов
- •Операции над символами
- •Операции над строками
- •Строковые процедуры
- •Строковые функции
- •Варианты заданий
- •Тема № 11 Разработка и отладка программ с использованием структурированных типов данных - файлов
- •Var имя : file of базовый тип;
- •Var имя : имя типа;
- •4.Массив к данных вещественного типа записать в типизированный файл, а затем считать из него средний элемент.
- •Варианты заданий
- •9. Имеется файл с данными целого типа. Считайте эти значения в исходной программе в массив, упорядочьте элементы массива в порядке возрастания (убывания) и запишите его в новый файл.
- •18. Имеется массив температур т[30]. Напишите подпрограмму, находящую среднюю температуру за дни с к1 по к2. Определите самую теплую неделю месяца. Результат запишите в файл.
- •23. Имеется массив температур т[30]. Определите среднюю температуру за месяц, самую теплую и самую холодную температуры в течение месяца. Результаты запишите в файл.
- •Приложения
- •Типы Простые Порядковые Целые
- •Процедурные Файлы
- •Длинные и короткие вещественные типы
- •В) Таблица п.3 Кодировка символов в соответствии с таблицей кодов ascii
- •I. Модуль system
- •II. Модуль dos
- •III. Модуль crt
- •IV. Модуль graph
- •V. Модуль printer
- •VI. Модуль overlay
- •Основные термины
- •Учебная литература по курсу
Операции над символами
Символы можно лишь присваивать и сравнивать друг с другом. При сравнении символов они считаются равными, если равны их коды; один символ больше другого, если имеет больший код.
Пример
‘R’=‘R’ (код 82=код 82)
‘r’>‘R’ (код 114> кода 82)
Операции сравнения записываются традиционным способом:<, <=, >, =, >=, <>.
К символьным значениям и переменным могут быть применены следующие функции:
CHR(X:byte):char возвращает (переводит) символ по коду Х таблицы ASCII.
ORD(C:char):longint возвращает (определяет) ASCII-код символа С.
PRED(C) возвращает (определяет) предшествующий С аргумент, т.е. символ.
SUCC(C) возвращает (определяет) последующее значение аргумента, т.е. следующий за С символ.
UPCASE(C:char):char преобразует символы-буквы в прописные.
Операции над строками
Строки можно присваивать, сливать и сравнивать. Слияние строк происходит при помощи знака "+". Если сумма получается длиннее, чем описанная длина левой части оператора присваивания, то излишек отсекается.
Сравнение строк происходит посимвольно слева направо: сравниваются коды соответствующих символов до тех пор, пока не нарушится равенство, и тогда сразу делается вывод о знаке неравенства, например, 'balkon'>'balken' (ord('o')>ord('e')). Строки равны, если имеют одинаковую длину и совпадают посимвольно.
Строка представляет собой последовательность символов, которые можно рассматривать как элементы одномерного массива.
Для работы со строками реализованы следующие процедуры и функции.
Строковые процедуры
DELETE(VAR ST: STRING; N, K:INTEGER) удаляет из строки ST, начиная с позиции N, количество K символов.
INSERT(S1:STRING; VAR S2:SNRING;N:INTEGER) вставляет подстроку S1 в строку S2, начиная с позиции N.
STR(V; VAR ST:STRING) преобразует числовые значения V в строку символов ST.
VAL(ST:STRING; VAR V; VAR CODE:INTEGER) преобразует строку ST в ее целое или действительное представление и запоминает его в переменной V. Переменная CODE признак ошибки преобразования строки (0 – нет ошибки).
Строковые функции
COPY(ST:STRING;N,K:INTEGER):STRING возвращает (выделяет) подстроку из строки ST, начиная с позиции N, с количеством K символов.
CONCAT(S1,S2,S3,...,SN):STRING сцепляет последовательно строки S1, S2, S3, ..., SN.
POS(S1,ST:STRING) :BYTE определяет, с какой позиции в строке ST начинается подстрока S1.
LENGTH(ST:STRING):BYTE возвращает (определяет) длину строки ST.
Примеры
1. В заданном тексте заменить все имена ‘Аня’ на ‘Ольга’.
PROGRAM IMENA;
USES CRT;
VAR ST:STRING;
K:INTEGER;
BEGIN
WRITELN(‘Введи текст’);
READLN(ST);
K:=POS(‘Аня‘,ST);Ищем позицию слова «Аня» в тексте }
WHILE K>0 DO
BEGIN
DELETE(ST,K,3);{ Удаляем имя «Аня»}
INSERT(‘Ольга’,ST,K); {Вставляем имя «Ольга» на эту же позицию}
K:=POS(’Аня‘,ST);
END;
WRITELN(‘Полученная строка ’);
WRITELN(ST);
END.
2. Задан текст только из латинских букв. Определите, расположены ли в нём буквы в алфавитном порядке или обратном по отношению к алфавитному порядку.
PROGRAM PR;
USES CRT;
VAR ST:STRING;
K1,K2,I,N:INTEGER;
BEGIN
CLRSCR;
WRITELN('Введите строку');
READLN(ST);
N:=LENGTH(ST);
K1:=0;K2:=0;
FOR I:=1 TO N-1 DO
BEGIN
IF ST[I]<>SUCC(ST[I+1])THEN K1:=K1+1;
IF ST[I]<>PRED(ST[I+1]) THEH K2:=K2+1;
END;
IF (K1=0)OR (K2=0) THEN WRITELN('Буквы расположены в алфавитном порядке')
ELSE WRITELN('Нет'); END.