Форум программистов, компьютерный форум, киберфорум
Наши страницы
QBasic
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
Masomunamos
0 / 0 / 0
Регистрация: 14.02.2013
Сообщений: 3
1

Программа кодирования текста методом замены слов

14.02.2013, 22:33. Просмотров 1250. Ответов 4
Метки нет (Все метки)

Доброго времени суток.Поскольку с бэйсиком знаком лишь поверхностно то,прошу Вашей помощи в написании программы для кодирования/шифровки текста методом замены одного слова другим.
Позвольте примерно описать логику работы.Берётся текст из файла "А.тхт",слова из него сравнимаются со словами соответствиями записанными в файле "В.тхт",при совпадении происходит замена,в противном случае пропускается без изменений,результат записывается в файл "С.тхт".
Надеюсь на Вашу помощь,благодарю.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.02.2013, 22:33
Ответы с готовыми решениями:

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

программа кодирования текста
Всем добрый день :) Есть такая программа,по кодированию текста в файле, с помощью ключа,который...

Шифрование текста методом замены
Добрых времени суток. Делаю шифрование текста который вводится в текст бокс. Если убрать цикл...

Шифрования текста методом замены
Мне надо, чтобы эта программа, шифровала текст, на русском или английском языке (для каждого есть...

Шифрование текста методом замены букв
Ребята, помогите. Завтра сдавать отчет, а я похерил исходники. Осталась сама программа, а...

4
Quiet Snow
4480 / 1334 / 378
Регистрация: 25.04.2010
Сообщений: 3,492
15.02.2013, 01:23 2
кодирования/шифровки текста методом замены одного слова другим
ok
Прога эта выполняет 3 функции:
  • Позволяет создать файлы "A.TXT" и "B.TXT"
  • Зашифровать то что в "A.TXT" используя "B.TXT" в файл "C.TXT вашим методом.
  • Дешифровать "C.TXT" вашим методом и отобразить результат на экран."
Во вложении внизу сообщения прога и тестовые данные.

QBasic/QuickBASIC
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
DO
CLS
 LOCATE 5
 PRINT "Deistvie:"
 
 DO: Kb$ = INKEY$
 IF Kb$ = CHR$(0) + "H" AND Vib > 0 THEN Vib = Vib - 1
 IF Kb$ = CHR$(0) + "P" AND Vib < 3 THEN Vib = Vib + 1
   IF Vib = 0 THEN COLOR 15, 1 ELSE COLOR 7, 0
   LOCATE 7, 5: PRINT "- Vvesti dannye v faily A.TXT i B.TXT"
   IF Vib = 1 THEN COLOR 15, 1 ELSE COLOR 7, 0
   LOCATE 8, 5: PRINT "- Vipolnit shifrovku v C.TXT"
   IF Vib = 2 THEN COLOR 15, 1 ELSE COLOR 7, 0
   LOCATE 9, 5: PRINT "- Vipolnit deshifrovku faila C.TXT"
   IF Vib = 3 THEN COLOR 15, 1 ELSE COLOR 7, 0
   LOCATE 10, 5: PRINT "- Vihod"
 LOOP UNTIL Kb$ = CHR$(13)
 
SELECT CASE Vib
   CASE 0
OPEN "a.txt" FOR OUTPUT AS #1
OPEN "b.txt" FOR OUTPUT AS #2
 CLS
 INPUT "Vvedi predlojenye: ", p$
 PRINT #1, p$
 INPUT "Vvedi kolichestvo slov \ zamen: ", n%
 PRINT #2, n%
 FOR i% = 1 TO n%
    PRINT "  Vvedi slovo N" + CHR$(248); i%;
    INPUT ": ", sl$
    INPUT "  Vvedi zamenu: ", zm$
    PRINT #2, sl$
    PRINT #2, zm$
 NEXT
CLOSE
PRINT : PRINT "Sohraneno v A.TXT i B.TXT !!!"
PRINT "Lubaya knopka - obratno v menu..."
WHILE INKEY$ = "": WEND
   CASE 1
OPEN "a.txt" FOR INPUT AS #1
OPEN "b.txt" FOR INPUT AS #2
OPEN "c.txt" FOR OUTPUT AS #3
  CLS
  INPUT #1, p$
  INPUT #2, n%
  REDIM slv$(n%)
  FOR i% = 1 TO n%
     INPUT #2, slv$(i%)
     INPUT #2, zam$(i%)
  NEXT
  o$ = p$
  FOR i% = 1 TO n%
    k% = 1
    DO: k% = INSTR(k%, p$, slv$(i%))
      IF k% = 0 THEN
         EXIT DO
      ELSE
         Lch$ = LEFT$(p$, k% - 1)
         Rch$ = RIGHT$(p$, LEN(p$) - (k% - 1) - LEN(slv$(i%)))
         p$ = Lch$ + zam$(i%) + Rch$
      END IF
      k% = k% + 1
    LOOP UNTIL k% = 0
  NEXT
PRINT "Ishodnoe predlojenye:"; CHR$(13); "  "; o$
PRINT "Shifrovannoe predlojenye:"; CHR$(13); "  "; p$
PRINT #3, p$
CLOSE
PRINT : PRINT "Sohraneno v C.TXT !!!"
PRINT "Lubaya knopka - obratno v menu..."
WHILE INKEY$ = "": WEND
   CASE 2
OPEN "c.txt" FOR INPUT AS #1
OPEN "b.txt" FOR INPUT AS #2
  INPUT #1, p$
  INPUT #2, n%
  REDIM slv$(n%)
  FOR i% = 1 TO n%
     INPUT #2, slv$(i%), zam$(i%)
  NEXT
  FOR i% = 1 TO n%
    k% = 1
    DO: k% = INSTR(k%, p$, zam$(i%))
      IF k% = 0 THEN
         EXIT DO
      ELSE
         Lch$ = LEFT$(p$, k% - 1)
         Rch$ = RIGHT$(p$, LEN(p$) - (k% - 1) - LEN(zam$(i%)))
         p$ = Lch$ + slv$(i%) + Rch$
      END IF
      k% = k% + 1
    LOOP UNTIL k% = 0
  NEXT
CLOSE
PRINT : PRINT "Rasshifrovka:"; CHR$(13); "  "; p$; CHR$(13)
PRINT "Lubaya knopka - obratno v menu..."
WHILE INKEY$ = "": WEND
   CASE ELSE: COLOR 7, 0: CLOSE : END
END SELECT
LOOP
1
Вложения
Тип файла: zip SHIFR.zip (1.4 Кб, 11 просмотров)
Masomunamos
0 / 0 / 0
Регистрация: 14.02.2013
Сообщений: 3
15.02.2013, 23:18  [ТС] 3
Премного Вам благодарен.

Добавлено через 9 часов 0 минут
Позвольте уточнить небольшой нюанс.Программа прекращает кодирование сталкиваясь в тексте с запятой,кодируется и сохраняется текст только до запятой.Внести запятую в а.тхт через программу не получается,запрашивается новый ввод.
Почему так происходит?
0
Quiet Snow
4480 / 1334 / 378
Регистрация: 25.04.2010
Сообщений: 3,492
16.02.2013, 06:58 4
Поправил.
QBasic/QuickBASIC
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
DO
CLS
 LOCATE 5
 PRINT "Deistvie:"
 
 DO: Kb$ = INKEY$
 IF Kb$ = CHR$(0) + "H" AND Vib > 0 THEN Vib = Vib - 1
 IF Kb$ = CHR$(0) + "P" AND Vib < 3 THEN Vib = Vib + 1
   IF Vib = 0 THEN COLOR 15, 1 ELSE COLOR 7, 0
   LOCATE 7, 5: PRINT "- Vvesti dannye v faily A.TXT i B.TXT"
   IF Vib = 1 THEN COLOR 15, 1 ELSE COLOR 7, 0
   LOCATE 8, 5: PRINT "- Vipolnit shifrovku v C.TXT"
   IF Vib = 2 THEN COLOR 15, 1 ELSE COLOR 7, 0
   LOCATE 9, 5: PRINT "- Vipolnit deshifrovku faila C.TXT"
   IF Vib = 3 THEN COLOR 15, 1 ELSE COLOR 7, 0
   LOCATE 10, 5: PRINT "- Vihod"
 LOOP UNTIL Kb$ = CHR$(13)
 
SELECT CASE Vib
   CASE 0
OPEN "a.txt" FOR OUTPUT AS #1
OPEN "b.txt" FOR OUTPUT AS #2
 CLS
 LINE INPUT "Vvedi predlojenye: ", p$
 PRINT #1, p$
 INPUT "Vvedi kolichestvo slov \ zamen: ", n%
 PRINT #2, n%
 FOR i% = 1 TO n%
    PRINT "  Vvedi slovo N" + CHR$(248); i%;
    INPUT ": ", sl$
    INPUT "  Vvedi zamenu: ", zm$
    PRINT #2, sl$
    PRINT #2, zm$
 NEXT
CLOSE
PRINT : PRINT "Sohraneno v A.TXT i B.TXT !!!"
PRINT "Lubaya knopka - obratno v menu..."
WHILE INKEY$ = "": WEND
   CASE 1
OPEN "a.txt" FOR INPUT AS #1
OPEN "b.txt" FOR INPUT AS #2
OPEN "c.txt" FOR OUTPUT AS #3
  CLS
  LINE INPUT #1, p$
  INPUT #2, n%
  REDIM slv$(n%)
  FOR i% = 1 TO n%
     INPUT #2, slv$(i%)
     INPUT #2, zam$(i%)
  NEXT
  o$ = p$
  FOR i% = 1 TO n%
    k% = 1
    DO: k% = INSTR(k%, p$, slv$(i%))
      IF k% = 0 THEN
         EXIT DO
      ELSE
         Lch$ = LEFT$(p$, k% - 1)
         Rch$ = RIGHT$(p$, LEN(p$) - (k% - 1) - LEN(slv$(i%)))
         p$ = Lch$ + zam$(i%) + Rch$
      END IF
      k% = k% + 1
    LOOP
  NEXT
PRINT "Ishodnoe predlojenye:"; CHR$(13); "  "; o$
PRINT "Shifrovannoe predlojenye:"; CHR$(13); "  "; p$
PRINT #3, p$
CLOSE
PRINT : PRINT "Sohraneno v C.TXT !!!"
PRINT "Lubaya knopka - obratno v menu..."
WHILE INKEY$ = "": WEND
   CASE 2
OPEN "c.txt" FOR INPUT AS #1
OPEN "b.txt" FOR INPUT AS #2
  LINE INPUT #1, p$
  INPUT #2, n%
  REDIM slv$(n%)
  FOR i% = 1 TO n%
     INPUT #2, slv$(i%), zam$(i%)
  NEXT
  FOR i% = 1 TO n%
    k% = 1
    DO: k% = INSTR(k%, p$, zam$(i%))
      IF k% = 0 THEN
         EXIT DO
      ELSE
         Lch$ = LEFT$(p$, k% - 1)
         Rch$ = RIGHT$(p$, LEN(p$) - (k% - 1) - LEN(zam$(i%)))
         p$ = Lch$ + slv$(i%) + Rch$
      END IF
      k% = k% + 1
    LOOP
  NEXT
CLOSE
PRINT : PRINT "Rasshifrovka:"; CHR$(13); "  "; p$; CHR$(13)
PRINT "Lubaya knopka - obratno v menu..."
WHILE INKEY$ = "": WEND
   CASE ELSE: COLOR 7, 0: CLOSE : END
END SELECT
LOOP
Почему так происходит?
Потому что есть просто INPUT и есть LINE INPUT, второй читает строку полностью.
INPUT видя запятую, думает что вводим 2 переменные, а ан самом деле одну, из-за этого и
просит повторить ввод заново, т.е. из-за несоответствия кол-ва переменных, введённым данным.
1
Masomunamos
0 / 0 / 0
Регистрация: 14.02.2013
Сообщений: 3
16.02.2013, 10:59  [ТС] 5
Благодарю.
0
16.02.2013, 10:59
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.02.2013, 10:59

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Шифрование текста методом табличной замены
Способ шифрования текста состоит в табличной замене каждого символа другим символом. Выбрать ...

Шифрование текста методом замены букв
Помогите написать код: при нажатии на кнопку в окне memo должны меняться символы, например: из...

Шифрование текста методом табличной замены
Один из простейших способов шифровки текста состоит в табличной замене каждого символа другим...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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