Форум программистов, компьютерный форум, киберфорум
Prolog
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 24.11.2015
Сообщений: 45
1

Вывести строку, если в ней только латинские буквы

02.05.2018, 03:27. Показов 1751. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток. Написал программу, которая предикат который считает количество латинских символов в строке. Вот мой код:
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
predicates
nondeterm check(char).
inc(char,integer).
nondeterm char_count(string,integer).
 
clauses
check(X):-char_int(X,Code), char_int('A',CodeA), char_int('Z',CodeZ),
    Code>=CodeA, Code<=CodeZ.
check(X):-char_int(X,Code), char_int('a',CodeA), char_int('z',CodeZ),
    Code>=CodeA, Code<=CodeZ.
 
inc(Char,1):-check(Char),!.
inc(_,0).
 
char_count("",0). 
char_count(S,N) :-
              frontchar(S,Char,S1),char_count(S1,N1),
              inc(Char,Inc),N=N1+Inc. 
              
goal
char_count("B45X2FG0OP",N), write("Symbol count = ",N).
Помогите пожалуйста, исправить так, чтобы если символы все латинские выводилась строка, если есть цифры например, то выводилось количество лат.символов
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.05.2018, 03:27
Ответы с готовыми решениями:

Как вывести в консоли в строку только латинские буквы через пробел
Добрые день, подскажите пожалуйста как в консоли вывести только латинские буквы через пробел ...

Дана строка, содержащая цифры и строчные латинские буквы. Если буквы в строке упорядочены по алфавиту, то вывести 0; в п
Дана строка, содержащая цифры и строчные латинские буквы. Если буквы в строке упорядочены по...

Превратить строку так, чтобы сначала в ней были напечатаны только буквы, а потом только цифры
Превратить строку так, чтобы сначала в ней были напечатаны только буквы, а потом только цифры, не...

Преобразовать строку таким образом, чтобы сначала в ней были напечатаны только буквы, а потом только цифры
Задана строка, состоящая из символов. Символы объединяются в слова. Слова друг от друга отделяются...

2
1 / 1 / 0
Регистрация: 24.11.2015
Сообщений: 45
02.05.2018, 10:48  [ТС] 2
Catstail, добрый день! вот есть программа на прологе, подсчитывающая количество латинских символов и выводит их количество.
Prolog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
predicates
nondeterm check(char).
inc(char,integer).
nondeterm char_count(string,integer).
 
clauses
check(X):-char_int(X,Code), char_int('A',CodeA), char_int('Z',CodeZ),
    Code>=CodeA, Code<=CodeZ.
check(X):-char_int(X,Code), char_int('a',CodeA), char_int('z',CodeZ),
    Code>=CodeA, Code<=CodeZ.
 
inc(Char,1):-check(Char),!.
inc(_,0).
 
char_count("",0). 
char_count(S,N) :-
              frontchar(S,Char,S1),char_count(S1,N1),
              inc(Char,Inc),N=N1+Inc. 
              
goal
char_count("B45X2FG0OP",N), write("Symbol count = ",N).
Очень прошу Вас изменить пожалуйста, программу так чтобы если вся строка латинская то выводилась на экран, если нет то кол/лат символов
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
36601 / 20330 / 4220
Регистрация: 12.02.2012
Сообщений: 33,641
Записей в блоге: 13
02.05.2018, 15:13 3
Prolog
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
predicates
nondeterm check(char).
inc(char,integer).
nondeterm char_count(string,integer).
task(string)
length(string,integer)
 
clauses
check(X):-char_int(X,Code), char_int('A',CodeA), char_int('Z',CodeZ),
    Code>=CodeA, Code<=CodeZ.
check(X):-char_int(X,Code), char_int('a',CodeA), char_int('z',CodeZ),
    Code>=CodeA, Code<=CodeZ.
 
length("",0).
length(S,N) :- frontchar(S,_,RS), length(RS,N1), N=N1+1.
 
inc(Char,1):-check(Char),!.
inc(_,0).
 
char_count("",0). 
char_count(S,N) :-
              frontchar(S,Char,S1),char_count(S1,N1),
              inc(Char,Inc),N=N1+Inc. 
 
task(S) :- char_count(S,N), length(S,L), N=L, write(S).
task(S) :- char_count(S,N), length(S,L), N<L, write("Symbol count =",N). 
 
              
goal
task("B45X2FG0OP"),nl.
0
02.05.2018, 15:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.05.2018, 15:13
Помогаю со студенческими работами здесь

Строки (вывести все слова, содержащие только латинские буквы)
Здравствуйте, нужно вывести все слова, содержащие только латинские буквы. Задаётся...

Изменить строку если в ней есть большие буквы
Здравствуйте все. Вот собственно и сам текст задач: Дана строка. Если в ней нет больших букв ,...

Дано текст.Вывести в алфавитном порядке все латинские буквы,которые повторяются только 1 раз
Дано текст.Вывести в алфавитном порядке все латинские буквы,которые повторяются только 1 раз! ...

Вывести на экран номера тех столбцов матрицы, в которых хранятся только малые латинские буквы
Здравствуйте, решал задачку: Дан двумерный массив N*M, заполненный символами. Вывести на экран...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru