Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
специальной команды сброса происходит передача данных на внешнее
устройство. При чтении из файла данные вначале считываются в буфер, причем
данных считывается не столько, сколько запрашивается, а сколько поместится в
буфер.
Описание файловых переменных текстового типа производится с помощью
служебного слова Text, например:
var tStory: Text;
Описание типизированных файлов имеет вид:
var fComp: File of T;
где T - тип компоненты файла. Примеры описания файловой переменной
типизированного типа:
type M= array[1..500] of Longint;
var f1: File of Real;
f2: File of Integer;
fLi: File of M;
Нетипизированные файлы описываются с помощью служебного слова File:
var f: File;
Файловые переменные, которые описаны в программе, называют
логическими файлами. Все основные процедуры и функции,
обеспечивающие ввод - вывод данных, работают только с логическими
файлами. Физический файл должен быть связан с логическим файлом до
выполнения процедур открытия файлов.
2. Разобрать пример задачи:
Задание А: Выполнить на ЭВМ программу создания файла, содержащего
сведения о сдаче студентами сессии. Структура записи содержит поля: индекс
группы, фамилию студента, оценки по пяти экзаменам. Количество записей в
файле произвольное.
Решение на языке Pascal имеет следующий вид:
Program FileTest;
Uses crt;
Type
zap = record
index: string[6];
Fam: string[20];
Marker: array[1..3] of integer;
End;
Var Ses: file of zap; X: zap; Flag: boolean; K, i:integer; Ch: char;
167
Begin
Clrscr;
K:=0; flag:=false;
Writeln(‘ Программа составления файла данных для зачисления
студентов на стипендию’);
Writeln (‘ ****** ’);
Writeln;
Writeln (‘ Необходимо ввести фамилию студента, индекс его
группы и оценки за 3 экзамена’);
Writeln (‘ - ‘);
Writeln (‘ признаком окончания ввода считать введение
символов # # # вместо индекса группы’);
Writeln (‘ - ‘);
Assign (ses, ‘nw. dat’); Rewrite (ses);
Repeat
Writeln; Write (‘ Введите фамилию ’); readln (x. fam);
Write (‘ Введите индекс ’); readln (x. index);
For i:=1 to 3 do begin
Write (‘ введите оценку за ‘,i, ’ экзамен: ’);
Readln (x. marcer [i]);end;
If x. index<>’ # # #’ then begin
K:=k+1
Write (ses, x);
End
Else
Flag:=true;
Until flage;
Clrscr;
Writeln (‘ Проверка корректности записи файла ‘);
Writeln (‘ ------- ‘);
Writeln (‘ В файле ‘,k, ‘ записей’); writeln;
Reset (ses);
Writeln (‘ Фамилия Группа Оценки ‘);
Writeln (‘ ------ ‘);
While not eof (ses) do
Begin
Read (ses, x);
Writeln (‘ ‘,x. fam, ‘, ‘, x. Index, ‘ ‘, x. Marcer 1, ‘ ‘,x. Marcer 2, ‘ ‘,
x. Marcer 3);
end; close (ses);
readln;
end.
Задание Б: Написать программу зачисления на стипендию студентов
группы Х. Размер обычной стипендии вводить с клавиатуры. Студенту,
168
получившему все оценки 5, начисляется повышенная на 50% стипендия;
получившему оценки 4 и 5 начисляется стипендия, повышенная на 25%.
Студенту, получившему хотя бы одну оценку 2, стипендия не начисляется. В
остальных случаях начисляется обычная стипендия.
Решение на языке Pascal имеет следующий вид:
Program FileTest2 (input, output);
Uses crt;
Type
zap = record
index: string[6]
Fam: string[20];
Marker: array[1..3] of integer;
End;
Var
Ses: file of zap; X: zap; St, Srb, Stn:real; Flag: boolean; K, i,j:integer;
Ch: char;
Begin
Clrscr;
Writeln(‘ Программа начисления стипендии ’);
Writeln (‘ ***** ’); Writeln;
Writeln (‘ введите размер обычной стипендии (тенге): ’);
Readln (st);
i:=0; srb:=0; j:=1; stn:=0; Writeln;
Writeln(‘ Ведомость зачисления студентов на стипендию ’);
Writeln (‘ ------ ‘);
Writeln (‘ Фамилия Отметка о начислении ‘);
Writeln (‘ ------ ‘);
Assign (ses, ‘nw. dat’); Reset (ses);
While not eof (ses) do begin
Read (ses, x);
For i:=1 to 3 do srb:=srb+x. marcer [i];
Srb:=srb/3;
If (srb>=2) and (srb<3) then
Writeln (‘ ‘, x. fam, ‘ ‘, ‘ стипендия не начисляется ‘);
If (srb>=3) and (srb<=4) then
Writeln (‘ ‘, x. fam, ‘ ‘, ‘ ‘, st: 4:2,’ тнг. ‘);
If (srb>4) and (srb<5) then begin
Stn:=st+st*25/100;
Writeln (‘ ‘, x. fam, ‘ ‘, stn:4:2, ‘ тнг.’);
end;
if (srb=5) then begin
stn:=st+st*50/100;
writeln (‘ ‘, x. fam, ‘ ‘, ‘ ‘, stn:4:2, ‘ тнг.’);
end;
169
stn:=0; srb:=0;
end;
close (ses);
readln;
end.
3. Внимательно прочитать условие задачи согласно варианта.
4. Составить алгоритм решения задачи.
5. Реализовать алгоритм на языке Turbo Pascal.
ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОГО ВЫПОЛНЕНИЯ
Выполнить на ЭВМ программу создания файла в
соответствии с вариантом задания, указанного ниже.
Выполнить на ЭВМ программу обработки файла, созданного
согласно заданию А.
1. А. Создать файл, содержащий сведения о месячной заработной плате рабочих
завода. Каждая запись содержит поля: Фамилия рабочего, наименование цеха,
размер зарплаты.
Б. Вычислить общую сумму выплат по цеху Х, среднемесячный заработок
рабочего цеха.
2. А. Создать файл, содержащий сведения о количестве изделий, собранных
сборщиком цеха за неделю. Каждая запись содержит поля: фамилия сборщика,
количество изделий, собранных им ежедневно в течение шестидневной недели.
Б. Написать программу, определяющую фамилию сборщика и общее
количество деталей, собранное им за неделю.
3. А. Создать файл, содержащий сведения о количестве изделий категорий
А,В,С, собранных рабочим за месяц. Структура записи имеет поля: фамилия
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |


