Добавил:
kostikboritski@gmail.com Выполнение курсовых, РГР технических предметов Механического факультета. Так же чертежи по инженерной графике для МФ, УПП. Писать на почту. Дипломы по кафедре Вагоны Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

информатика (не сорт) / Работа с типизированными файлами

.doc
Скачиваний:
12
Добавлен:
12.08.2017
Размер:
57.34 Кб
Скачать

Работа с типизированными файлами

Задание для ознакомления

Сохраните данные и текст программы в файлах с именем по образцу Prg_14_1_mt11_Иванов_Иван.pas,   in_14_1.txt,    out_14_1.txt

 

Program n1; var  A, B, P1, P2, P3, P4 : boolean;  input, out : file of boolean;  begin   {Запись в типизированный файл}

  assign ( input, 'in_14_1.txt' );  {Устанавливаем связь файловой переменной с физическим файлом на диске}   rewrite ( input );                 {Открываем файл для записи}   write ( input, true, false );    {Записываем последовательно данные в файл}   close ( input );                   {Заканчиваем работу с файлом. Теперь на диске существует файл с именем input.txt, содержащий введенные данные. На этом программу можно закончить, работу с файлом можно продолжить в другой программе, в другое время, но мы продолжим}  

  {Чтение из типизированного файла}   assign ( input, 'in_14_1.txt' ); {устанавливаем связь файловой переменной с физическим файлом на диске}   reset ( input );                   {открываем файл для чтения}   read ( input, A, B );            {Читаем данные из файла}   writeln ( A, B );                 {Выводим на экран данные из файла}   close ( input );                  {Заканчиваем работу с файлом}  

  {Запись в другой типизированный файл}   assign ( out, 'out_14_1.txt' ); {устанавливаем связь файловой переменной с физическим файлом на диске}   rewrite ( out );                   {открываем файл для записи}   write ( out, A, B);               {записываем последовательно данные в файл}   close ( out );                     {заканчиваем работу с файлом}   

 end.

 

 

Задание                                        

Напишите программу по плану. Исходные данные храните в текстовом файле. Результаты вычисления логического выражения сохраните в файле типа boolean. План работы:

1. Создайте текстовый файл и наберите в него исходные данные.

2. Вычислите выражение для указанных исходных данных (таблица 1).

2. Запишите результаты в типизированный файл in_14_2.txt.

3. Прочитайте из типизированного файла in_14_2.txt данные и выведите их на экран.

4. Запишите полученные данные в другой типизированный файл out_14_2.txt

Сохраните работу в файлах с именем по образцу Prg_14_2_mt11_Иванов_Иван.pas

Таблица 1Логические выражения

N п/п

Логическое выражение

Исходные данные для вычисления выражения

1

переменные a, b, c, d положительны;

 

a и  b принадлежат промежутку [5; 8] ;

Дано: а= 3; b= 7; с= 6; d= 15

2

x принадлежит одному из промежутков [3;5] и [7;8];

 

для у, z хотя бы одна переменная меньше 3;

Дано: x = 3; y=  5; z= 2

3

a, b, c, d отрицательны;

 

t  принадлежат промежутку [– 3; 3] ;

Дано: а= -3; b= -7; с= -6; d= -15; t= 1

4

x принадлежит отрезку [8;12] c точкой разрыва 10;

 

а, в, с, d возрастают последовательно;

Дано: а= 3; b= 7; с= 9; d= 15; x=10

5

x, y, z попарно не равны;

 

х и у принадлежат отрезку [15; 20];

Дано: x = 16; y=  15; z= 2

6

для x, y, z хотя бы две переменные равны между собой;

 

х принадлежит отрезку [5; 6]  или отрезку [11; 16] 

Дано: x = 15; y=  15; z= 2

7

для а, b, c хотя бы две переменные не равны между собой;

 

f определено на всей числовой оси, кроме нуля и отрезка [-5; -2] 

Дано: а= 3; b= 7; с= 9; f= 10

8

x принадлежит всей числовой оси, кроме промежутка [–2;+2] и числа 5;

 

х, у, z  последовательно не убывают;

Дано: x = 3; y=  5; z= 12

 

 

 

 

Пример для ознакомления

Пример использования арифметического цикла 14.3

Даны формулы:

 Вывести на экран таблицу вычислений значений у при изменении х от а = -5  до  b = +5  с шагом h = 0.5

 

Определение числа повторов N= (b - a)/h + 1 = (5 - (-5)) / 0.5 + 1 =21.

 

Program pr_14;

Uses crt; {Подключение библиотечного модуля CRT}

Var i : Integer;

x, y : Real; {Описание переменных}

Begin

Writeln ( 'Таблица' ); {Вывод на экран шапки таблицы}

Writeln ( '_ _ _x_ _ _ _у_ _' );

x:= -5;

For i:= 1 to 21 Do {Арифметический цикл}

Begin

if x < -2 Then y:= 1 / (x+2)

Else if ( x >= -2 ) And ( x <= 2 )

Then y:=2 * Exp( 3*Ln (x) )

Else y:=Ln(x) / Ln(10)+Exp(x);

Writeln ( x:7:2, y:10:4 );

x:= x + 0.5;

End;

End.

Запустите программу.

Вы получите результат с ошибкой.

Найдите ошибку и объясните ее с математической точки зрения.

 Таблица _ _ _x_ _ _ _у_ _   -5.00   -0.3333   -4.50   -0.4000   -4.00   -0.5000   -3.50   -0.6667   -3.00   -1.0000   -2.50   -2.0000 » Ошибка: неверная вещественная операция (Program2.pas, строка 12)

Исправьте формулу и получите все результаты вычислений.

 

Цикл выполнится 21 раз. Это следует из формулы определения числа повторов N= (b - a) / h + 1 = (5 - (-5)) / 0.5 + 1 =21

 

Начальное значение х= -5

Конечное  значение х= 5

Переменная х изменяется с шагом  0.5

 

Параметр цикла в операторе for изменяется с шагом 1.

 Таблица _ _ _x_ _ _ _у_ _   -5.00    -0.3333   -4.50    -0.4000   -4.00    -0.5000   -3.50    -0.6667   -3.00    -1.0000   -2.50    -2.0000   -2.00   -16.0000   -1.50    -6.7500   -1.00    -2.0000   -0.50    -0.2500    0.00     0.0000    0.50     0.2500    1.00     2.0000    1.50     6.7500    2.00    16.0000    2.50    12.5804    3.00    20.5627    3.50    33.6595    4.00    55.2002    4.50    90.6703    5.00  149.1121

 

Задание

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

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

Сохраните в файле с именем по образцу Prg_14_4_mt11_Иванов_Иван.pas  

 

Ответьте на вопросы:

1. Сколько раз выполнится цикл? Запишите в тетради формулу для определения числа повторов.

2. Назовите начальное  и конечное значение x.

3. С каким шагом будет изменяться х?

4. С каким шагом будет изменяться параметр цикла в операторе for?

 

Вариант 1

где х принимает значения в интервале [-1; 5] с шагом 0.5

Вариант 2

 

если х принимает значения из интервала [0; +10]  с шагом 0.5, значение «b» задается.

Вариант 3

где х изменяется в интервале [0; +6] с шагом 0.4, значения «u», «t»-вводятся с клавиатуры.

Вариант 4

где х принимает значения  0.5; 1; 1.5 … 3,

значение «а» - задается.

Вариант 5

где х изменяется в интервале [0.7; 2]

с шагом 0.1;   а= 1.65

Вариант 6

где х изменяется в интервале [0.1; 1.7] с шагом 0.2,

a= 0.9

Вариант 7

 

где х изменяется в интервале [2; 5] с шагом 0.25

Вариант 8

где х изменяется в интервале [0.2; 2] с шагом 0.1,

t= 2.2

Вариант 9

где х изменяется в интервале [0.2; 2] с шагом 0.2; b=1.5

Вариант 10

где х изменяется в интервале [0.5; 2] с шагом 0.1; а= 20.3

 

СПРАВКА                                        

Lg(x) надо записать так:   Ln(x) / Ln(10)