- •Раздел 1. Языки программирования
- •Программное обеспечение. Основные этапы решения задач на эвм. Жизненный цикл программного средства.
- •7. Решение задачи на эвм и анализ результатов
- •Основная структура программы.
- •Эквивалентность типов
- •Преобразование типов
- •Разбор программы
- •1.3. Логический тип. Ветвления. Оператор условного перехода. Полная и сокращённая форма условного оператора. Составные условия
- •1.4 Символьный тип и функции для обработки символьного типа. Перевод символьного представления числа в целый тип.
- •1.5 Оператор выбора
- •1.6. Операторы цикла. Оператор цикла с предусловием. Оператор цикла с постусловием. Оператор цикла с параметром
- •1.7 Процедуры и функции. Параметры, локальные и глобальные переменные. Передача параметров по адресу и по значению.
- •Локальные и глобальные переменные
- •Регулярный тип (массивы). Описание массивов. Ввод и вывод элементов массива. Нахождение максимального (минимального) элемента массива.
- •Обработка матриц. Поиск заданного элемента в матрице.
- •Работа с динамическими переменными. Динамические массивы.
- •1.11. Файловый ввод-вывод. Работа с текстовыми и двоичными файлами.
- •Чтение файла при помощи fgetc. Функция fgetc применяется для чтения символа из потока.
- •Чтение файла при помощи fgets
- •Запись в файл при помощи fwrite
- •1.12. Микропроцессор Intel х86. Регистры. Команды обмена данными. Команды работы со стеком.
- •1.13 Микропроцессор Intel х86. Арифметические команды. Логические команды и команды сдвига. Команды передачи управления.
- •Двоичная арифметика
- •Десятичная арифметика
- •Логические операции
- •Сдвиговые операции
- •Команды передачи управления
- •1.14 Микропроцессор Intel х86. Способы адресации: регистровая, непосредственная, прямая, косвенная. Регистровая адресация
- •Непосредственная адресация
- •Прямая адресация
- •Косвенная адресация
1.4 Символьный тип и функции для обработки символьного типа. Перевод символьного представления числа в целый тип.
Символьный тип. CHAR – занимает 1 байт. Значением символьного типа является множество всех символов ПК. Каждому символу присваивается целое число в диапозоне 0…255. Это число служит кодом внутреннего представления символа.
Для кодировки используется код ASCII (American Standart Code for Information Interchange – американский стандартный код для обмена информацией). Это 7-битный код, т.е. с его помощью можно закодировать лишь 128 символов в диапазоне от 0 до 127. В то же время в 8-битном байте, отведенном для хранения символа в Турбо Паскале, можно закодировать в два раза больше символов в диапазоне от 0 до 255. Первая половина символов ПК с кодами 0…127 соответствует стандарту ASCII. Вторая половина символов с кодами 128ююю255 не ограничена жёсткими рамками стандарта и может меняться на ПК разных типов.
Символы с кодами 0…31 относятся к служебным кодам. Если эти коды использовать в символьном тексте программы, они считаются пробелами.
СИМВОЛЬНЫЙ тип (Char) определяет упорядоченную совокупность символов, допустимых в данной ЭВМ. Значение символьной переменной или
константы - это один символ из допустимого набора.
Символьная константа может записываться в тексте программы тремя
способами:
-как один символ, заключенный в апострофы, например:
'A' 'a' 'Ю' 'ю';
-с помощью конструкции вида #K, где K - код соответствующего символа, при этом значение K должно находиться в пределах 0..255;
-с помощью конструкции вида ^C, где C - код соответствующего управляющего символа, при этом значение C должно быть на 64 больше
кода управляющего символа.
К величинам символьного типа применимы все операции отношения.
Для величин символьного типа определены две функции преобразования
Ord(C) Chr(K).
Первая функция определяет порядковый номер символа С в наборе символов, вторая определяет по порядковому номеру К символ, стоящий на
К-ом месте в наборе символов. Порядковый номер имеет целый тип.
К аргументам символьного типа применяются функции, которые определяют предыдущий и последующий символы:
Pred(C) Succ(C). Pred('F') = 'E' ; Succ('Y') = 'Z' .
При отсутствии предыдущего или последующего символов значение соответствующих функций не определено.
Для литер из интервала 'a'..'z' применима функция UpCase(C), кото-
рая переводит эти литеры в верхний регистр 'A'..'Z'.
VAL(ST, X, CODE) – процедура; преобразует строку символов ST во внутреннее представление целой или вещественной переменной X, которое определяется типом этой переменной; параметр CODE содержит ноль, если преобразование прошло успешно, и тогда в X помещается результат преобразований, в противном случае он содержит номер позиции в строке ST, где обнаружен ошибочный символ, и в этом случае содержимое Х не меняется; в строке ST могут быть ведущие пробелы, однако ведомые пробелы недопустимы; например, обращение val (’ 123′,k,i) пройдет успешно: k получит значений 123, в i будет помещен 0, в то время как обращение val (’ 123 ‘ , k, i) будет ошибочным: значение k не изменится, a i будет содержать 4.
Функция ORD.