
- •1. Основные понятия информатики. Информация и ее использование.
- •2. Компьютер как система обработки информации. Структура компьютера.
- •3. Стандартные устройства персонального компьютера и их характеристики.
- •4. Понятие алгоритма. Способы записи алгоритмов. Примеры блок-схем. Алгоритм ветвления, следования.
- •5. Понятие операционной системы, ее функциональное назначение и основные компоненты. Ms dos и структура ее команд.
- •6. Файловая система ms dos. Основные команды работы с файлами и каталогами.
- •7. Программная оболочка Norton Commander. Назначение и функции.
- •8. Понятие системы счисления. Двоичная система счисления. Примеры перевода чисел между шестнадцатеричной и десятичной системами счисления.
- •9. Понятие системы счисления. Шестнадцатеричная система счисления. Примеры перевода чисел между шестнадцатеричной и десятичной системами счисления.
- •10. Алгебра логики. Основные функции и их таблицы истинности.
- •11. Понятие кода и кодирования информации. Единицы измерения информации. Представление информации в компьютере.
- •1 Триггер – 2 кода 01, 10 2 триггера – 4 кода 00, 01, 10, 11
- •12. Представление символьной информации в компьютере. Таблицы ascii-кодов и другие.
- •13. Представление чисел в компьютере.
- •14. Языки программирования. Компиляторы и интерпретаторы.
- •15. Интегрированная среда Турбо-Паскаль. Назначение и возможности.
- •16. Процедуры ввода и вывода. Форматированный вывод данных.
- •17. Структура программы в Турбо-Паскале.
- •18. Понятие предложения (оператора) в Турбо-Паскале. Оператор присваивания и выражения.
- •19. Стандартные типы переменных для хранения чисел. Описание и присваивание значений. Примеры.
- •20. Основные математические функции Турбо-Паскаля. Примеры их использования.
- •21. Арифметические операции и выражения. Правила записи. Примеры.
- •22. Логические операции и выражения. Правила записи. Примеры.
- •23. Условный оператор. Назначение, типы, правила записи. Примеры.
- •24. Оператор выбора. Назначение и правила записи. Примеры.
- •25. Операторы цикла. Назначение, типы и правила записи. Примеры.
- •26. Переменные и константы символьного и строкового типов. Основные процедуры и функции для работы с ними.
- •27. Переменные типа массив. Назначение, описание и доступ к элементам массива. Примеры.
- •28. Переменные типа запись. Назначение, описание и доступ к полям записи. Примеры.
- •29. Файлы в Паскале и ms dos. Правила их описания взаимодействия. Примеры.
- •30. Типизированные файлы, их особенность и правила работы с ними. Примеры.
- •31. Текстовые файлы, их особенности и правила работы с ними. Примеры.
- •32. Процедуры и функции. Правила их описания и обращения к ним.
- •33. Понятие локальных и глобальных переменных, формальных и фактических параметров в процедурах и функциях.
- •34. Защита информации. Основные положения и методы.
- •35. Задача.
35. Задача.
Информация об операциях междугородной телефонной станции (МГТС) содержит следующие данные: город (русские, латинские буквы, дефис), номер телефона абонента (символы цифр, дефис), дату переговоров, включающую номер месяца (в интервале 1..12) и номер дня в месяце (в интервале 1..30), количество минут (больше нуля), цену минуты разговора (больше нуля). Написать программу, позволяющую автоматизировать деятельность клерка, обслуживающего операции МГТС. При этом необходимо:
обеспечить ввод данных с клавиатуры, контроль их на корректность, при вводе и сохранении данных в типизированном файле (количество наборов данных неограниченно);
определить среднюю стоимость переговоров за период, предшествующий заданному месяцу;
вывести на экран и в текстовый файл информацию о переговорах в заданном месяце, стоимость которых выше средней за предыдущие месяцы в году.
Program MGTS;
type
tmgts=record
town, tel: string;
d, m, min: integer;
pr: real;
end;
var
m: tmgts;
f1: file of tmgts;
f2: text;
spr: real;
tm, n: integer;
procedure ctrltown( what:string;
var p:string);
var
fl: boolean; i: integer;
begin
repeat
fl:=true;
write( what); readln( p);
for i:=1 to length( p) do
if not( p[i] in [’А’..’п’,’р’..’я’,’-’]) then
fl:=false;
until fl;
end; { ctrltown }
procedure ctrltel( what:string;
var p:string);
fl: boolean; i: integer;
begin
repeat
fl:=true;
write( what); readln( p);
for i:=1 to length( p) do
if not( p[i] in [‘0’..’9’,’-‘]) then
fl:=false;
until fl;
end; { ctrltel }
procedure ctrlday( what:string;
var p:integer);
var
fl: boolean; s: string; cod: integer;
begin
repeat
fl:=true;
write( what); readln( s);
val( s, p, cod);
if not( cod = 0) then
fl:=false;
if not( (p > 0) and (p<31))then
fl:= false;
until fl;
end; { ctrlday }
procedure ctrlmon( what:string;
var p:integer);
var
fl: boolean; s: string; cod: integer;
begin
repeat
fl:=true;
write( what); readln( s);
val( s, p, cod);
if not( cod = 0) then
fl:=false;
if not( (p > 0) and (p<13))then
fl:=false;
until fl;
end; { ctrlmon }
procedure ctrlmin( what:string;
var p:integer);
var
fl: boolean; s: string; cod: integer;
begin
repeat
fl:=true;
write( what); readln( s);
val( s, p, cod);
if not( cod = 0) then
fl:=false;
if not( p > 0)then
fl:=false;
until fl;
end; { ctrlmin }
procedure ctrlprice( what:string;
var p: integer);
var
fl: boolean; s: string; cod: integer;
begin
repeat
fl:=true;
write( what); readln( s);
val( s, p, cod);
if not( cod = 0) then
fl:=false;
if not( p > 0)then
fl:=false;
until fl;
end; { ctrlprice }
begin
assign( f1, ‘mgts.dat’);
rewrite( f1);
repeat
ctrltown( ‘Город?’, m.town);
{ write( ‘Город?’; readln( m.town);}
{Ввод всех данных заканчивается, когда вместо города нажимается <CR>}
if m.town<>” then
begin
ctrltel( ‘Телефон?’, m.tel);
ctrlday( ‘День?’, m.d);
ctrlmon( ‘Месяц?’, m.m);
ctrlmin( ‘Кол-во минут?’, m.min);
ctrlprice( ‘Цена?’, m.pr);
write (f1, m); end;
until m.town<>”;
close( f1);
write(‘Тек. месяц?’); readln( tm);
reset( f1);
spr:=0; n:=0;
while not eof(f1) do
begin
read( f1, m);
if m.m<tm then
begin
n:=n+1; spr:=spr+ m.min*m.pr;
end;
end;
close( f1);
assign( f2, ‘mgts.txt’);
rewrite( f2);
reset( f1);
while not eof(f1) do
begin
read( f1, m);
if (m.m=tm) and (m.min*m.pr>spr)
then
begin
writeln( f1, m.town, m.tel, m.d, m.m,
m.min, m.pr);
writeln( f, m.town, m.tel, m.d, m.m,
m.min, m.pr):
end;
end;
close( f1); close( f2);
end.
