Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Mr.GROZNY

Помогите написать коментарий к программам.

20.12.2008, 08:03. Показов 793. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Помогите пожалуйста написать коментарий к программам, т.е. что в каждой строке исходного кода программы выполняется.
Вот две задачи и исходный код их.


1) Абаракадабра:
Последовательность из латинских букв строится следующим образом. На первом шаге она пуста. На каждом последующем шаге последовательность удваивается, после чего к ней слева дописывается очередная буква латинского алфавита (а, b, с, ...). Ниже приведены первые шаги построения последовательности:
Шаг 1. пустая последовательность
Шаг 2. а
Шаг 3. baa
Шаг 4. cbaabaa
Шаг 5. dcbaabaacbaabaa
Задача состоит в том, чтобы по заданному числу N определить символ, который стоит на N-ом месте в последовательности, получившейся после 26-го шага.

Технические требования:
Входной файл: INPUT.TXT
Выходной файл: OUTPUT.TXT

Ограничение времени: 20 секунд

Формат входных данных: Во входном файле записано одно натуральное число N (1 <= N <= 2в26степени).

Формат выходных данных: Запишите в выходной файл символ, стоящий в позиции N получившейся последовательности.

Пример файлов входных и выходных данных:
INPUT.TXT OUTPUT.TXT
4 w

ИСХОДНЫЙ КОД:

const
maxn=26;
var
a:array[1..maxn]of longint;
k,n:longint;
i:integer;
begin
readln(n);
a[1]:=1;
for i:=1 to maxn-1 do
a[i+1]:=1+2*a[i];
for k:=26 downto 1 do
begin
if n=1
then
begin
write(chr(ord('a') + k - 1));
break
end
else
if n>a[k-1]+1
then
n:=n-1-a[k-1]
else n:=n-1;
end;
end.

------------------------------------------------------
2) Криптограмма

Текст закодирован с помощью таблицы, в которой цифрой 0 обозначено отверстие. Для того, чтобы раскодировать сообщение, нужно наложить сетку на текст так, чтобы в отверстия были видны символы закодированного текста. Сначала на таблицу букв накладывается исходная сетка и читается набор символов, затем сетка поворачивается по часовой стрелке на 90 градусов и читается следующий набор символов и так далее до полного оборота сетки на 360 градусов. Напишите программу SHIFR, которая с помощью сетки расшифровывает закодированный текст.

Входные данные:

Текст и решетка задаются в виде квадратных таблиц в текстовых файлах SHIFR1.DAT и SHIFR2.DAT соответственно, каждая строка таблицы размещается в отдельной строке файла, элементы вводятся через пробел.

Выходных данные:

Файл SHIFR.SOL содержит строку расшифрованного текста.

Пример входных данных:

SHIFR1.DAT

ж б в у н р

и ы н е я е

к х м б р р

о г у р л к

т и р я о о

с е н ю е т

SHIFR2.DAT

1 0 1 0 1 0

1 1 1 1 0 1

1 1 0 1 1 1

1 0 1 1 0 1

1 1 1 1 1 0

1 1 1 0 1 1



Пример выходных данных:

SHIFR1.SOL
бурямглоюнебокроетвихриснежныекрутя

ИСХОДНЫЙ КОД:

program kodik;
uses crt;
const
n = 8;
type
sType = string[n];
matrix = array[1 .. n] of sType;
const
mask: matrix = (
'x...x...',
'.x...x..',
'..x...x.',
'...x...x',
'..x...x.',
'...x....',
'x...x..x',
'..x..x..'
);

st: string =
'сколькоцелыхчетырёхзначныхчиселможнопол учитьизцифрнольодиндватри';

var
encoded: matrix;
masked: matrix;

{ Процедура поворота матрицы }
procedure T(var res: matrix);
var
i, j: integer;
mx: matrix;
begin
mx := res;
for i := 1 to n do
for j := 1 to n do
res[j, n - i + 1] := mx[i, j];
end;

{ Зашифровка текста }
procedure EncodeText(const s: string;
const mask: matrix; var mx: matrix);
var
i, j, count: integer;
masked: matrix;
begin
{ Заполнение матрицы mx строками по N пробелов }
for i := 1 to n do
for j := 1 to n do mx[i] := mx[i] + #32;

masked := mask;
count := 1;
while count <= length(s) do begin

for i := 1 to n do
for j := 1 to n do
if masked[i, j] = 'x' then begin
mx[i][j] := s[count];
inc(count)
end;
T(masked);

end;
end;

{ Расшифровка текста }
function DecodeText(const mask, encoded: matrix): string;
var
s: string;
i, j, count: integer;
masked: matrix;
begin

masked := mask;
count := 0; s := '';
while length(s) < n*n do begin
for i := 1 to n do
for j := 1 to n do
if masked[i, j] = 'x' then s := s + encoded[i, j];
T(masked);
end;
DecodeText := s;

end;
var
i: integer;
begin

EncodeText(st, mask, encoded);

writeln('encoded text: ');
for i := 1 to n do begin
writeln(encoded[i]);
end;

writeln(DecodeText(mask, encoded));

end.



ПОМОГИТЕ ПОЖАЛУЙСТА!!!
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.12.2008, 08:03
Ответы с готовыми решениями:

Написать псевдокод к программам
Помогите написать псевдокод к программам: 1) Подсчет чисел Фибоначчи рекурсией и циклом: #include &lt;iostream&gt; #include...

Написать комментарии к 2-ум программам
Не могу разобраться с программами, писал не сам, очень не хватает комментариев, буду очень благодарен за их написание, заранее спасибо ...

Написать комментарии к 2 программам
вычислить сумму ряда, используя while и do-while. Слагаемые, по модулю меньше заданного вещественного числа epsilon , не учитывать....

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.12.2008, 08:03
Помогаю со студенческими работами здесь

Коментарий
Прокоментируйте, пожалуйста, программу с использованием объектов (наследование), останавливаясь лишь на важных аспектах наследования....

коментарий к коду..
Помогите пожалуйста у меня есть программа вот она: #include &lt;iostream&gt; int rev(int rhs) { int res = 0; while(rhs) { res...

Многострочный коментарий
У меня сейчас примерно так: $cText = nl2br($_POST); if (empty($cText)) die(&quot;Вы забыли написать коментарий!&quot;); Но проблема в том...

коментарий к коду
помогите пожалуйста закоментить программу

коментарий к joomla 3.0
Добрый день! Подскажите пожалуйста как добавить Комментарии к материалам для joomla 3.0 если такой компанент?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru