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



ЗНАЕТЕ ЛИ ВЫ?

Условный оператор в сокращенной и полной форме. Составной оператор.

Поиск

Условный оператор.

Условный оператор.

 

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

if< логическое выражение> then <оператор1> else <оператор2>;

(если) (тогда) <оператор1> (иначе) <оператор2>;.

Если логическое выражение истинно, то выполняется оператор1, иначе выполняется оператор2 и затем следующий оператор программы. Перед словом else точку с запятой ставить нельзя!

Сокращенная форма этого оператора:

if логическое выражение then оператор1;

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

Примеры:

Пусть а имеет значение 6.

Тогда после выполнения оператора if a>5 then d:=8.5 else d:=3;

переменная d примет значение 8.5,

а после выполнения оператора if a>7 then d:=7;

переменная d не изменит своего значения.

 

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

 

Если после then или else надо выполнить несколько операторов, то эти операторы заключают в операторные скобки begin... end и получают составной оператор.

Структура составного оператора:

 

begin

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

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

..........

<операторn>

end;

Заметим, что перед end точка с запятой “;” может не ставится.

9. Ввод и вывод с использованием формы. Таблица функций преобразования чисел.

Ввод и вывод с использованием формы.

Вводить данные будем в компонент формы класса TEdit. В один компонент вводить можно только одну символьную строку. Если это данное имеет тип String, то после ввода преобразований не требуется. Но если данное является символьным представлением числа, то для перевода во внутреннее представление (для проведения вычислений) воспользуемся стандартной функцией StrToInt(i1) для целых чисел и стандартной функцией StrToFloat(a1) для вещественных, где i1 – символьное представление целого числа, а1 – символьное представление вещественного числа.

Пример:

i:= StrToInt(i1); a:=StrToFloat(a1);

Внимание: переменные не должны иметь ни ведущих, ни ведомых пробелов.

В результате выполнения этих операторов внутренние переменные программы i и а получат внутренние представления соответствующих чисел.

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

Преобразование целых чисел осуществляется функцией IntToStr(i), где i – внутреннее представление числа.

Преобразование вещественных чисел осуществляется функцией FloatToStrF(a,ffFixed,m,n), где a – внутреннее представление числа,
ffFixed - фиксированный набор символов, m– количество позиций, отводимое под все число, включая знак и десятичную запятую, n – количество позиций, отводимое под его дробную часть.

Почему в представлении чисел в форме используется запятая? Это потому, что формат вывода в компонент класса TEdit формы ориентирован на конкретную настройку Windows. В стандартной версии Windows в качестве разделителя целой и дробной части числа используется запятая. Можно с помощью Панели Управления изменить запятую на точку. Но делать этого мы не будем, и поэтому в компоненте класса TEdit формы для вещественных чисел мы используем запятую. Разумеется, в Object Pascal разделителем между целой и дробной частью является точка.

Мы ограничимся выводом вещественных чисел только в форме с фиксированной точкой.

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

 

 

Таблица 3.3. Функции преобразования чисел.

Обращение к функции Пояснения
IntTоStr(x) x – внутреннее представление числа типа Integer. Результат – строка символов, представляющая это целое число.
StrToInt(a) а – строка символов, представляющая целое число. Результат – внутреннее представление в виде числа типа Integer
FloatToStrF(x,ffFixed,m,n) x – внутреннее представление числа типа Extended, ffFixed – набрать, что написано, m – количество позиций, занимаемых всем числом, считая знак и десятичную запятую, n – количество позиций, занимаемых дробной частью числа (m ≥ n+2). Речь идет о представлении числа в форме с фиксированной запятой. Результат – символьное представление числа с плавающей запятой.
StrToFloat(a) a – строка символов, представляющая число в форме с фиксированной запятой, Результат – внутреннее представление числа типа Extended.

Понятие файла. Текстовый файл. Файловая переменная. Открытие и закрытие файлов. Чтение из вводного файла и запись в выводной файл. Использование окончания In.

Файлы. Чтение из вводного и запись в выводной файл.

 

3.6.1. Понятие файла.

Файл – это набор данных, названных одним именем, который расположен на дисках, поступает в ПК с клавиатуры, по телефонной линии, связанной с ПК, поступает из ПК на дисплей, диски, принтер, в телефонную линию и т.д. Если данные поступают из файла в оперативную память,
то это – вводной файл, а если из оперативной памяти в файл, то это – выводной файл.

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

В дальнейшем будем говорить только о текстовых файлах на дисках.

Текстовый файл – это набор строк с признаками конца строк. Для работы с текстовыми файлами используются файловые переменные, которые объявляются в разделе переменных var так:

список имен файловых переменных:TextFile;

Пример: f1,f2:TextFile;

Для работы с файлом нужна файловая переменная, которая связывается с файлом процедурой AssignFile (назначить файл). Для краткости вместо слов “файловая переменная ” будем писать “ф.п.”.

 

Эта процедура выглядит так: AssignFile(имя ф.п., 'имя файла');

 

Вместо имени файла может быть указан путь к нему. Указывать путь необходимо, если файл не находится в текущей папке.

Примеры: AssignFile(f1,'j107'); AssignFile(f2,'C:\ fain\proba.pas');

Переменная f1 связывается с файлом j107, а переменная f2 – с файлом proba.pas, который находится на диске С в папке fain.

Для чтения из вводного файла его нужно открыть процедурой:

reset(<имя ф.п.>);

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

rewrite(<имя ф. п.>);

Открытие предыдущих файлов: reset(f1); rewrite(f2);

После работы файлы закрываются процедурой: CloseFile(<имя ф. п.>).

Перевод использованных слов:

reset вернуть
rewrite перезаписать
CloseFile Закрыть файл

 

Наши файлы закроем так: CloseFile(f1);CloseFile(f2);

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

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

 

3.6.2. Чтение из вводного и запись в выводной файл.

 

Для чтения из вводного файла используем оператор:

read[ln](<ф.п., список вводимых переменных>);

Для записи в выводной файл используется оператор:

write[ln](<ф.п., список вывода>);

Окончание ln при вводе и выводе означает переход на новую строку в файле.

Оператор цикла for в двух формах.

Оператор цикла for.

for <п.ц.>:= <н.з.> to <к.з.> do <оператор>;

(для) (до) (выполнить)

Параметр цикла (<п.ц.>) - целая переменная. Он принимает начальное значение (<н.з.>), и происходит его сравнение с конечным значением (<к.з.>). Если конечное значение не превзойдено, выполняется оператор. Затем параметр цикла увеличивается на 1 и снова проверяется, не превзошел ли параметр цикла своего конечного значения. Если нет, то выполняется оператор и т. д. до тех пор, пока параметр не станет больше конечного значения. Если начальное значение сразу больше конечного, то оператор не выполнится ни разу, и выполнится выход из цикла.

Другая форма оператора цикла:

for <п.ц.>:= <н.з.> downto <к.з.> do <оператор>;

(для) (до с уменьшением) (выполнить)

Параметр цикла - также целая переменная. Здесь параметр цикла принимает начальное значение и проверяется, не меньше ли оно конечного значения. Если нет, то выполняется оператор. Затем параметр уменьшается на 1, и снова проверяется, не стал ли он меньше конечного значения. Если нет, то выполняется оператор и так до тех пор, пока параметр цикла не станет меньше конечного значения. Как только он станет меньше, выполняется выход из цикла. Если начальное значение сразу меньше конечного, то оператор не выполнится ни разу, и выполнится выход из цикла.

Начальное и конечное значения в операторах цикла этого типа могут быть арифметическими выражениями целого типа.

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

Фрагмент программы вычисления суммы первых 100 натуральных числа в прямом и обратном порядке.

s1:=0;

for i:=1 to 100 do

s1:=s1+i; s2:=0;

for i:=100 downto 1 do

s2:=s2+i;

12. Оператор цикла while.

while <логическое выражение> do <оператор>;

(пока) (выполнить)

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

Пример бесконечного повторения (точнее, до переполнения разрядной сетки числа a):

while true do a:=a+1;

Пример, когда оператор не выполнится ни разу:

while false do a:=a+1;

Операторы цикла for и while - операторы с предварительной проверкой условия (циклы с предусловием).



Поделиться:


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

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