1) Какие файлы находятся в корневом каталоге? а) C:\SERVER\Видео\2007\Зя.avi
б) A:\autoexec.bat
в) \\work3\Игры\Hover\hover.exe
г) D:\Windows\Temp\Справка.txt
д) E:\Реферат.doc
2) В некотором каталоге хранился файл Задача5. После того, как в этом каталоге создали подкаталог и переместили в созданный подкаталог файл Задача5, полное имя файла стало Е:\Класс9\Физика\Задачник\Задача5. Каково было полное имя этого файла до перемещения?
а) Е:\Физика\Задачник\Задача5
б) Е:\Физика\Задача5
в) Е:\Класс9\Задачник\Задача5
г) Е:\Класс9\Физика\Задача5
3) Определите, какое из указанных имен файлов удовлетворяет маске: ?hel*lo.c?*
1. hello.c
2. hello.cpp
3. hhelolo.cpp
4. hhelolo.c
program rome_arabic;
Uses crt;
Const
{римские цифры}
RomeDigits:string='IVXLCDM';
{числа - соответствующие римским цифрам}
ArabicNumbers:array [1..7] of integer =
(1, 5, 10, 50, 100, 500, 1000);
(*
Функция определения правильности ввода арабского числа
*)
function IsArabic(s:string):boolean;
var i,t,c:integer;
begin
IsArabic:=true;
for i:=1 to length(s) do
if not(s[i] in ['0'..'9'])then
begin
IsArabic:=false;
exit;
end;
val(s,t,c);
if (c<>0)or(t<1) then
begin
IsArabic:=false;
exit;
end;
end;
(*
Функция перевода арабского числа в римское
*)
function ArabicToRome (s: string): string;
var
i,n,c: integer;
res: string;
begin
val(s,n,c);
res:='';
i:=7; {Проверяем от больших чисел к меньшим}
while n>0 do
begin
{находим следующее число - из которого будем формировать римскую цифру}
while ArabicNumbers[i]>n do i:=i-1;
res:=res+RomeDigits[i];
n:=n-ArabicNumbers[i];
end;
ArabicToRome := res;
end;
(*
Функция определения правильности ввода римского числа
*)
function IsRome(s:string):boolean;
var i:integer;
begin
IsRome:=true;
if s='' then
begin
IsRome:=false;
exit;
end;
for i:=1 to length(s) do
if not (s[i] in ['I', 'V', 'X', 'L', 'C', 'D', 'M']) then
begin
IsRome:=false;
break;
end;
end;
(*
Функция перевода римского числа в арабское
*)
function RomeToArabic (s: string): integer;
var
b:array[1..100] of integer;
i,j:integer;
res:integer;
begin
for i:=1 to length(s) do
begin
if s[i]='I' then b[i]:=1;
if s[i]='V' then b[i]:=5;
if s[i]='X' then b[i]:=10;
if s[i]='L' then b[i]:=50;
if s[i]='C' then b[i]:=100;
if s[i]='D' then b[i]:=500;
if s[i]='M' then b[i]:=1000;
end;
res:=b[1];{массив локальная переменная и
сравнение первого элемента с нулевым искажает число,
почему-то считает, что b[0]=1 и автоматом вычитает 2}
for i:=2 to length(s) do
begin
res:=res+b[i];
if b[i-1]<b[i] then res:=res-2*b[i-1]{вот здесь}
end;
RomeToArabic:=res;
end;
{Основная программа}
var
arabic: string; {арабское число}
rome: string; {римское число}
ask: char; {режим перевода чисел}
begin
clrscr;
writeln('Программа переводит римское число в арабское или арабское в римское');
repeat
clrscr;
writeln('Выберите режим перевода:');
writeln('1 - римское число в арабское');
writeln('2 - арабское число в римское');
writeln('другое - выход');
ask:=readkey;
case ask of
'1': begin {Римское в арабское}
write('Введите римское число: ');
readln(rome);
if IsRome(rome) then
writeln('Арабское число = ',RomeToArabic(rome))
else writeln('В римской записи числа допущены ошибки! Перевод не возможен!');
writeln('Press Enter...');
readln
end;
'2':begin {арабское в римское}
write('Введите арабское число: ');
readln(arabic);
if IsArabic(arabic) then
writeln('Римская запись = ',ArabicToRome(arabic))
else writeln('В арабской записи числа допущены ошибки! Перевод не возможен!');
writeln('Press Enter...');
readln
end;
else exit;
end;
until not(ask in ['1','2']);
end.
Объяснение:
Какие служебные слова применяются для записи цикла с постусловием
Выберите несколько из 4 вариантов ответа:
1) End 3) Repeat
2) Until 4) Begin
Задание 2
Вопрос:
Как найти элемент массива с определенным значением?
Выберите один из 3 вариантов ответа:
1) Отсортировать массив и выбрать максимальный индекс.
2) Перебирать элементы массива пока они не закончатся или пока не будет найден искомый.
3) Выбрать один элемент массива, предположить его искомым и сравнить с оставшимися, меняя в процессе предполагаемый искомый элемент.
Задание 3
Вопрос:
Установите верный порядок следования команд при поиске в массиве из 50 элементов, элемента равного k
Укажите порядок следования всех 4 вариантов ответа:
_1_ if a[i]=k then writeln (i); _2_ while (a[i]<>k) and (i<50) do
_1_ i:=1; __ i:=i+1;
Задание 4
Вопрос:
Какая команда пропущена в данном участке программы, отвечающем за поиск максимального элемента массива. Запишите команду без пробелов.
r:=1;
for i:=2 to n do
if a[i]>a[r]
then ...
Запишите ответ:
Задание 5
Вопрос:
Запишите без пробелов команду, которая пропущена в данном алгоритме сортировки массива по убыванию методом пузырька.
p:=false;
while p=false do
begin
...
for i:=1 to n-1 do
if a[i] then begin
p:=a[i];
a[i]:=a[i+1];
a[i+1]:=p;
end;
end;
Запишите ответ:
Задание 6
Вопрос:
Какое служебное слово пропущено в данной записи цикла с постусловием?
repeat
i:=i-1;
... i=0;
Запишите ответ:until
Задание 7
Вопрос:
Как называется описанный метод сортировки по возрастанию?
Проходя по массиву, ищем два соседних элемента, которые расположены не по возрастанию. Найдя такие элементы, меняем их местами. Продолжаем до тех пор, пока за весь проход по массиву не будет сделано ни одной перестановки.
Выберите один из 4 вариантов ответа:
1) Метод перебора
2) Метод пузырька
3) Метод выбора
4) Метод последовательных перестановок
Задание 8
Вопрос:
Что такое сортировка?
Выберите один из 3 вариантов ответа:
1) Изменение индексов элементов массива
2) Изменение порядка следования элементов в массиве в соответствии с определенным признаком
3) Изменение значений элементов массива
Задание 9
Вопрос:
Какие существуют типы задач на поиск элементов в массиве?
Выберите несколько из 4 вариантов ответа:
1) Удаление элемента массива
2) Найти элемент с указанным значением
3) Добавление элемента
4) Найти максимальный или минимальный элемент
Задание 10
Вопрос:
Установите верный порядок следования команд при сортировке массива из 10 элементов по возрастанию методом выбора.
Укажите порядок следования всех 7 вариантов ответа:
__ a[i]:=a[j];
__ for i:=j+1 to 10 do
__ a[j]:=p;
__ p:=a[i];
__ if a[j] __ for j:=1 to 9 do
__ end;