Вычисление/модификация Ctrl-F4. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Вычисление/модификация Ctrl-F4.



Debug/Evaluate/Modify Пользователь может вызвать окно Evaluate, что проверить значения переменных, структуру данных и выражения в интерактивном режиме. Используя окно Evaluate, Вы можете изменить значение любой переменной, включая строки, указатели, элементы массива и поля записей. Это обеспечивает простой механизм для проверки, как Ваш код реагирует на определенную установку значений или условий.

Поиск.

Пользователь может быстро находить объявления процедур или функций, даже если программа разбита на несколько модулей (Search/Find Рrocedure). Во время трассировки Вы можете быстро вернуться обратно из вызовов процедур или функций и проверить параметры каждого вызова (Window/Call Stack).

Защита от зацикливания в программе

Используются два оператора break и continue

Break прерывает цикл по заданному условию (к примеру число циклических повторений превысило 1000 раз)

Continue (Пропускает шаг в цикле)

БИЛЕТ №21

21 1. Итерационные циклы: уточнение корня алгебраического уравнения

2. Вложенная конструкция оператора условного перехода. Пример

Уточнение корня уравнения

Пусть в результате отделения корней стал известен отрезок [a, b], на котором функция f(x) имеет единственный корень. Требуется уточнить его значение с погрешностью e. Выберем для решения данной задачи метод хорд. Задаем начальное приближение, например, x = a. Хордой соединяем точки кривой на границах отрезка ab:

 

Ввод (a, b, e)

[y - f(x)]/[f(b) - f(a)] = x:= a = (x - a)/(b - a).

Пока |f(x)| > e Отсюда точка пересечения

y:= f(a); z:= f(b); хорды с осью абсцисс:

x = a - f(a)(b - a)/[f(b) - f(a)]; w:=f(x) x = a - f(a)(b - a)/[f(b) - f(a)].

y*w < 0

ДА НЕТ Это очередное приближение.

 
 


b:= x a:= x Переопределяем отрезок ab.

Вывод (x, f(x))

Применим приведенный выше алгоритм для уточнения корня с погрешностью 0,0001 на отрезке [0, 2] уравнения .

program Horda;

const

e = 0.0001;

var

n: byte;

a, b, w, x, y, z: real;

begin

writeln(‘Введите границы отрезка’);

readln(a,b);

x:= a; n:= 0;

while abs(x*x-1) > e do begin

y:= a*a-1; z:= x*x-1;

x:=a - y*(b - a)/(z - y); w:= x*x -1;

if y*w < 0 then b:= x else a:= x;

n:= n + 1 end;

writeln(‘Корень уравнения = ’, x);

writeln(‘Значение функции в этой точке = ’, x*x-1)

writeln(‘Число итераций: ’,n) end.

 

 

Вложенная конструкция оператора условного перехода. Пример.

Оператор if вложен в IF

БИЛЕТ №22

№22 1. Глобальные и локальные переменные

2. Множество, описание, операции, пример действий

Тип-множество. В отличие от математического понятия множества множество в Turbo Pascal представляет собой совокупность элементов базового типа. Максимальный размер множества - 256 элементов, которые имеют порядковые номера от 0 до 255. Следовательно, в качестве базовых могут выступать стандартные типы данных byte и char, перечисляемые типы и их диапазоны. Множество включает в себя все возможные наборы элементов базового типа, т.е. все подмножества данного множества, включая пустое. Если базовый тип состоит из n элементов, то число всех подмножеств равно .

Описание типа-множества имеет вид:

type <имя типа> = set of <базовый тип>;

Приведем примеры правильного и неправильного описания.

type bukva = ‘a’..’z’; {Тип ‘строчная буква латинского алфавита’}

mn_bukv = set of bukva;

mn_byte = set of byte;

godi_ucheniya = set of 2002..2007; {Неверное описание}

mn_nat_chisel = set of 1..256; {Неверное описание}

Элементы в множестве располагаются произвольно и не повторяются. Задается множество с помощью конструктора множеств – []. В нем через запятую перечисляются допустимые элементы, в том числе и диапазоны, например:

type vremena_goda = set of (vesna, leto, osen, zima);

var q, s: vremena_goda; {Множество времен года}

mn: set of 1..100; {Множество целых чисел от 1 до 100}

begin s:= [ ]; {Пустое множество}

q:= [vesna, leto];

mn:= [1, 5..13, 27..33] …

 

Операции над множествами:

1) объединение множеств A и B - A + B ®

например s:= [vesna] + [leto..zima]; (результат - [vesna..zima])

2) пересечение множеств A и B - A * B ®

например q:= [leto] * [vesna..osen]; ([leto])

3) разность множеств A и B - A - B ®

например q:= [leto..zima] - [osen]; ([leto, zima])

4) операции отношения:

- тождественность множеств A = B;

- нетождественность множеств A <> B;

- A является подмножеством B A <= B;

- B является подмножеством B A >= B.

Установить принадлежность некоторого элемента e множеству mn можно с помощью операции in, e in mn, которая возвращает значение true, если элемент e присутствует в множестве mn, и false - в противном случае. Для включения элемента в множество можно использовать процедуру include(mn, e), а для исключения элемента из множества - процедуру exclude(mn, e).

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

 

program Symbol_Odin_Raz;

var i byte;

s1, s2: string;

mn: set of char;

begin writeln(‘Введите строку символов’);

readln(s1); s2:= ‘’; mn:= [ ];

for i:= 1 to length(s1) do begin

if not s1[i] in mn then s2:= s2 + s1[i];

mn:= mn + [s1[i]]

end;

writeln(‘Исходная строка: ‘, s1);

writeln(‘Результирующая строка: ‘, s2)

end.

БИЛЕТ №23

 

№23 1. Инициализация и вывод массивов

2. Запись, описание типа, пример действий

1. Ввод и вывод массивов осуществляется с помощью цикла с парметром и writeln…..

Тип-запись представляет собой логически связанную совокупность компонент разного типа. Каждая компонента называется полем записи. Количество полей определяется информационным объектом и может быть любым в пределах общего ограничения на размер структуры. Тип-запись описывается с помощью служебного слова record следующим образом:

type <имя типа> = record

<имя поля1>: <тип1>;

...

<имя поляj>: <типj> end;

Ниже приведены примеры описаний. Однотипные поля можно описывать через запятую.

complex = record re, im: real end; {тип ‘комплексное число’}

book = record {тип-книга}

avtor: string[30]; {поле ‘автор книги’}

titul: string; {поле ‘название книги’}

god_izd: 1990..2003 {поле ‘год издания’} end;

Теперь можно описать и соответствующие переменные:

var z1, z2, z3: complex; b: book;

Поле записи задается составным именем, например так: z1.re - вещественная часть комплексного числа z1; b.avtor - автор книги b. Из приведенных примеров видно, что составные имена полей могут быть достаточно громоздкими и затруднять описание действий с ними. Для упрощения обращения к полям записи служит оператор присоединения with, имеющий следующую конструкцию: with <имя записи> do <оператор>;

где оператором может быть любой оператор языка (в том числе и оператор присоединения), в котором поля записи представлены их прямыми именами.

Для примера рассмотрим вложенную конструкцию оператора присоединения для следующей структуры данных.

X
Запись à


Поля записи X ß Запись

       
 
A
 
B


Поля записи Y

 

program Vlogen_Zapisi;

var x: record

c: string;

y: record a, b: byte end {y}

end;

begin with x, y do begin

writeln(‘Введите через пробел поля a и b записи y - целое от 0 до 255’);

readln(a, b); {Вместо x.y.a и x.y.b}

writeln(‘Введите поле c записи x - строку символов’);

readln(с); end; {Вывод сделаем без оператора присоединения}

writeln(‘Поля записи x: ’, x.c, ‘ и поля записи y: ’, x.y.a:4, x.y.b:4) end.

БИЛЕТ №24

№24 1. Операторы break и continue. Пример использования

2. Запись с вариантами. Пример описания

Оператор break – Оператор досрочного выхода из цикла…..Континуе – пропускает шаг в цикле….

Запись с вариантом

pupil = record

surname: string;

name: string;

fathername: string;

address: addr;

case byte of

0: (telephone: string[4]);

1: (numtelephone: longint);

end;

БИЛЕТ №25

1. Базисные управляющие структуры

2. Типизированные константы, их примеры

 

 

 

 

Типизированные константы, их примеры

В Турбо Паскале допускается использование типизированных констант. Они задаются в разделе объявления констант следующим образом:

<идентификатор>: <тип> = <значение>

Здесь <идентификатор> - идентификатор константы;

<тип> - тип константы;

<значение> - значение константы.

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

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

Поскольку типизированная константа фактически не отличается от переменной, ее нельзя использовать в качестве значения при объявлении других констант или границ типа-диапазона.



Поделиться:


Последнее изменение этой страницы: 2016-12-16; просмотров: 386; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.22.248.208 (0.025 с.)