Форум по Delphi программированию

 



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 01.04.2021, 20:13
Dream32 Dream32 вне форума
Прохожий
 
Регистрация: 01.04.2021
Сообщения: 9
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Программы на Delphi

Программы, фрагмент программ на Delphi
Изображения
Тип файла: png программы123.png (22.8 Кбайт, 0 просмотров)
Ответить с цитированием
  #2  
Старый 01.04.2021, 20:24
Vladimr Vladimr вне форума
Прохожий
 
Регистрация: 17.03.2021
Сообщения: 22
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Решение задачи 1.

Код:
var s:string; //текст с предложением
a:integer; //кол-во восклицательных предложений
i:integer; //для цикла
begin
s:=s+' '; //для того что бы считало последнее предложение
//любым способом передаём выше предложение в переменную s
a:=0; //первоначальное значение кол-ва "?"
for I := 1 to length(s) do if (s[i]='?')and(s[i]=' ')  then a:=a+1; //поиск количества вопросительных знаков
 
writeln('кол-во вопросительных предложении: '+inttostr(a));
end;
Ответить с цитированием
Этот пользователь сказал Спасибо Vladimr за это полезное сообщение:
Dream32 (02.04.2021)
  #3  
Старый 01.04.2021, 20:30
Vladimr Vladimr вне форума
Прохожий
 
Регистрация: 17.03.2021
Сообщения: 22
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Для задачи 2 нужно составлять отдельный список имён собственных с которыми потом будете сравнивать слова из вашего предложения.

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

Для задачи 4 нужно составить список предлогов для каждого падежа.
Далее нужно проверять слово идущее до проверяемого слова и если оно есть в списке то выводить падеж слова.

Для задачи 5 составляем таблицу( в первой колонке английское слова, во второй колонке перевод на русский язык).
Но перевод будет грубый и не будет учитывать смысл предложения и слова будут только в одном падеже.
Ответить с цитированием
Этот пользователь сказал Спасибо Vladimr за это полезное сообщение:
Dream32 (02.04.2021)
  #4  
Старый 01.04.2021, 20:31
Vladimr Vladimr вне форума
Прохожий
 
Регистрация: 17.03.2021
Сообщения: 22
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

А так мне очень интересно на каком курсе вам дают такие задачи? Или вы делайте кому-то задачи на заказ и получаете с них деньги, а тут вам помогают бесплатно?
Ответить с цитированием
  #5  
Старый 01.04.2021, 20:33
Dream32 Dream32 вне форума
Прохожий
 
Регистрация: 01.04.2021
Сообщения: 9
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Это 2 курс, отличный план но я не такая
Ответить с цитированием
  #6  
Старый 01.04.2021, 20:54
Vladimr Vladimr вне форума
Прохожий
 
Регистрация: 17.03.2021
Сообщения: 22
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

И даже нет ни каких предположений и вариантов как это сделать? Или вам сразу нужен готовый ответ? Как потом будете объяснять при сдаче, что решение задачи не соответствует вашему уровню?

Как решение на задачу номер три. (Но решение грубое и можно сделать лучше, но и этот вариант работает)

Код:
var pravilnie_slova:array [1..65535] of string; //список правильного написания слов
s:string; //ваша строка которую проверяем
i,j:integer; //для цикла
s1:string; //слово из предложения
b:integer; //для цикла проверки слова на правописание
f:boolean; //показывает что данное слово есть в словаре

slovo:array[0..65535] of integer; //позиции пробелов для определения слов
a:integer; //кол-во слов
begin
//вводим строку любым известным способом
s:=' '+s; // для того что бы посчитало первое слово
s:=s+' '; //для того чтобы посчитало последнее слово
a:=0;
for I := 1 to length(s) do if (s[i]=' ')and(s[i+1]<>' ') then begin slovo[a]:=i; a:=a+1; end;//позиция пробела и кол-во слов в предложении

//теперь в переменной "A" занесенно кол-во слов в предложении
for I := 0 to a do
  begin
   s1:=copy(s,slovo[i]+1,slovo[i+1]-1); //сейчас сюда скопированно слово из предложения

   //далее проверяем есть ли данное слово в словаре
   f:=false; //первоначально указываем что данного слова нет в словаре
   for b := 1 to 65535 do if pravilnie_slova[b]=s1 then begin f:=true; break; end; //если слово есть в словаре то выходим из цикла

   //показывает что данное слово есть в словаре
   if f=false then writeln('слово написанно с ошибкой '+s1);
  end;

end;
Ответить с цитированием
Ответ



Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:06.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2021

ВКонтакте   Facebook   Twitter