Форум программистов и сисадминов CyberForum.ru
Вернуться   Форум программистов и сисадминов CyberForum.ru > Форум Форум программистов > Форум Pascal (Паскаль)
Восстановить пароль Регистрация

Ответ Создать новую тему
 
Старый 03.08.2010, 12:28   #1
Frok
Новичок
 
Регистрация: 03.08.2010
Сообщений: 15
Репутация: 0 (0)
Трансляция алфавитных символов в аналоги. / Pascal (Паскаль)

На вход подаётся произвольный "текст" (набор строк символов), зашифровать текст по следующей схеме: транслируем каждый алфавитный символ в его аналог(русский в английский и наоборот). Некоторые символы могут быть заменены на комбинацию. Знаки препинания и пробелы не меняем. Пример: "Маша ела кашу", результат="Masha ela kashu".
Вот такое вот задание, не прошу когото делать мучиться, подскажите хотябы название тем паскаля(7.0) к которым эта программа относится, какие темы глав в книжках почитать поподробнее, чтобы сделать это.
Заранее спасибо.
Старый 03.08.2010, 12:57   #2
Puporev
Модератор
 
Аватар для Puporev
 
Регистрация: 18.05.2008
Сообщений: 62,107
Репутация: 40863 (29410)
Лучшие ответы: 1137
Цитата Сообщение от Frok Посмотреть сообщение
название тем паскаля(7.0) к которым эта программа относится
Темы однозначно Строки или работа со строками, а также строковые массивы. В массивах хранить сами строки(текст), а также создать 2 массива-константы из строк-заменителей. В этих массивах некоторые элементы будут только из одного символа.
А вообще поискать темы и справочные материалы по транслитерации, были такие темы на форуме.
Другие темы раздела Форум программистов Pascal. Программирование с использованием языка Pascal (Паскаль). Помощь в решении задач.
Pascal заполнить и удалить стек
Создать стек, заполнить числами 1,2,...,n. Посмотреть его содержимое, удалить стек. программу написал но как то неправлильно, кто может помогите исправить program jkl; type iii=^oo; oo=record num:integer; p:iii; end;
Уплотнить в 2 раза таблично заданную Pascal
Уплотнить в 2 раза таблично заданную функцию с помощью интерполяционного многочлена Ньютона, первой степени, по двум узлам. Входной фаил n- размерность таблицы (0..N) х- вектор значений аргумента, в порядке возрастания у=10х у-вектор значения функции Выходной фаил уплотненная таблица IER:=1...
Старый 03.08.2010, 20:56  [ТС]   #3
Frok
Новичок
 
Регистрация: 03.08.2010
Сообщений: 15
Репутация: 0 (0)
Спасибо, почитаю, может что получится.
Старый 04.08.2010, 00:38   #4
Mawrat
Форумчанин
 
Регистрация: 19.09.2009
Сообщений: 7,332
Репутация: 11443 (4828)
Лучшие ответы: 178
Frok, функцию транслитерации можешь взять из этого поста.
В Pascal она пойдёт с минимальными изменениями:
Код Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
function Transliterate(const s: string) : string;
var
 i: integer;
 t: string;
begin
 t := ''; 
 for i:=1 to Length(s) do
  begin
   case s[i] of
        'a': t:=t+'a';
        'б': t:=t+'b';
        'в': t:=t+'v';
        'г': t:=t+'g';
        'д': t:=t+'d';
        'е': t:=t+'e';
        'ё': t:=t+'ye';
        'ж': t:=t+'zh';
        'з': t:=t+'z';
        'и': t:=t+'i';
        'ё': t:=t+'y';
        'к': t:=t+'k';
        'л': t:=t+'l';
        'м': t:=t+'m';
        'н': t:=t+'n';
        'о': t:=t+'o';
        'п': t:=t+'p';
        'р': t:=t+'r';
        'с': t:=t+'s';
        'т': t:=t+'t';
        'у': t:=t+'u';
        'ф': t:=t+'f';
        'х': t:=t+'ch';
        'ц': t:=t+'z';
        'ч': t:=t+'ch';
        'ш': t:=t+'sh';
        'щ': t:=t+'ch';
        'ъ': t:=t+'''';
        'ы': t:=t+'y';
        'ь': t:=t+'''';
        'э': t:=t+'e';
        'ю': t:=t+'yu';
        'я': t:=t+'ya';
        'А': T:=T+'A';
        'Б': T:=T+'B';
        'В': T:=T+'V';
        'Г': T:=T+'G';
        'Д': T:=T+'D';
        'Е': T:=T+'E';
        'Ё': T:=T+'Ye';
        'Д': T:=T+'Zh';
        'З': T:=T+'Z';
        'И': T:=T+'I';
        'Й': T:=T+'Y';
        'К': T:=T+'K';
        'Л': T:=T+'L';
        'М': T:=T+'M';
        'Н': T:=T+'N';
        'О': T:=T+'O';
        'П': T:=T+'P';
        'Р': T:=T+'R';
        'С': T:=T+'S';
        'Т': T:=T+'T';
        'У': T:=T+'U';
        'Ф': T:=T+'F';
        'Х': T:=T+'Ch';
        'Ц': T:=T+'Z';
        'Ч': T:=T+'Ch';
        'Ш': T:=T+'Sh';
        'Щ': T:=T+'Ch';
        'Ъ': T:=T+'''';
        'Ы': T:=T+'Y';
        'Ь': T:=T+'''';
        'Э': T:=T+'E';
        'Ю': T:=T+'Yu';
        'Я': T:=T+'Ya';
      else t:=t+s[i];
   end;
  end;
 Transliterate := t;
end;
Старый 04.08.2010, 13:02  [ТС]   #5
Frok
Новичок
 
Регистрация: 03.08.2010
Сообщений: 15
Репутация: 0 (0)
Спасибо за помощь
Старый 04.08.2010, 13:02
Yandex
Объявления
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему

Похожие темы
Тема Автор
Turbo Pascal Текстовые файлы. Подсчитать частоту алфавитных символов в текстовом файле
Помогите, пожалуйста: Напишите программу, которая считает частоту алфавитных символов в текстовом файле, путь к которому задается пользователем. При этом большие и маленькие буквы считаются вместе. Т.е. если пользователь ввел на вход r.txt, а в файле с этим именем содержится текст "aaaBBB ffD,...
zaiz97
Assembler, MASM, TASM Трансляция
Я не перестаю удивляться, чем дальше в лес тем больше дров. Скачал видео уроки по ассемблеру и там есть уже готовые примеры остается только нажать два раза на батник ну вот какое дело как только поставил masm и не практиковался программами которые в моём учебнике я много обсуждал их на этом...
serrggeee
C# для начинающих Трансляция
Здравствуйте, помогите пожалуйста переписать данный код на язык C#. Они конечно похожи, но все таки я синтаксиса не знаю... Спасибо. #include <iostream> #include <clocale> #include <conio.h> #include <io.h> #include <stdio.h> #include <string.h> #include <stdlib.h>
TrueSize
C# .NET Блокировка алфавитных клавиш
Помогите за блокировать буквенную раскладку клавиатуры программно, всех кроме цифр
SpiritAT
Pascal (Паскаль) Если число цифровых элементов больше,чем алфавитных,то получить новый массив,сцепив попарно цифровые и числовые элементы символом "&"
В массиве А содержатся элементы с только цифровой или только алфавитной информацией.Длинна элемента-6 символов.Если число цифровых элементов больше,чем алфавитных,то получить новый массив,сцепив попарно цифровые и числовые элементы символом "&" . Если меньше,то сцепление произвести наоборот. Из...
Sen2ry
Опции темы

Текущее время: 13:28. Часовой пояс GMT +4.

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.