Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по программированию.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
682.73 Кб
Скачать

Экзаменационный вопрос № 16. Общая характеристика языка программирования паскаль

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

В настоящее время он получил широкое распространение по ряду объективных причин.

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

Во-вторых, Паскаль хорошо приспособлен для применения технологии разработки программ сверху-вниз (пошаговой детализации).

В-третьих, Паскаль содержит большое разнообразие различных структур данных, что обеспечивает простоту алгоритмов, а следовательно снижение трудоемкости при разработке программ.

Основные отличия алгоритмических языков от машинных языков:

- алгоритмический язык обладает гораздо большими выразительными возможностями, т.е. его алфавит значительно шире алфавита машинного языка, что существенно повышает наглядность текста программы;

- набор операций, допустимых для использования, не зависит от набора машинных операций, а выбирается из соображений удобства формулирования алгоритмов решения задач определенного класса;

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

- требуемые операции задаются в удобном для человека виде, например, с помощью общепринятых математических обозначений;

- для задания операндов операций, используемым в алгоритме данным присваиваются уникальные имена, выбираемые программистом, и ссылка на операнды производится, в основном, по именам;

- в языке может быть предусмотрен значительно более широкий набор типов данных по сравнению с набором машинных типов данных.

Экзаменационный вопрос № 17. Программирование ввода-вывода данных различного типа

Используемые в программах данные могут быть постоянными (константами) или переменными. Перед применением их необходимо описать, т. е. указать имена и типы. Именем может выступать любая последовательность латинских букв и цифр. Типы бывают стандартные или специально определенные пользователем. Перечислим некоторые стандартные типы:

INTEGER — целочисленные данные; REAL — вещественные данные; CHAR — символьные данные; BOOLEAN — логические данные.

Описание переменных и констант происходит в блоках описаний. Для переменных такой блок начинается со слова VAR, для констант — CONST. Непосредственно описание переменной производится следующим образом: фиксируется ее имя, ставится двоеточие и указывается тип, к которому она принадлежит. Если несколько переменных относятся к одному и тому же типу, то их можно описать в одной строке через запятую.

П р и м е р

VAR

d: BOOLEAN; {переменная d является логической}

a, kk, b7: REAL; {переменные a, kk, b7 являются вещественными}

Тип константы определяется способом записи ее значения. Для ввода данных можно применять два способа. Первый предусматривает использование операции присваивания в блоке описания констант. П р и м е р:

CONST {блок описания констант}

X = 45.246;

Y = 87.5724

Во втором случае ввод данных осуществляется с помощью процедуры READ(F), где F — список, который может состоять из одной или нескольких переменных. Их имена разделяются запятыми. П р и м е р:

READ(J); {ввод переменной J}

READ(I,MM,C); {ввод переменных I, MM, C}

Процедура WRITE(А,В,С) производит вывод значений переменных А, В, С в заданном формате по следующей схеме.

1. Записывается имя выводимой величины.

2. Ставится двоеточие. Указывается число, соответствующее общему количеству позиций на экране (включая знак «минус» и десятичную точку), отводимых для размещения выводимого значения. Если позиций отведено больше, чем необходимо, то слева добавляется определенное число пробелов; если позиций меньше или совсем не отведено, — несмотря на второй параметр, выводимая величина займет столько позиций, сколько нужно.

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

Пусть K = 135, N = 4, X = 72,83, B = TRUE, C = 'A'. Тогда оператор

WRITE (K + K : N, X : 12, X : 6 : 1, '_A=', C, '_', B)

выводит на экран следующие значения:

_270_ _7.2830 E + 01_ _72.8_A = A_TRUE

Процедуры READLN и WRITELN аналогичны по действию READ и WRITE, но с одним отличием: после их выполнения курсор переводится в начало следующей строки.

Для просмотра результатов работы программы можно воспользоваться процедурой задержки экрана: READLN.

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

Исходные данные:

Целые числа

Вещественные числа

Кол-во

символов

Значение

логической

константы

Кол-во

чисел

Формат чисел

Кол-во

чисел

Общее кол-во знаков

Кол-во знаков после точки

3

4

1

5

2

2

TRUE

В примере исходные данные задаются следующим образом:

Целые числа А1= 1111; А2= 2222; А3= 3333;

Вещественные (дробные) числа В1=11.11

Символьные С1; С2

Логическое D= TRUE

Код программы.

PROGRAM primer1; {заголовок программы}

USES

CRT;

CONST {блок описания констант}

d=TRUE; {константа d имеет значение «истина»}

VAR {блок описания переменных}

a1,a2,a3 : INTEGER; {переменные a1, a2, a3 — целочисленные}

b : REAL; {переменная b — вещественная}

c1,c2 : CHAR; {переменные c1, c2 — символьные}

BEGIN {начало тела программы}

ClrScr;

WRITELN; {блок ввода данных}

WRITELN('Введите значения целочисленных переменных a1, a2, a3: ');

READLN(a1,a2,a3);

WRITELN('Введите значение вещественной переменной b: ');

READLN(b);

WRITELN('Введите значения символьных переменных c1, c2: ');

READLN(c1,c2);

{блок вывода данных}

WRITELN('Значения целочисленных переменных: ');

WRITELN('a1 = ',a1:4,', a2 = ',a2:4,', a3 = ',a3:4);

WRITELN('Значение вещественной переменной: ');

WRITELN('b = ',b:5:2);

WRITELN('Значения символьных переменных: ');

WRITELN('c1 = ',c1,', c2 = ',c2);

WRITELN('Значение логической константы: ');

WRITELN('d = ',d)

READLN; {задержка экрана}

END.