Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_peredelannye.docx
Скачиваний:
20
Добавлен:
25.09.2019
Размер:
116.76 Кб
Скачать
  1. Стандартные типы данных в языке Паскаль. Создание пользовательских типов данных в языке Паскаль.

Для временного хранения информации в операторах памяти машины в языке Паскаль используются константы и переменные.

Типы данных:

  1. Простые типы (скалярные типы).

    • Порядковыетипы.

Целые типы: byte, shortint, integer, word, Longint.

Логический тип boolean.

Символьный тип char.

Перечисляемый тип.

Интервальный тип (диапазон).

  • Вещественные типы: real, single, double, extended, comp.

  • Ссылочный тип.

  1. Структурированные типы.

  • Строковый (string).

  • Регулярный (array).

  • Комбинированный (record).

  • Множественный (set).

  • Файловый (file).

  1. Процедурные типы.

Над целыми типами определены такие операции:

1. "+" - сложение;

2. " * " - умножение;

3. " - " вычитание;

4. div - целочисленное деление (рисунок 1);

5. mod - получение остатка от целочисленного деления (рисунок 1);

6. "/" – Деление только для типа real.

Пользовательские типы

Кроме стандартных типов данных Паскаль поддерживает скалярные типы, определенные самим пользователем. К ним относятся перечисляемый и интервальный типы.

Данные этих типов занимают в памяти один байт, поэтому скалярные пользовательские типы не могут содержать более 256 элементов. Их применение значительно улучшает наглядность программы, делает более легким поиск ошибок, экономит память.

Интервальный тип (диапазон)

Интервальный тип позволяет задавать две константы, определяющие границы диапазона значений для данной переменной. Компилятор при каждой операции с переменной интервального типа генерирует подпрограммы проверки, определяющие, остается ли значение переменной внутри установленного для нее диапазона.

Обе константы должны принадлежать одному из стандартных типов (тип real недопустим). Значение первой константы должно быть значительно меньше значения второй.

Например: 1..12 (номер месяца может принимать значения от 1 до 12) или ‘а’..’я’ (буквы русского алфавита – от а до я)

Перечисляемый тип

Перечисляемый тип (enumeratedtype) – тип данных, заданных списком принадлежащих ему значений.

Объявление перечисляемого типа описывает множество идентификаторов, которые являются возможными значениями перечисляемого типа. Идентификаторы в описании типа представляют собой константы. Отдельные значения указываются через запятую, а весь список заключается в круглые скобки.

Перечисляемый тип ограничен больше чем интервальный, он задается перечислением своих значений.

  1. Операторы ввода-вывода, форматный вывод и оператор присваивания на схеме алгоритма и в языке Паскаль.

Ввод данных — это передача информации от внешних устройств в оперативную память. Вводятся, как правило, исходные данные решаемой задачи. Вывод — обратный процесс, когда данные передаются из оперативной памяти на внешние носители (принтер, дисплей, магнитные устройства и т.д.). Результаты решения всякой задачи должны быть выведены на один из этих носителей.

Основными устройствами ввода-вывода у персонального компьютера являются клавиатура и дисплей (экран монитора). Именно через эти устройства главным образом осуществляется диалог между человеком и ПК.

Оператор ввода read

Процедура ввода с клавиатуры (обращение к стандартной процедуре ввода) имеет следующий формат:

read(<список ввода>)

где <список ввода> — это последовательность имен переменных, разделенных запятыми. При вводе исходных данных происходит преобразование из внешней формы представления во внутреннюю, определяемую типом переменных. Переменные, образующие список ввода, могут принадлежать либо к целому, либо к действительному, либо к символьному типам. Чтение исходных данных логического типа в языке Паскаль недопустимо. Значения исходных данных могут отделяться друг от друга пробелами и нажатием клавиш табуляции и Enter.

Если в программе имеется несколько операторов read, то данные для них вводятся потоком, т.е. после считывания значений переменных для одного оператора read данные для следующего оператора читаются из той же строки на экране, что и для предыдущего до окончания строки, затем происходит переход на следующую строку.

Другой вариант оператора ввода с клавиатуры имеет вид:

readln(<список ввода>)

Этот оператор отличается от read только тем, что после считывания последнего в списке значения для одного оператора readln данные для следующего оператора будут считываться с начала новой строки.

Оператор вывода write

Оператор вывода на экран (обращение к стандартной процедуре вывода) имеет следующий формат:

write(<список вывода>)

Переменные, составляющие список вывода, могут относиться к целому, действительному, символьному или логическому типам. В качестве элемента списка вывода кроме имен переменных могут использоваться выражения и строки. При выводе на экран нескольких чисел в строку они не отделяются друг от друга пробелами. Программист сам должен позаботиться о таком разделении.

Второй вариант процедуры вывода на экран:

writeln(<список вывода>)

Его действие отличается от оператора write тем, что после вывода последнего в списке значения происходит перевод курсора к началу следующей строки. Оператор writeln, записанный без параметров, вызывает перевод строки.

Вывод каждого значения в строку экрана происходит в соответствии с шириной поля вывода, определяемой конкретной реализацией языка. Форма представления значений в поле вывода соответствует типу переменных и выражений: величины целого типа выводятся как целые десятичные числа, действительного типа - как действительные десятичные числа с десятичным порядком, символьного типа и строки - в виде символов, логического типа - в виде логических констант TRUE и FALSE.

Операторы вывода

Операторы вывода выводят на экран те или иные значения переменных, которые вы хотите. Оператор вывода, имеет следующий синтаксис: write(<имя выводимой переменной>, <имя выводимой переменной>, <имя выводимой переменной>…). Согласитесь, синтаксис очень похож на операторы ввода, поэтому пояснять его не буду. Хочется сказать, что у операторов вывода тоже существует, вариация, как и у операторов ввода, это вариация – оператор writeln, работает он также как и обычный оператор, только каждую следующую переменную выводит с новой строки. Для вывода вещественных переменных часто используют форматный вывод, о котором я сейчас расскажу.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]