Алфавит, структура прогр..ppt
- Количество слайдов: 40
Язык Турбо. Паскаль 7. 0 Алфавит языка и специфика использования символов
1. Символы, используемые для составления идентификаторов: • Латинские строчные и прописные буквы Пример: Read. Key; Text. Color; Goto. XY • Арабские цифры от 0 до 9 (в идентификаторах цифры могут использоваться наряду с буквами, начиная со второй позиции) Пример: Set 1; X 1; S 20; str 2 • Символ подчеркивания (ASCII – код 95) Пример: POST_INDEX; Demo_Set_Type; MATRIX_2
2. Символы-разделители: • Символ пробела (ASCII – код 32) Основное назначение – разделение ключевых слов и имен • Управляющие символы (имеют ASCII-коды от 0 до 31) Применение – при описании строчных и символьных констант. ASCII код 9 (табуляция), коды 10 и 13 соответствуют маркеру конца строки. Для компилятора следующие записи эквивалентны: 1) A: =B+C-D; Writeln(A); 2) A: =B+ C- D; Writeln (A); 3) A: = B+C - D ; Writeln(A);
3. Специальные символы: +-*/ {}[]()<>. , ‘: ; ^ @#$ 4. Составные символы: <= >= : = (* *). .
5. ”Неиспользуемые” символы: ASCII – коды от 128 до 255 (символы алфавита русского языка и символы псевдографики); некоторые символы из основной таблицы - & ! % “ ~ Их можно использовать в тексте комментариев и в виде значений констант строк или констант символов. 6. Зарезервированные слова: в качестве имен идентификаторов использоваться не могут. Пример: BEGIN, END, PROGRAM
Язык Турбо. Паскаль 7. 0 Общая структура программы в TP 7. 0
Структура ТР-программ Раздел объявлений и соглашений PROGRAM {$ … } USES LABEL CONST TYPE VAR Заголовок программы Глобальные директивы компилятору Подключаемые библиотеки Подраздел объявления глобальных меток Подраздел объявления глобальных констант Подраздел объявления глобальных типов Подраздел объявления глобальных переменных Раздел текстов процедур и функций PROCEDURE (FUNCTION} Заголовок процедуры (функции) LABEL CONST TYPE VAR BEGIN END; Подраздел объявления локальных меток Подраздел объявления локальных констант Подраздел объявления локальных типов Подраздел объявления локальных переменных Основной блок процедуры или функции Раздел основного блока программы BEGIN END. Основной блок программы
Примеры программ на языке Turbo Pascal
Примеры программ на языке Turbo Pascal
Операторы ввода/вывода информации • Write – вывод информации • Writeln – вывод с переходом на следующую строку • Readln - ввод информации с переходом на следующую строку
Примеры: • • Writeln(‘ВФТШ’); Writeln(‘Информатика’); Writeln(‘ВФТШ Информатика’); Writeln; {Пропуск строки} Write(‘Введите действительное число’); Readln(S); S: =S*2; Writeln(‘Удвоенное число=’, S: 10: 6); {Форматный вывод значения вещественной переменной} • Readln; {Ожидание нажатия клавиши <Enter>}
Задание для самостоятельной работы:
Вопросы Домашнее задание: Перечислите названия разделов простой программы в порядке их следования в тексте программы. Найдите ошибки в тексте следующей программы: i: integer; Begin write(‘Задайте целое число’); readln(i) wirtln(j); end Упражнения Разработайте программы: Пересчета температуры из шкалы Цельсия в шкалу Фаренгейта (значение температуры по Фаренгейту = значению температуры по Цельсию х 1, 8+32). Пересчета цены товара с учетом скидки, заданной в процентах. Вычисления расстояния по известным значениям скорости и времени. Вычисления объема параллелепипеда. Вычисления площади круга.
Порядок работы: 1. 2. 3. 4. 5. 6. Набрать текст исходной программы (как в текстовом редакторе). Сохранить на диске. File Save as… Получили исходный модуль – файл с расширением *. pas. Откомпилировать исходный модуль, исправить синтаксические ошибки. Функция Compile (Alt+f 9). Когда появится окно с сообщением «Press any key» , нажмите любую клавишу. Это значит, что компиляция завершилась успешно. Запустите программу на выполнение. Функция Run (Ctrl+F 9). По запросу вводите исходные данные. Просмотр результатов: Debuger User screen (Alt+F 5).
Типы данных Язык программирования Turbo Pascal
Содержание презентации: • Тип. Классификация типов • Стандартные типы ü Целочисленные типы данных ü Вещественные типы данных ü Символьные и логические типы данных • Строки • Порядковые типы
Тип. Классификация типов • Всю информацию, которую обрабатывает компьютер, можно объеденить одним понятием данные. На уровне аппаратных средств и машинных кодов данные выглядят, как последовательность двоичных чисел (битов). Благодаря разработанной системе типов данных в языках высокого уровня можно работать с данными, представленными в более абстрактной форме, не вникая в детали этого представления.
Тип. Классификация типов • Тип данных определяет множество значений, которые может принимать переменная величина, и операции, которые можно в этом множестве выполнять. • Каждая переменная, используемая в программе, относится к одному и только к одному определенному типу данных. • Типы данных в Паскале могут быть очень сложными, но каждый из них строится, в конце концов, из неструктурированных, простых типов.
Тип. Классификация типов • В Паскале можно создавать новые типы данных в форме структурированных типов или типов указателей. • Автор: Н. Вирт; «Алгоритмы + структуры данных = программы» /перевод с англ. Л. Ю. Иоффе под редакцией Д. Б. Подшивалова. – М. , «Мир» , 1985 г. • Структура и выбор алгоритма существенным образом зависит от структуры данных.
Структура типов данных Типы данных Простые типы Типы указателей Структурированные типы
Структура простых типов данных Простые типы данных Действительный Перечисляемые типы данных Логический (Boolean) Порядковые типы данных Зарезервированные порядковые типы данных Целый (Integer) Ограниченные типы данных Символьный (Char)
Классификация предопределенных типов данных Группа Подгруппа Простой Порядковый Название Идентификатор Короткий целый Short. Int Байтовый Byte Слово Word Целый Integer Длинный целый Long. Int Символьный Булевский Char Boolean
Классификация предопределенных типов данных Группа Подгруппа Простой Вещественн ый Название Идентификатор Вещественный Real С одинарной точностью Single С двойной точностью Double С повышенной точностью Сложный Extended Comp
Классификация предопределенных типов данных Группа Название Строковый Структурный Идентификатор String Массив Array Множество Set Файл File Запись Ссылочный Процедурный Pointer Процедура Функция Объектный Record Procedure Function Object
Порядковые типы языка Паскаль Идентиф икатор Допустимые значения Формат Short. Int -128. . . 127 1 байт со знаком Integer -32768. . . 32767 2 байта со знаком Long. Int -2147483648. . . 2147483647 4 байта со знаком Byte 0. . . 255 1 байт без знака Word 0. . . 65535 2 байта без знака Boolean false, true Логический тип (1 байт) Char Символы из расширенного набора символов кода ASCII Символьный (1 байт)
Зарезервированные константы • Max. Int = 32767 • Max. Long. Int = 2147483647 В программе: Writeln(‘Max. Int=’, Max. Int); Writeln(‘Max. Long. Int=’, Max. Long. Int);
Простейший тип - целые числа • Эффективное расходование ОП • Повышение быстродействия • Введение операций деления нацело с остатком If M mod N =0 then writeln(‘число М кратно числу N’); If M mod 2 = 0 then writeln(‘Число ’, М, ‘ четное’);
Задачи с целыми числами • Задачи, данные в которых только целочисленные: количество акций, сотрудников, деталей, транспортных средств и т. д. • Целые числа используются для обозначения даты и времени • Для нумерации различных объектов: элементы массивов, записи в БД, машинные адреса.
Беззнаковый целый тип K-1 0 … 0 2 0 1 0 0 0 K разрядов Нижняя граница диапазона K-1 1 … 1 2 1 1 1 0 1 K разрядов Верхняя граница диапазона 2 к-1 k=8 максимальное число 28 -1=255 (тип byte) K=16 максимальное число 216 -1=65535 (тип word)
Целые числа со знаком • Самый левый бит отводится под знак числа: 7 0 … 1 2 1 1 1 0 1 Зн ак чи сл а • 0 – число положительное; • 1 – число отрицательное 8 разрядов Нижняя граница диапазона положительных чисел 0 Верхняя граница диапазона положительных чисел 27 -1=128 -1=127
Представление в памяти ЭВМ • Целые числа хранятся в памяти компьютера в формате с фиксированной запятой • Положительные числа всегда представляются с помощью прямого кода • Отрицательные числа – с помощью дополнительного кода • Дополнительный код положительного числа всегда равен прямому коду этого числа
Алгоритм получения дополнительного кода (в двоичной системе счисления): 1. Модуль числа представить прямым кодом в k двоичных разрядах. 2. Значения всех битов инвертировать (изменить 1 на 0, а 0 на 1). Получим обратный код числа. 3. К полученному обратному коду прибавить единицу.
Пример • Получить 8 -ми разрядный дополнительный код числа -52. 1. Прямой код 52 0 26 0 13 1 6 0 3 1 1 1 -52 . 0 0 1 1 0 0 прямой код модуля в восьми разрядах
Продолжение примера 2. Инвертируем прямой код 1 1 0 0 1 1 и получаем обратный код 3. Прибавляем 1 к обратному коду (к младшему разряду): 11001011 1 1 0 0 + 1 1100 и получаем дополнительный код.
Зачем нужен дополнительный код? • Для упрощения выполнения арифметических операций – алгоритм вычитания сводится к поразрядному сложению. • Дополнительный код позволяет заменить вычитание, умножение, деление – сложением. Это упрощает конструкцию микропроцессора.
Диапазон изменения значений для знакового типа 1 0 0 0 K=8; дополнительный код -128; -2 k-1=-27=-128 • Диапазон [-2 k-1, 2 k-1 -1] не симметричен относительно нуля, что следует учитывать при программировании. • Число 128 – его прямой и дополнительные коды совпадают. • Дополнительный код (-0) совпадает с обычным нулем. 0
Компьютерная арифметика • Целочисленная арифметика в ограниченном числе разрядов несколько отличается от обычной. Левые цифры результата, выходящие за старший разряд, игнорируются. Т. о. , при сложении двух положительных чисел может получиться отрицательный результат, если в старшем (левом) разряде будет единица.
Пример • 100+51 в 8 -ми разрядах, знаковый тип данных. 100=011001002 51=00112 +011001002 00112 100101112 • Т. к. все отрицательный числа представлены в дополнительном коде, то, чтобы получить десятичное представление этого числа: • Вычтем единицу = 10010110 • Инвертируем = 01101000 • Переведем в десятичную с. сч. и получим 105. • Таким образом 100+51=-105.
Вещественные типы языка Паскаль Идентиф икатор Диапазон Точность Формат Real -1, 7*1038. . -2, 9*10 -39. . 1, 7*1038 11 -12 знаков 6 байт Singl -3, 4*1038. . -1, 5*10 -45. . 3, 4*1038 7 -8 знаков 4 байта Double -1, 7*10308. . -5, 0*10 -324. . 1, 7*10308 15 -16 знаков 8 байт Extended -1, 1*104932. . -1, 9*10 -4951. . 1, 1*104932 19 -20 знаков 10 байт Comp -9, 2*1018. . 9, 2*1018 (-263+1. . 263+1) 19 -20 знаков 8 байт
Домашнее задание 1. От чего зависят границы диапазона целых чисел, представленных в компьютере с фиксированной запятой? 2. Как будут представлены в 8 -разрядном знаковом типе числа -1, -10, -120? 3. Получить дополнительный код числа -117 для 8 -ми и 16 -ти разрядной ячейки. 4. Получить десятичное значение числа по его дополнительному коду: 10010111.
Алфавит, структура прогр..ppt