// PascalABC.NET 3.1, сборка 1239 от 08.05.2016 type tBook=record author:string[30]; naim:string[50]; pages:integer; godizd:integer end; begin var f:file of tBook; Rewrite(f,'books.dat'); Writeln('Ввод данных по книгам'); var s1,s2:string; var i1,i2:integer; var book:tBook; repeat s1:=ReadlnString('Автор или * для окончания ввода:'); if s1<>'*' then begin s2:=ReadlnString('Название книги:'); i1:=ReadlnInteger('Количество страниц:'); i2:=ReadlnInteger('Год издания:'); (book.author,book.naim,book.pages,book.godizd):=(s1,s2,i1,i2); Write(f,book) end until s1='*'; Writeln('*** Ввод завершен ***'); f.Close end.
Тестовое решение Ввод данных по книгам Автор или * для окончания ввода: Жюль Верн Название книги: 80 тысяч километров под водой Количество страниц: 573 Год издания: 1951 Автор или * для окончания ввода: Сергей Лукьяненко Название книги: Дозор Количество страниц: 934 Год издания: 2004 Автор или * для окончания ввода: Жюль Верн Название книги: Властелин мира Количество страниц: 104 Год издания: 2011 Автор или * для окончания ввода: * *** Ввод завершен ***
2. Программа для выборки
// PascalABC.NET 3.1, сборка 1239 от 08.05.2016 type tBook=record author:string[30]; naim:string[50]; pages:integer; godizd:integer end; begin var f:file of tBook; Reset(f,'books.dat'); var s:=ReadlnString('Автор книги:'); var y:=Readinteger('Год издания, не ранее:'); var k:=0; var book:tBook; while not f.Eof do begin Read(f,book); if (book.author=s) and (book.godizd>=y) then begin Writeln(book); Inc(k) end; end; if k=0 then Writeln('Таких книг не найдено'); f.Close end.
Тестовое решение Автор книги: Жюль Верн Год издания, не ранее: 2005 (Жюль Верн,Властелин мира,104,2011)
Мы продолжаем публикацию цикла «руководств пользователя», посвященных теоретическому и практическому рассмотрению различных компонентов современного ПК, начало которому положил материал «Современные десктопные процессоры архитектуры x86: общие принципы работы (x86 CPU FAQ 1.0)». В настоящем руководстве мы рассмотрим основные современные виды оперативной памяти, применяемой в десктопных системах (оперативную память, применяемую в серверах и ноутбуках, оставим за его рамками). Под ними будем подразумевать память класса SDRAM — SDR (Single Data Rate — память с одинарной скоростью передачи данных), DDR (Double Data Rate — память с удвоенной скоростью передачи данных) и DDR2 (память DDR второго поколения). Возможно, SDRAM «как таковая» (в ее первоначальном варианте SDR SDRAM) на сегодня уже не является столь актуальным видом памяти, тем не менее, все три перечисленных вида принадлежат одному и тому же классу и базируются примерно на одних и тех же принципах функционирования, которые мы и рассмотрим прямо сейчас.Содержание
// PascalABC.NET 3.1, сборка 1239 от 08.05.2016
type
tBook=record
author:string[30];
naim:string[50];
pages:integer;
godizd:integer
end;
begin
var f:file of tBook;
Rewrite(f,'books.dat');
Writeln('Ввод данных по книгам');
var s1,s2:string;
var i1,i2:integer;
var book:tBook;
repeat
s1:=ReadlnString('Автор или * для окончания ввода:');
if s1<>'*' then begin
s2:=ReadlnString('Название книги:');
i1:=ReadlnInteger('Количество страниц:');
i2:=ReadlnInteger('Год издания:');
(book.author,book.naim,book.pages,book.godizd):=(s1,s2,i1,i2);
Write(f,book)
end
until s1='*';
Writeln('*** Ввод завершен ***');
f.Close
end.
Тестовое решение
Ввод данных по книгам
Автор или * для окончания ввода: Жюль Верн
Название книги: 80 тысяч километров под водой
Количество страниц: 573
Год издания: 1951
Автор или * для окончания ввода: Сергей Лукьяненко
Название книги: Дозор
Количество страниц: 934
Год издания: 2004
Автор или * для окончания ввода: Жюль Верн
Название книги: Властелин мира
Количество страниц: 104
Год издания: 2011
Автор или * для окончания ввода: *
*** Ввод завершен ***
2. Программа для выборки
// PascalABC.NET 3.1, сборка 1239 от 08.05.2016
type
tBook=record
author:string[30];
naim:string[50];
pages:integer;
godizd:integer
end;
begin
var f:file of tBook;
Reset(f,'books.dat');
var s:=ReadlnString('Автор книги:');
var y:=Readinteger('Год издания, не ранее:');
var k:=0;
var book:tBook;
while not f.Eof do begin
Read(f,book);
if (book.author=s) and (book.godizd>=y) then begin
Writeln(book);
Inc(k)
end;
end;
if k=0 then Writeln('Таких книг не найдено');
f.Close
end.
Тестовое решение
Автор книги: Жюль Верн
Год издания, не ранее: 2005
(Жюль Верн,Властелин мира,104,2011)
Мы продолжаем публикацию цикла «руководств пользователя», посвященных теоретическому и практическому рассмотрению различных компонентов современного ПК, начало которому положил материал «Современные десктопные процессоры архитектуры x86: общие принципы работы (x86 CPU FAQ 1.0)». В настоящем руководстве мы рассмотрим основные современные виды оперативной памяти, применяемой в десктопных системах (оперативную память, применяемую в серверах и ноутбуках, оставим за его рамками). Под ними будем подразумевать память класса SDRAM — SDR (Single Data Rate — память с одинарной скоростью передачи данных), DDR (Double Data Rate — память с удвоенной скоростью передачи данных) и DDR2 (память DDR второго поколения). Возможно, SDRAM «как таковая» (в ее первоначальном варианте SDR SDRAM) на сегодня уже не является столь актуальным видом памяти, тем не менее, все три перечисленных вида принадлежат одному и тому же классу и базируются примерно на одних и тех же принципах функционирования, которые мы и рассмотрим прямо сейчас.Содержание