Контрольные по информатике (109522)

Посмотреть архив целиком

Задание 1.

(вариант Б)

1.Значение логического типа обозначаются встроенными идентификаторами констант TRUE (истина) и FALSE (ложь). При внутреннем представлении они занимают 1 байт памяти. Справедливо условие: True>FALSE.

Логические выражения имеют значения типа boolean, т.е. TRUE или FALSE.

Для операндов типа boolean определены следующие логические операции:

NOT— логическое НЕ;

AND— логическое И;

OR— логическое ИЛИ;

XOR— логическое исключающее ИЛИ.

Для операндов простых типов данных и строк применимы операции отношения: =,<,<=,>,>=,<>,in.

Примеры логических выражений:

1 3 2

if (i>0) and (j<0) or (i<0) and (j>0) then i:=2;

В данном примере проверяется два условия либо одновременно i положительно и j отрицательно, либо наоборот i отрицательно и j положительно, при истинности одного из этих условий переменной i присваивается значение 2.

1 2

If not a then b:=false;

В данном примере если переменная a имеет значение false переменной b присваивается значение false.

1 2 3

If not a or b then a:=b;

В данном примере переменной а присваивается значение, содержащееся в переменной b, при условии, что а имеет значение false или b true.

2. В языке Паскаль ввод-вывод информации осуществляется через файловые переменные.

Перед тем, как осуществить ввод-вывод, файловая переменная должна быть связана с конкретным внешним файлом с помощью процедуры ASSIGN. Этим файлом может быть файл на магнитном диске, а также устройство вычислительного комплекса. Затем файл должен быть открыт для чтения и/или записи. После этого можно осуществлять организацию ввода-вывода.

После работы с файлом он, как правило, должен быть закрыт с помощью процедуры CLOSE. Это требование обязательно должно соблюдаться для файла, в который производилась запись.

Процедура ASSIGN (Var_file, Road): с помощью этой процедуры вы связываете файловую переменную Var_file с некоторым именем файла, которое хранится в переменной Road.

Var

Var_file: file of integer;

Road: string[14];

...

Road:=’Data.dat’;

Assign (Var_file, Road);

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

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

Assign (var_file, ‘Data.dat’);

Reset (Var_file);

Данная процедура содержит необязательный параметр Size целого типа, который используется только с файлами без типа и задает размер пересылаемого элемента информации в байтах. По умолчанию этот параметр равен 128. Файл текстового типа может быть открыт либо для чтения процедурой Reset, либо для записи процедурой Rewrite или Append.

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

Rewrite (Var_file);

открывает существующий файл, связанный с файловой переменной Var_file.

Процедура Close: закрывает ранее открытый файл, связанный с указанной переменной в качестве параметра файловой переменной.

Close (Var_file);

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

Процедура Rename: позволяет переименовать существующий файл, связанный с указанной в качестве параметра файловой переменной. Данная процедура применяется только к закрытым файлам.

Assign (Var_file, ‘Data.dat’);

Rename (Var_file, ‘Text.dat’);

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

Assign (Var_file, ‘Data.dat’);

Erase (Var_file);

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

While not EOF (Var_file) do

read (Var_file, m[i]);

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

Функция IOResult: предназначена для поиска ошибок, возникающих при работе с файлами. Эта функция возвращает результат последней операции ввода-вывода, если автоматический контроль за ошибками, возникающими в процессе операций ввода-вывода, отключен с помощью директивы компилятора {$I-}. При безошибочном выполнении операций ввода-вывода данная функция возвращает ноль, если же ошибка имела место, то данная функция возвращает код ошибки.

{$I-}

Reset (‘C:\data.dat’);

if IOResult <>0 then writeln (‘ Ошибка при открытии файла’);

{$I+}

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

Для задания типа файл следует использовать зарезервированные слова file и of, после чего указать тип компонент файла.

Type

number = file of integer;

symb = file of ‘A’..’Z’;


Стандартный тип Text определяет тип файла, содержащий символы, объединенные в строки. Следует иметь ввиду, что тип Text в Турбо-Паскале не эквивалентен тину file of char.

Введя файловый тип, можно определять переменные файлового типа:


Var

F1:number;

F2:Text;


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

Тип файл можно определять и непосредственно при введении файловых переменных.

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


Задание 2.

(вариант 7)

uses crt;

var x,z:real;

begin

clrscr;

write ('Введите x:');

readln (x);

z:=sqrt(abs(x*cos(x))+sin(x/2)*sqr(sin(x/2)));

clrscr;

writeln ('x=',x:5:2,' z=',z:5:2);

end.


Задание 3а.

(вариант 6)

uses crt;

var x:array[1..10] of integer;

y:array[1..10] of boolean;

z:real;

i:integer;

begin

clrscr;

for i:=1 to 10 do

begin

y[i]:=false;

x[i]:=random(100);

end;

for i:=1 to 10 do

if frac(x[i]/2)=0 then y[i]:=true;

for i:=1 to 10 do write (x[i]:4,';');

writeln;

for i:=1 to 10 do

if y[i]=true then write (i:4);


end.


Задание 4.

(вариант 7)

uses crt;

type traz=record

city:string[50];

dat:string[8];

tor:string[5];

dr:integer;

price:real;

end;

var f1:file of traz;

f2:text;

raz:traz;

n:char;

flag:boolean;

function chek(s:string):boolean;

var i:integer;

begin

chek:=true;

for i:=1 to 5 do

if not((s[i] in ['0'..'9']) or (s[i]=':')) then chek:=false;

end;

begin

clrscr;

assign (f1,'1.dat');

assign (f2,'1.txt');

rewrite (f1);

append (f2);

repeat

clrscr;

write ('Введите город:');

readln(raz.city);

write (' Введите дату разговора:');

readln(raz.dat);

write (' Введите время разговора');

repeat

readln (raz.tor);

flag:=chek(raz.tor);

if flag=false then writeln ('Ошибка!!! Повторите ввод:');

until flag;

write(' Введите длительность разговора:');

readln (raz.dr);

write ('Введите стоимость:');

readln (raz.price);

write ('Продолжить? «*»- закончить ввод!');

readln (n);

write (f1,raz);

until n='*';

reset (f1);

while not eof(f1) do

begin

read (f1,raz);

if raz.city='Санкт-Петербург' then write (f2,raz.dat:9,raz.tor:6,raz.dr:5,raz.price:6:2);

end;

close (f1);

close (f2);

end.

Список литературы

  1. А.М. Епанешников. Программирование в среде Turbo Pascal 7.0. М., 1997.

  2. Турбо паскаль 7.0. Киев, 1996.

  3. В.В. Качала. Основы программирования на языке Турбо-паскаль. Мурманск, 1994.



Случайные файлы

Файл
5303.rtf
64533.rtf
8253.rtf
pb_10-256-98.doc
10259.rtf




Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.