Чтобы было удобнее, располагаем перед собой алфавит:
и действуем по указанному правилу: берём букву из слова и по алфавиту смотрим, какая буква идёт третьей после нашей буквы если упёрлись в конец алфавита- продолжаем счёт с начала алфавита (движемся по кругу) чтобы это было удобнее, я запишу алфавит сразу с добавленными буквами в его конце:
такое действие выполняем для каждой буквы в слове
Итак, шифруем слова: ИНФОРМАЦИЯ => ЛРЧСУПГЩЛВ КОМПЬЮТЕР => НСПТБХЗУ ЧЕЛОВЕК => ЪЗОСЕЗН
А вообще, для человека такое преобразование не очень удобно делать, поэтому для большего объёма текста проще было бы составить программу, или таблицу в Экселе, которая бы выполняла нужные действия с текстом.
uses crt,graph; type mas=array[1..500] of Pointtype; var gd,gm,i,j,k,n:integer; a:mas; begin randomize; gd:=0; initgraph(gd,gm,''); for i:=1 to 500 do begin a[i].x:=random(getmaxX); a[i].y:=random(getmaxY); circle(a[i].x,a[i].y,2); end; k:=0;n:=0; repeat k:=k+1; delay(200); setcolor(0); for i:=1 to 500 do circle(a[i].x,a[i].y,2); for i:=1 to 500 do begin if a[i].y>getmaxY-n-10 then a[i].y:=1 else a[i].y:=a[i].y+3; if a[i].x<0 then a[i].x:=getmaxX else a[i].x:=a[i].x-1; end; setcolor(15); for i:=1 to 500 do circle(a[i].x,a[i].y,2); if k mod 20=0 then begin n:=n+1; line(0,getmaxY-n,getmaxX,getmaxY-n); end; until keypressed; readln end.