Старая форма входа
Регистрация
Дорогие друзья!
Наш форум закрыт для общения сейчас,
но вы можете задать свой вопрос или перейти в чат Телеграм.
Пожалуйста, напишите на почту files@21vu.ru ваш вопрос, ситуацию, чтобы обратиться к коллегам в чате.
Если вы хотите просто вступить в чат, также напишите на почту, укажите сведения о себе: ФИО, кто вы, кто по профессии, чем можете быть полезны педагогам, и мы направим вас в Чат Телеграм.
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Модератор форума: Екатерина_Пашкова  
помогите пожалуйста кому не трудно, кому не лень)))
АрсикДата: Понедельник, 26.12.2011, 18:47 | Сообщение # 16
Арсик

Арслан Батыршин
Ранг: Дошколенок (?)
Группа: Пользователи
Сообщений:
19
Награды: 0
Статус: Offline
end-вроде поставил на свое место, все еще та же проблемка(((

program Arsik;
uses crt;
var s:string;
i,x,y:integer;

begin
clrscr;
writeln('Vvedite stroku');

readln(s);

x:=0;
y:=0;
for i:=1 to length(s) do
if s[i]=' ' then begin

if s[1]=s[i-1] then x:=x+1;
if s[2]=s[i-2] then y:=y+1 ;

end;
writeln('Pervoe i poslednee=' , x);
writeln('Vtoroe i predposlednee=' ,y);
readln;

end.
26.12.2011
alex_eduДата: Понедельник, 26.12.2011, 19:09 | Сообщение # 17
alex_edu

Александр Обычный
Ранг: Магистр (?)
Группа: Пользователи
Сообщений:
607
Награды: 7
Статус: Offline
Кхм.... Прочитай внимательно мои предыдущие сообщения.... Попробуй написть программу выводящую только индексы первых букв каждого слова.

А так. Читаю тебе по русски твой код:
Цикл от 1 до конца строки.
----В случае если пробел
---------Если первая буква ВСЕЙ фразы равна символу перед пробелом то....
---------Если вторая буква ВСЕЙ фразы равна второму символу перед пробелом то....
26.12.2011
АрсикДата: Понедельник, 26.12.2011, 19:16 | Сообщение # 18
Арсик

Арслан Батыршин
Ранг: Дошколенок (?)
Группа: Пользователи
Сообщений:
19
Награды: 0
Статус: Offline
доработайте на Паскале, я так очень хорошо пойму, прост шя не догоняю что-то(((
26.12.2011
YuiSeДата: Вторник, 27.12.2011, 11:31 | Сообщение # 19
YuiSe

Bvz Afvbkbz
Ранг: Школьник (?)
Группа: Пользователи
Сообщений:
80
Награды: 2
Статус: Offline
таки сравнивать надо только первую последней и вторую с предпоследней или все же как я и понял сначала еще и третью с пред пред последней и так далее....

http://pedsovet.su/forum/32-5177-91566-16-1324910852
это можно сформулировать в виде процедуры, которая анализирует переданное слово и заполняет список совпадений.
Code
procedure CalcRepeats(s: string; {переданное слово}
                         var Reps: TList {список совпадений или массив}
                         )
var
        i, L: integer;
begin
        L := length(s);
        if ( L > 1)
        then
          for i := 1 to trunc(L/2 - 1) do
            if (UpCase(s[i]) = UpCase(s[L-i)) then Reps[i] = Reps[i] + 1
        else writeln('trololo');
end;


если нужно ограничиться 2 символами, то вместо trunc(L/2) нужно использовать min(trunc(L/2), 2).

P.S.: и все таки, Арслан, не пытайтесь мыслить кодом - это неправильно, тем более и получается у вас это плохо.
27.12.2011


Сообщение отредактировал YuiSe - Вторник, 27.12.2011, 11:51
alex_eduДата: Вторник, 27.12.2011, 12:26 | Сообщение # 20
alex_edu

Александр Обычный
Ранг: Магистр (?)
Группа: Пользователи
Сообщений:
607
Награды: 7
Статус: Offline
Quote (Арсик)
доработайте на Паскале, я так очень хорошо пойму, прост шя не догоняю что-то(((

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

Ладно...... Вот тебе 99% твоей задачи: http://ideone.com/3ZTpq
27.12.2011
АрсикДата: Вторник, 27.12.2011, 14:58 | Сообщение # 21
Арсик

Арслан Батыршин
Ранг: Дошколенок (?)
Группа: Пользователи
Сообщений:
19
Награды: 0
Статус: Offline
вот моя версия,простая,но вполне понятливая)))))

program Arsik;
uses crt;
var s:string;
i,x,y,t:integer;

begin
clrscr;
writeln('Пожалуйста введите строку');

readln(s);
t:=1;
x:=0;
y:=0;
s:=s+' ';
for i:=1 to length(s) do
if (s[i]=' ') then begin

if s[t]=s[i-1] then x:=x+1;
if s[t+1]=s[i-2] then y:=y+1;
t:=i+1;

end;

writeln('Первый и последний=' , x);
writeln('Второй и предпоследний=' ,y);
if x>y then writeln ('совпадений первого и последнего слов БОЛЬШЕ');
if y>x then writeln('совпадений второго и предпоследнего слов Больше')
else writeln('ОДИНАКОВО');
readln;

end.
27.12.2011
alex_eduДата: Вторник, 27.12.2011, 15:25 | Сообщение # 22
alex_edu

Александр Обычный
Ранг: Магистр (?)
Группа: Пользователи
Сообщений:
607
Награды: 7
Статус: Offline
Молодца. Но не все учтено. В фразе: "Кот и пес" y будет равен 1
27.12.2011


Сообщение отредактировал alex_edu - Вторник, 27.12.2011, 15:25
YuiSeДата: Вторник, 27.12.2011, 15:26 | Сообщение # 23
YuiSe

Bvz Afvbkbz
Ранг: Школьник (?)
Группа: Пользователи
Сообщений:
80
Награды: 2
Статус: Offline
А что случиться, если я введу два пробела подряд? Или слово будет из одного символа?
Если x>y, то в конце появиться еще и надпись ОДИНАКОВО
27.12.2011


Сообщение отредактировал YuiSe - Вторник, 27.12.2011, 15:29
АрсикДата: Вторник, 27.12.2011, 21:03 | Сообщение # 24
Арсик

Арслан Батыршин
Ранг: Дошколенок (?)
Группа: Пользователи
Сообщений:
19
Награды: 0
Статус: Offline
ну да.......согласен)))прога не идеально работает
27.12.2011
АрсикДата: Вторник, 27.12.2011, 21:05 | Сообщение # 25
Арсик

Арслан Батыршин
Ранг: Дошколенок (?)
Группа: Пользователи
Сообщений:
19
Награды: 0
Статус: Offline
вот с функцией.....тут вроде вс учтено

program VeryEasy;
uses crt;

const
letters : set of char = ['A'..'z', 'a'..'z'];

function GetWordsCount(Str: string): integer;
var
found: boolean;
i: integer;
r: integer;
begin
r := 0;
i := 1;
repeat
found := false;
while (i <= Length(Str))and(not(Str[ i ] in letters)) do
inc(i);
while (i <= Length(Str))and(Str[ i ] in letters) do begin
found := true;
inc(i);
end;
if found then
r := r + 1;
until (i >= Length(Str))or(not found);
GetWordsCount := r;
end;

function GetWordById(Str: string; Id: integer): string;
var
i, k: integer;
r : string;
begin
r := '';
i := 1;
k := 1;
repeat
GetWordById := '';
while (i <= Length(Str))and(not(Str[ i ] in letters)) do
inc(i);
while (i <= Length(Str))and(Str[ i ] in letters) do begin
if (k = Id) then
r := r+Str[ i ];
inc(i);
end;
inc(k);
until (i >= Length(Str))or(k = Id+1);
GetWordById := r;
end;

var
n1, n2, i : integer;
text, buf : string;

begin clrscr;
readln(text);
n1 := 0;
n2 := 0;
for i := 1 to GetWordsCount(Text) do begin
buf := GetWordById(Text, i);
if (Length(buf) > 0)and(buf[1] = buf[Length(buf)]) then
n1 := n1 + 1;
if (Length(buf) > 1)and(buf[2] = buf[Length(buf)-1]) then
n2 := n2 + 1;
end;
if n1 = n2 then
writeln('Equally')
else
if n1 > n2 then
writeln('1&N more')
else
writeln('2&(N-1) more');
readln;
end.
27.12.2011
alex_eduДата: Среда, 28.12.2011, 01:57 | Сообщение # 26
alex_edu

Александр Обычный
Ранг: Магистр (?)
Группа: Пользователи
Сообщений:
607
Награды: 7
Статус: Offline
В предыдущем коде достаточно было одно условие добавить и все работало бы как положено.
Второй код раз работает - пусть работает, но уж больно много там циклов и вычислений.
28.12.2011


Сообщение отредактировал alex_edu - Среда, 28.12.2011, 01:59
YuiSeДата: Среда, 28.12.2011, 04:50 | Сообщение # 27
YuiSe

Bvz Afvbkbz
Ранг: Школьник (?)
Группа: Пользователи
Сообщений:
80
Награды: 2
Статус: Offline
Арсик, а не расскажите как это работает? А то кэп подсказывает, что этот код писали не вы.
28.12.2011
АрсикДата: Среда, 28.12.2011, 17:57 | Сообщение # 28
Арсик

Арслан Батыршин
Ранг: Дошколенок (?)
Группа: Пользователи
Сообщений:
19
Награды: 0
Статус: Offline
не я писал, объяснить могу)
Функция GetWordsCount подсчитывает количество слов в строке (она нужна только для ограничения цикла в основной программе). Функция GetWordById возвращает строку, содержащую слово из строки по ее порядковому номеру в строке. В основном теле программы в цикле по всем словам проверяются первые и последний символ и второй и предпоследний в очередном вытащенном из строки функцией GetWordById слове, при совпадении наращиваются соответствующие счетчики. По окончании цикла идет сравнение счетчиков и выдача на печать результата.

const //Буквы
letters : set of char = ['A'..'z', 'a'..'z'];

//Функция считает количество слов в тексте
function GetWordsCount(Str: string): integer;
var
found: boolean;
i: integer;
r: integer;
begin
r := 0;
i := 1;
repeat
found := false;
while (i <= Length(Str))and(not(Str[ i ] in letters)) do //пропускаем все НЕбуквы
inc(i);
while (i <= Length(Str))and(Str[ i ] in letters) do begin //началось слово. определяем конец.
found := true;
inc(i);
end;
if found then //если слово найдено, то увеличиваем кол-во слов
r := r + 1;
until (i >= Length(Str))or(not found); //пока есть слова продолжаем
GetWordsCount := r;
end;

//получение слова по номеру в тексте
function GetWordById(Str: string; Id: integer): string;
var
i, k: integer;
r : string;
begin
r := '';
i := 1;
k := 1;
repeat
GetWordById := '';
while (i <= Length(Str))and(not(Str[ i ] in letters)) do //пропускаем НЕбуквы
inc(i);
while (i <= Length(Str))and(Str[ i ] in letters) do begin //слово
if (k = Id) then //если нужное слово
r := r+Str[ i ]; //заполняем переменную
inc(i);
end;
inc(k);
until (i >= Length(Str))or(k = Id+1); //найдено - завершаемся
GetWordById := r;
end;

var
n1, n2, i : integer;
text, buf : string;

begin
readln(text); //текст
n1 := 0;
n2 := 0;
for i := 1 to GetWordsCount(Text) do begin //перебираем все слова
buf := GetWordById(Text, i); //берём слово "i"
if (Length(buf) > 0)and(buf[1] = buf[Length(buf)]) then //если слово минимум 1 буква и 1 и последняя равны
n1 := n1 + 1;
if (Length(buf) > 1)and(buf[2] = buf[Length(buf)-1]) then //если слово минимум 3 буквы и 2 и предпоследняя равны
n2 := n2 + 1;
end;
if n1 = n2 then //если поровну
writeln('Equally')
else
if n1 > n2 then //если 1 больше
writeln('1&N more')
else
writeln('2&(N-1) more'); //если 2 больше
readln;
end
28.12.2011
YuiSeДата: Четверг, 29.12.2011, 09:28 | Сообщение # 29
YuiSe

Bvz Afvbkbz
Ранг: Школьник (?)
Группа: Пользователи
Сообщений:
80
Награды: 2
Статус: Offline
Арсик, помните мой первый пост?
Это про то, что надо отследить, как сам решаешь задачу без применения компьютера?
Так вот я сомневаюсь, что решая поставленную задачу, вы бы сначала считали количество слов, а потом находили сотое (а лучше тысячное) слово, снова пробегая по строке сначала и считая сколько вам там уже встретилось. Вы бы, как и предлагал вам alex_edu, находили первое слово, разбирали его, потом искали конец второго, помня конец первого, брали второе и разбирали его и т.д. пока буквы не кончатся. Так что ж вы тогда над компьютером то так измываетесь?

Кстати и приведенная программа работает не совсем правильно. Какой будет результат ее выполнения, если я передам в нее текст "ее", "Ee"?

P.S.: вам действительно нравиться читать неформатированный код?
29.12.2011
АрсикДата: Четверг, 29.12.2011, 19:00 | Сообщение # 30
Арсик

Арслан Батыршин
Ранг: Дошколенок (?)
Группа: Пользователи
Сообщений:
19
Награды: 0
Статус: Offline
я не решал эту задачу, которую с функцией)я эту задачу загуглил)принцип работы хорошо понимаю
29.12.2011
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск:



Отзывы

Егорова Елена 5.0
Отзыв о товаре ША PRO Анализ техники чтения по классам
и четвертям
Хочу выразить большую благодарность от лица педагогов начальных классов гимназии «Пущино» программистам, создавшим эту замечательную программу! То, что раньше мы делали «врукопашную», теперь можно оформить в таблицу и получить анализ по каждому ученику и отчёт по классу. Великолепно, восторг! Преимущества мы оценили сразу. С начала нового учебного года будем активно пользоваться. Поэтому никаких пожеланий у нас пока нет, одни благодарности. Очень простая и понятная инструкция, что немаловажно! Благодарю Вас и Ваших коллег за этот важный труд. Очень приятно, когда коллеги понимают, как можно «упростить» работу учителя.
Наговицина Ольга Витальевна 5.0
учитель химии и биологии, СОШ с. Чапаевка, Новоорский район, Оренбургская область
Отзыв о товаре ША Шаблон Excel Анализатор результатов ОГЭ
по ХИМИИ
Спасибо, аналитическая справка замечательная получается, ОГЭ химия и биология. Очень облегчило аналитическую работу, выявляются узкие места в подготовке к экзамену. Нагрузка у меня, как и у всех учителей большая. Ваш шаблон экономит время, своим коллегам я Ваш шаблон показала, они так же его приобрели. Спасибо.
Чазова Александра 5.0
Отзыв о товаре ША Шаблон Excel Анализатор результатов ОГЭ по
МАТЕМАТИКЕ
Очень хороший шаблон, удобен в использовании, анализ пробного тестирования занял считанные минуты. Возникли проблемы с распечаткой отчёта, но надо ещё раз разобраться. Большое спасибо за качественный анализатор.
Лосеева Татьяна Борисовна 5.0
учитель начальных классов, МБОУ СОШ №1, г. Красновишерск, Пермский край
Отзыв о товаре Изготовление сертификата или свидетельства конкурса
Большое спасибо за оперативное изготовление сертификатов! Все очень красиво. Мой ученик доволен, свой сертификат он вложил в портфолио. Обязательно продолжим с Вами сотрудничество!
Язенина Ольга Анатольевна 4.0
учитель начальных классов, ОГБОУ "Центр образования для детей с особыми образовательными потребностями г. Смоленска"
Отзыв о товаре Вебинар Как создать интересный урок:
инструменты и приемы
Я посмотрела вебинар! Осталась очень довольна полученной информацией. Всё очень чётко, без "воды". Всё, что сказано, показано, очень пригодится в практике любого педагога. И я тоже обязательно воспользуюсь полезными материалами вебинара. Спасибо большое лектору за то, что она поделилась своим опытом!
Арапханова Ашат 5.0
ША Табель посещаемости + Сводная для ДОУ ОКУД
Хотела бы поблагодарить Вас за такую помощь. Разобралась сразу же, всё очень аккуратно и оперативно. Нет ни одного недостатка. Я не пожалела, что доверилась и приобрела у вас этот табель. Благодаря Вам сэкономила время, сейчас же составляю табель для работников. Удачи и успехов Вам в дальнейшем!
Дамбаа Айсуу 5.0
Отзыв о товаре ША Шаблон Excel Анализатор результатов ЕГЭ по
РУССКОМУ ЯЗЫКУ
Спасибо огромное, очень много экономит времени, т.к. анализ уже готовый, и особенно радует, что есть варианты с сочинением, без сочинения, только анализ сочинения! Превосходно!
Спорная ситуация с родителями или администрацией? Ищете выход из проблемы на уроке или с учеником?
Не знаете, как что-то сделать на компьютере?


Вы можете задать анонимный вопрос
х
Подробно изложите суть вашего вопроса.
Обратите внимание, что вопросы публикуются в открытом доступе на сайте, в нашем чате Телеграм поэтому не указывайте персональные данные ваши или иных лиц. Однако стоит указать свой РЕГИОН, т.к. законодательство в разных регионах разное.
Отправить