Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_programmirovanie.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
67 Кб
Скачать
☆
      1. Строковый тип

Строка в Паскале представляет собой последовательность символов заключенных в апострофы, и обозначается словом String. Число символов (длина строки) должно не превышать 255. Если длину строки не указывать, то она автоматически определиться в 255 символов. Общий вид объявления строковой переменной выглядит так:

Var <имя_переменной>: string[<длина строки>];

Каждый символ в строке имеет свой индекс (номер). Индекс первого байта – 0, но в нем храниться не первый символ, а длина всей строки, из чего следует, что переменная этого типа будет занимать на 1 байт больше числа переменных в ней. Номер первого символа – 1, например, если мы имеем строку S=‘stroka’, то S[1]=s;. В одном из следующих уроков строковый тип данных будет рассмотрен подробнее.

      1. Перечисляемый тип данных

Перечисляемый тип данных представляет собой некоторое ограниченное количество идентификаторов. Эти идентификаторы заключаются в круглые скобки, и отделяются друг от друга запятыми.

Пример:

Type Day=(Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday);

Var A: Day;

Переменная A может принимать лишь значения определенные в разделе Type. Также можно объявить переменную перечисляемого типа в разделе Var:

Var A: (Monday, Tuesday);

К данному типу применимы операции отношения, при этом заранее определенно, что Monday<Tuesday<Wednesday т. д. Также можно применять функции succ, pred, ord, процедуры inc и dec, и использовать операцию присваивания: A:=Tuesday;

      1. Интервальный тип данных

Когда необходимо задать какой то диапазон значений, то в таких ситуациях применяется интервальный тип данных. Для объявления используется конструкция m..n, где m – минимальное (начальное) значение, а n – максимально (конечное); здесь m и n являются константами, которые могут быть целого, символьного, перечисляемого или логического типа. Описываться величины интервального типа могут как в разделе типов, так и в разделе описания переменных

Таблица. Операции над целыми типами, дающие в результате значение целого типа

Знак операции

Операция

+

Сложение

-

Вычитание

*

Умножение

div

Целочисленное деление (остаток отбрасывается). Деление без округления (целая часть частного).

mod

Деление по модулю (выделение остатка от деления). Остаток от деления: a mod b = a – ((a div b) * b).

Таблица. Операции отношения

Знак операции

Операция

=

Равно

<>

Не равно

>=

Больше или равно

>

Больше

<=

Меньше или равно

<

Меньше

Функция

Тип результата

Результат выполнения

abs(x)

Целый

Модуль x (абсолютная величина x)

sqr(x)

Целый

Квадрат x

succ(x)

Целый

Следующее значение x (x+1)

pred(x)

Целый

Предыдущее значение x (x-1)

random(x)

Целый

Случайное целое число из интервала 0..x-1.

sin(x)

Действительный

Синус x (угол в радианах)

cos(x)

Действительный

Косинус x (угол в радианах)

arctan(x)

Действительный

Арктангенс x (угол в радианах)

ln(x)

Действительный

Натуральный логарифм x

exp(x)

Действительный

Экспонента x

sqrt(x)

Действительный

Квадратный корень из x

odd(x)

Логический

Значение true, если x – нечетное число; false – если четное.

 

.

№9 Ввод – вывод данных. Процедура чтения READ. Процедура записи WRITE. Форматы вывода данных.

Для обмена информацией между пользователем и ПК все данные организуются в файлы.

Файл - либо именованная область памяти на внешнем носителе информации (винчестер, дискета, CD-диск и т.д.), либо логическое устройство представляющее источник или приемник информации (клавиатура, дисплей, принтер, порты и т.д.).

Под файлом можно понимать любой набор данных.

Например: Программа - исходная, откомпилированная, и т.д. Данные – исходные, промежуточные, результирующие, рисунок, текст, график, аудио- видео и т.д. ).

Связь программы с внешним окружением (устройствами) осуществляется с через имена файлов с использованием стандартных процедур ввода/вывода:

READ (читать)

WRITE (писать).

При вводе данных с клавиатуры и выводе на экран дисплея используются стандартные файлы с именами INPUT (ввод) и OUTPUT (вывод) их имена задаются по умолчанию. Рассмотрим стандартный ввод/вывод.

Вывод данных в Паскале

Для вывода данных используются процедуры:

WRITE (A1, A2,…, AN); - вывод значений переменных A1, A2,…, AN в строку экрана;

WRITELN (A1, A2,…, AN); - вывод значений переменных A1, A2,…, AN в строку экрана с переводом строки;

WRITELN; - перевод строки.

Выводимые переменные могут иметь следующие типы:

•целый;

•вещественный;

•логический;

•символьный;

•строковый.

При использовании форматов в процедурах вывода указывается длина поля отводимого для вывода переменных (К- знаки до запятой) и точность представления для вещественного числа (М-знаки после запятой).

Ввод данных в Паскале

Для ввода данных используются процедуры:

READ (A1, A2,…, AN); - ввод N значений и присваивание их переменным A1, A2,…, AN;

READLN (A1, A2,…, AN); - ввод N значений и присваивание их переменным A1, A2,…, AN с пропуском остальных данных до конца строки;

READLN; - пропуски строки.

Вводимые переменные могут иметь следующие типы:

•целый;

•вещественный;

•символьный;

•строковый.

№10 Структурированные операторы. Условный оператор IF. Оператор цикла REPEAT. Оператор цикла WHILE.

Структурированными являются такие операторы, которые состоят из других операторов. К ним относятся:

  • составной оператор;

  • условный оператор IF;

  • условный оператор CASE;

  • оператор цикла REPEAT;

  • оператор цикла WHILE;

  • оператор цикла FOR;

  • оператор над записями WITH.

Составной оператор:

Составной оператор представляет собой совокупность последовательно выполняемых операторов, заключенных в операторные скобки begin и end:

begin

<оператор 1>;

<оператор 2>;

. . .

<оператор N>

end;

условный оператор IF:

Позволяет программе выполнять переходы на ту или иную ветвь по значению истинности или ложности.

Например

A:=2; b:=5;

If a<b then write(a) else write(b);

Оператор цикла REPEAT(Цикл с постусловием)

Это повтор, то есть он выполняет какое -то действие, пока оно не станет истинно. Выполняется пока условие ложно.

Begin

I:=1;

Repeat(повторяй) (i , ‘ ‘);

I:=1+I;

Until (до) i>=10

Оператор цикла WHILE. (Цикл с предусловием)

При выполнении оператора while определенная группа операторов выполняется до тех пор, пока определенное в операторе while булево условие истинно. Если условие сразу ложно, то оператор не выполнится ни разу.

while <булево выражение> do

begin

группа операторов

end;

пока выполняется это условие, делай

от начала

группа операторов

до конца;

№11 Структурированные операторы. Оператор варианта CASE. Оператор цикла FOR. Вложенные операторы цикла.

Структурированными являются такие операторы, которые состоят из других операторов. К ним относятся:

  • составной оператор;

  • условный оператор IF;

  • условный оператор CASE;

  • оператор цикла REPEAT;

  • оператор цикла WHILE;

  • оператор цикла FOR;

  • оператор над записями WITH.

Оператор варианта CASE.

Во-первых , это оператор выбора.

program vetvlenija7;

02.uses crt;

03.var NUM :integer;

04.begin

05.clrscr;

06.writeln(‘Введите число от 0 до 4:’);

07.readln (NUM);

08.case NUM of

09.0:writeln (‘Нуль’);

10.1:writeln (‘Один’);

11.2:writeln (‘Два’);

12.3:writeln (‘Три’);

13.4:writeln (‘Четыре’);

14.end;

15.readln

16.end.

В строке №8 записывается оператор выбора Case Of. Сначала записывается слово Case, затем записывается переменная, затем слово Of. После служебного слова Of идет перечисление всех возможных значений переменной (строка №9 - №13), а через двоеточие указывается действие, которое нужно сделать, если переменная принимает то или иное значение. Таким образом, если мы вводим с клавиатуры 0, то на экран выводится сообщение «Нуль» (строка №9), если вводим 1, то выводится сообщение «Один» (строка №10) и т.д.

Нам не нужно каждый раз писать конструкцию If…Then.

Достаточно указать CASE «переменная» OF, а затем для каждого значения этой переменной через двоеточие прописать вывод на экран. После перечисления всех операторов необходимо поставить служебное слово End.

Оператор цикла FOR (цикл с параметром)

Цикл со счетчиком.

for i := 1 to N do (увеличивается на единицу)

for i:=10 downtj 1 do (уменьшаетя на единицу)

Используйте цикл for в том случае, когда точно знаете, сколько раз должно быть выполнено тело цикла. В противном случае обратитесь к циклам repeat или while.

Вложенные циклы.

Принцип работы вложенных циклов заключается в следующем. Сначала один раз выполняется цикл, идущий первым в программе, затем управление передается следующему циклу (№2), и если после него нет никаких других циклов, то он прокручивается до конца и снова единожды выполняется внешний цикл, иначе, если после цикла №2 стоит еще один вложенный цикл, то №2 выполняется один раз, передавая управление циклу идущему после него. Такой алгоритм продолжается до тех пор, пока самый внешний цикл не выполниться необходимое количество раз.

N:=0;

For i:=1 to 3 do

Begin

For k:=1 to 5 begin

N:=n+1;end;

№12 Массивы. Описание типа массив. Действия над массивами. Действия над элементами массива.

Массив – это именованная группа однотипных данных, хранящихся в последовательных ячейках памяти.

Массивы бывают одномерными(вектор с координатами) и двумерными ( матрица)

Элементы массивов могут быть как числа,так и символы

Размер массива-это кол-во элементов

Кроме значений элементов ,массив имеет индекс или уникальный номер.

Действия над массивами

Ввод массива

Const n=5;

A:array [1..n] of integer=(2,3,6,7,0);

Var i:integer;

Begin

For i:=1 to n do

……

End.

Вывод массива

Write (a[i]);

Readln;

End.

Действия над элементами массива.

Одну матрицу можно присваивать другой

Можно узнать равны ли массивы А и В

Доказать,что массивы не равны друг другу

№13Строки. Описание строкового типа. Строковые выражения. Строковые процедуры и функции.

Строка (string)

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

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