IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Задача с процедурами. На экзамен., Завтра экзамен, помогите, пожалуйста (срочно)
сообщение
Сообщение #1


Гость






Текст задачи (решение нужно, конечно, в Паскале):
Составить функцию, результатом которой является истинное значение, если символ, заданный при обращении к процедуре, - буква, и ложное значение в противном случае.
P. S. Завтра экзамен, нужно срочно найти решение. Если нужно, постараюсь отблагодарить в Вмз/Вмр.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


начни со справки ТП по case...

Добавлено через 14 мин.
//сама функция
function IfLetter(const c:char):boolean;
{заголовок функции IfLetter-название, c- символ, который она получает
(const указывает на то, что мы не собираемся его менять)}
begin
Case UpCase( с ) of //проверяем значение приображенного символа
'A'..'Z': IfLetter:= true //сюда надо добавить русские буквы
else IfLetter:=false;
end;
end;
// пример вызова
var
ch:char;
begin
readLn(ch);
if IfLetter (ch)=true then writeLn('1')
else writeLn('0');
readln;
read;
end.


Сообщение отредактировано: compiler -


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Case не нужен... Достаточно использовать множества:

function f(ch: char): boolean;
begin
f := ch in ['a' .. 'z', 'а' .. 'п', 'р' .. 'я'];
end;

Можно добавить и другие символы при необходимости...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


Цитата(volvo @ 15.06.2007 20:18) *
'а' .. 'п', 'р' .. 'я'
уже встречал, но так и не понял зачем разбивать алфавит на части...


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Цитата
так и не понял зачем разбивать алфавит на части...
Поиск рулит... Я объяснял уже, что между 'п' и 'р' есть еще символы...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


Цитата(volvo @ 15.06.2007 20:39) *
Поиск рулит...
славами ключевыми не поделишься?


Добавлено через 4 мин.
там псевдо графика, и зачем ее туда впихнули smile.gif
но врядли ее кто то введет lol.gif (по край ней мере с клавиатуры )

Сообщение отредактировано: compiler -


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






А кто тебе сказал, что я буду передавать f('б') ? Может, я напишу: f(#192)?

Ошибки, знаешь ли, лучше не допускать сразу, чем потом искать и отлаживать... blum.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


Цитата(volvo @ 15.06.2007 20:54) *
Ошибки, знаешь ли, лучше не допускать сразу, чем потом искать и отлаживать... blum.gif
ну да... ты прав...

а чем руководствывались люди выбрав такой распорядок символов?


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гость






Тут опять же вопрос кодировки. Вот, например, в кодировке MKKTT (не альтернативный вариант) и MIC все символы кириллицы идут подряд, в кодировке ЕСТЕЛ (Mazovia) символы 'а'-'я' вообще расположены вразнобой, а чтобы заставить функцию корректно работать на машине с кодировкой КОИ-8 вообще надо делать так:

function f(ch: char): boolean;
begin
f := ch in ['a' .. 'z', 'ю' .. 'ъ'];
end;
blink.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Человек
*****

Группа: Пользователи
Сообщений: 1 050
Пол: Мужской
Реальное имя: Станислав

Репутация: -  3  +


Цитата(volvo @ 15.06.2007 21:19) *
а чтобы заставить функцию корректно работать на машине с кодировкой КОИ-8 вообще надо делать так... blink.gif
не ну в серии кодировок КОИ - 8 , ясно хоть зачем и почему делалось имено так yes2.gif ...

и по KOI8-R(имено R, ведь в других KOI8 могут быть еще буквы которые в R - псевдографика) наверно чтобы заставить функцию корректно надо по <<Ъ>>,вместо<<ъ>> иначе большие русские буквы будут не буквами lol.gif

Сообщение отредактировано: compiler -


--------------------
Спасибо!
Удачи!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 14:13
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name