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

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

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

> Рекурсивная функция Digits без параметров, Задача на паскале (1-й курс)
Andrey-irk
сообщение 6.06.2006 14:54
Сообщение #1


Гость






Здравствуйте. Помогите пожалуйста решить задачу. Попалась на экзамене, я не сделал! Надо сделать до завтра или ...(((

Задача Рекурсия.
Описать рекурсивную функцию Digits без параметров, которая подсчитывает количество четных цифр в тексте и выводит на экран латинские буквы из текста в порядке, обратном порядку ввода. Длина текста не известна, за текстом следует символ &-признак конца.

И ещё одна, ОЧЕНЬ простая задача. Решить не могу по глупости своей)))

Задача.
В текстовом файле хранятся строки. Найти самую длинную и самую короткую строку.

Заранее спасибо! Андрей.
ЗЫ: Если можно, то, пожалуйста, добавьте комментарии!)))
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 6)
volvo
сообщение 6.06.2006 15:52
Сообщение #2


Гость






Цитата
выводит на экран латинские буквы из текста в порядке, обратном порядку ввода
Если функция без параметров, то как она получает введенный текст? Через глобальную переменную? Или ввод происходит внутри самой функции?
 К началу страницы 
+ Ответить 
Гость
сообщение 6.06.2006 16:15
Сообщение #3


Гость






Если честно, то я этого не знаю))) Вообще я рекурсию как-то не особо понимаю! Я написал задание, которое написано в билете слово в слово! Текст скорее всего должен содержаться в отдельном файле .txt
 К началу страницы 
+ Ответить 
volvo
сообщение 6.06.2006 16:43
Сообщение #4


Гость






Ну, я тебе уже написал, вообще-то... Ну ладно, пускай здесь тоже будет:
var
f: text;

function Digits: integer;
var ch: char;
begin
read(f, ch);
if ch <> '$' then
digits := digits + byte(ch in ['1', '3', '5', '7', '9'])
else begin
digits := 0; exit
end;

if upcase(ch) in ['A' .. 'Z'] then write(ch);
end;

var n: integer;
begin
assign(f, 'in.txt'); reset(f);
n := Digits;
writeln;
writeln('count = ', n);
close(f);
end.


Ну, да... Я просто автоматически поставил НЕчетные числа, измени их на четные, будет работать правильно... И символ, завершающий текст тоже поменяй на '&'

Сообщение отредактировано: volvo - 3.11.2006 20:32
 К началу страницы 
+ Ответить 
Andrey-irk
сообщение 6.06.2006 17:09
Сообщение #5


Гость






Я что-то не понял, что эта программа выводит на печать?
count = 1 ???
Как должен выглядеть текстовый файл? Я набрал так: 1 4 5 2 A S 5 G 6 &
 К началу страницы 
+ Ответить 
Гость
сообщение 6.06.2006 17:19
Сообщение #6


Гость






ок. Спасибо! С этой задачей решено))) СПАСИБО!!!
А вторую не поможете сделать? Она простая, я это знаю, но сделать не получается))!

В текстовом файле хранятся строки:
Зима
Крестьянин
Торжествуя
...
...
Найти самую короткую и самую длинную строки.
 К началу страницы 
+ Ответить 
Andrey-irk
сообщение 6.06.2006 18:51
Сообщение #7


Гость






Спасибо, эту тему можно закрывать!
 К началу страницы 
+ Ответить 

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

 



- Текстовая версия 18.07.2025 17:11
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"