6. Изобразите файловую структуру в виде дерева
С: \Рисунки \ Природа \ Небо.bmp
C: \ Рисунки \ Природа \ Снег.bmp
C: \ Рисунки \ Компьютер \Монитор.bmp
C: \ Мои документы \Доклад.doc
C: \ Мои документы \ Рефераты\Компьютер.doc
C: \ Мои документы \ Природа \ Рефераты \ Небо.doc
C: \ Мои документы \ Рефераты\Монитор.doc
7. В поисках нужного файла Саша последовательно переходил из каталога в каталог, при этом он несколько раз поднимался на один уровень вверх и несколько раз опускался на один уровень вниз. Полный путь каталога, с которым Саша начинал работу, С:\Контрольные\Рубежные\Информатика.
Каким может быть полный путь каталога, в котором оказался Саша, если известно, что на уровень вниз он спускался меньше раз, чем поднимался вверх?
1) С:\Контрольные
2) С:\Контрольные\Рубежные\Информатика
3) С:\Контрольные\Рубежные\Информатика\Вариант1
4) С:\Контрольные\Рубежные\Физика\Черновик
8. Какой объём видеопамяти необходим для хранения графического изображения, занимающего весь экран монитора с разрешением 1024x768 если глубина цвета равна 24. ответ дайте в наиболее удобных единицах измерения информации.
9. Сканируется цветное изображение размером 12 х 15 см. Разрешающая сканера 2400 х 2400 dpi, глубина цвета — 4 байта. Какой информационный объём будет иметь полученный графический файл?
10. В одной из кодировок каждый символ кодируется 16 битами. Ученик написал текст (в нём нет лишних пробелов):
«J, Cg, Cat, Ruby, Swift, Delphi, Haskell — языки программирования».
Ученик вычеркнул из списка название одного из языков программирования. Заодно он вычеркнул ставшие лишними запятые и пробелы — два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 14 байт меньше, чем размер исходного предложения. Напишите в ответе вычеркнутое название языка программирования.
Алгоритм выглядит таким образом:
ввести x, y;
если x>y то
s:=(x*y)*2;
иначе
s:=(x+y)/2;
вывод s
конец. (блок-схема прилагается в скриншоте 1)
На паскале выглядит примерно так:
var
x, y, s:real;
begin
readln(x,y);
if x>y then
s:=(x*y)*2;
else
s:=(x+y)/2;
writeln(s:2:2);
end.
ответ на 2 задачу
Тут идентичный алгоритм: вводим 2 переменные x, y, далее создаем условие и возводим в модуль... (скриншот 2 с блок-схемой)
ответ на 3 задачу
Тут тоже.. в условии указываешь просто a<b<c, если условие верно, то выводишь "Верно", иначе "Не верно".
На паскале выглядит примерно так:
var
a, b, c:integer; {если число вещественное}
begin
readln(a, b, c);
if (a<b<c) then
writeln("Верно");
else
writeln("Неверно");
end.
ответ на 4 задачу
На паскале:
var
a, b, c, max:integer;
begin
max:=0;
readln(a,b,c);
if max<a then
max:=a;
if max<b then
max:=b;
if max<c then
max:=c;
writeln(max);
end.
ответ на 5 вопрос
На паскале:
Var
a,b,c:integer;
begin
readln(a,b,c);
if (a<0) then
a:=a*a;
writeln(a);
if (b<0) then
b:=b*b;
writeln(b);
if (c<0) then
c:=c*c;
writeln(c);
end.
Удачи!
Главная проблема - то, что между словами может быть несколько пробелов.
Устраним её, написав функцию, которая оставляла бы между словами по 1 пробелу:
function RemoveSpaces(str : string) : string;
begin
//Тут цикл for, переписанный через while
var iter := 1;
//Проходим по строке
while (iter < str.Length) do
begin
//Если видим 2 пробела подряд, удаляем 1 и откатывает итератор.
if (str[iter] = ' ') and (str[iter + 1] = ' ') then
begin
str := str.Remove(iter, 1);
iter -= 1;
end;
iter += 1;
end;
RemoveSpaces := str;
end;
Теперь мы можем получить кол-во слов очень просто:
function CalcWords(str : string) : integer;
begin
CalcWords := RemoveSpaces(str).Split(' ').Count();
end;
Т.е. мы делим строку на массив через пробелы, и считаем кол-во элементов массива.
полный код: https://pastebin.com/A63ggdWm