• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

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

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Задача из колледжа

Alexander Mece

Ученик
Регистрация
17 Дек 2010
Сообщения
7
Реакции
0
Баллы
0
Задача из колледжа

Итак - в колледже нам задали очередные задачи, бредового характера...:tehnari_ru_1019:

текст задачи номер 1:

Для большинства существительных, оканивающихся на – анок и - енок, множественное число образуется от другой основы. Как правило, это происходит по образцу: цыпленок-цыплята, мышонок-мышата и т.д. (в новой основе перед последней буквой т пишется а или я в зависимости от предыдущей буквы: если это шипящая, то – а, иначе - )_. Имеются слова исключения, из которых укажем следующие: ребенок (дети), бесенок (бесенята) и т.д. и т.п.
Дан текст, среди символов которого имеется пробел. Группа символов, предшествующая первому пробелу, представляет собой русское слово, оканчивающиеся на –онок, или –енок. Получить это слово во множественном числе.

Номер 2:

Шахматную доску будем представлять символьной матрицей размера 8 x 8. Даны натуральные числа n и m (1 :::;:; n :::;:; 8,] 1 :::;:; m :::;:; 8) – номера вертикали и горизонтали, определяющие местоположение ферзя. Соответствующий элемент матрицы надо положить равным символу Ф. Поля, находящиеся под угрозой ферзя, надо положить равными символу *, а остальные поля – символу 0. Решить аналогичную задачу для коня.

P.S. Заранее спасибо.
 
Название темы изменено.

Alexander Mece
Попрошу впредь называть тему более существенно, исходя из содержания вопроса, ибо если это бред, тогда зачем Вы там учитесь? ;)
 
ОК, просто задачи действительно меня загрузили... Мозг болит и плавится...


Если мозг болит и плавится - значит, он есть! Вот его и подключите к решению задач. Ваш модератор.
 
Номер 2: Шахматную доску будем представлять символьной матрицей размера 8 x 8. Даны натуральные числа n и m (1 :::;:; n :::;:; 8,] 1 :::;:; m :::;:; 8) – номера вертикали и горизонтали, определяющие местоположение ферзя. Соответствующий элемент матрицы надо положить равным символу Ф. Поля, находящиеся под угрозой ферзя, надо положить равными символу *, а остальные поля – символу 0. Решить аналогичную задачу для коня.
Алгоритм примерно следующий: задаете двумерный символьный массив размерностью 8х8, заполняете его О. Запрашиваете ввод значений m и n, соответственно, записываете в элемент [n,m] символ Ф. Затем проверяете все возможные пути движения ферзя: по вертикали, по горизонтали и по диагонали, соответственно, записывая в элементы *.

Для коня задача малость посложнее, ибо ходит он кочергой и нужно учитывать крайнее расположение фигуры.
 
номер 1: Для большинства существительных, оканивающихся на – анок и - енок, множественное число образуется от другой основы. Как правило, это происходит по образцу: цыпленок-цыплята, мышонок-мышата и т.д. (в новой основе перед последней буквой т пишется а или я в зависимости от предыдущей буквы: если это шипящая, то – а, иначе - )_. Имеются слова исключения, из которых укажем следующие: ребенок (дети), бесенок (бесенята) и т.д. и т.п. Дан текст, среди символов которого имеется пробел. Группа символов, предшествующая первому пробелу, представляет собой русское слово, оканчивающиеся на –онок, или –енок. Получить это слово во множественном числе.
Задача достаточно простая, основная трудность в ней в правильности определения суффикса и в наличии слов-исключений. Из-за второго условия нужно подключать внешний файл со словами-исключениями для предварительного анализа.
Запрашиваете строку, находите первое включение пробела и копируете первое слово в промежуточную переменную. Сравниваете слово с исключениями, если совпадений нет - вычисляете длину слова и анализируете последние 4 символа на совпадение с данными двумя суффиксами. Затем заменяете суффикс на соответствующее окончание и выводите содержимое промежуточной переменной.
З.Ы. Вам понадобится подключить модуль crt.
 
Код:
uses crt;
var
a:array [1..8,1..8] of char;
i,j:integer;
x,y:integer;

begin
for i:=1 to 8 do begin
for j:=1 to 8 do
a[i,j]:='0';
end;
writeln ('enter koordinaty ferzya');
read (x,y);
a[x,y]:='F';
for j:=1 to 8 do
if j<>y then a[x,j]:='*';
for i:=1 to 8 do
if i<>x then a[i,y]:='*';
for i:=1 to 8 do
for j:=1 to 8 do begin
if (i<>x) and (j<>y) then begin if j=i+y-x then a[i,j]:='*';
if 8-i=j+y-x-2 then a[i,j]:='*';
end;
end;
for i:=1 to 8 do begin
for j:=1 to 8 do
write (a[i,j],' ');
writeln;
end;
readkey
end.

Программа полностью проверена для ферзя.
 
Программа проверена КОНЬ ходит :)

Код:
uses crt;
const
n=8;
var
x,y,i,j:integer;
a:array [1..n,1..n] of char;

begin
clrscr;
for x:=1 to n do
for y:=1 to n do
a[x,y]:='0';
writeln ('enter coordinate horse');
read (x,y);
a[x,y]:='K';
if (x>=3) and (x<=6) and (y>=3) and (y<=6) then begin
{1}a[x-2,y+1]:='*';
{2}a[x-1,y-2]:='*';
{3}a[x+1,y-2]:='*';
{4}a[x+2,y-1]:='*';
{5}a[x+2,y+1]:='*';
{6}a[x+1,y+2]:='*';
{7}a[x-1,y+2]:='*';
{8}a[x-2,y+1]:='*';
end;
if (x>=3) and (y>=3) and (y<=6) then begin
{1}a[x-2,y+1]:='*';
{4}a[x+2,y-1]:='*';
{5}a[x+2,y+1]:='*';
{6}a[x+1,y+2]:='*';
{7}a[x-1,y+2]:='*';
{8}a[x-2,y+1]:='*';
end;
if (x=1) and (y>=3) and (y<=6) then begin
{5}a[x+2,y+1]:='*';
{6}a[x+1,y+2]:='*';
{7}a[x-1,y+2]:='*';
{8}a[x-2,y+1]:='*';
end;
if (x=8) and (y>=3) and (y<=6) then begin
{1}a[x-2,y+1]:='*';
{2}a[x-1,y-2]:='*';
{3}a[x+1,y-2]:='*';
{4}a[x+2,y-1]:='*';
end;
if (x=7) and (y>=3) and (y<=6) then begin
{1}a[x-2,y+1]:='*';
{2}a[x-1,y-2]:='*';
{3}a[x+1,y-2]:='*';
{4}a[x+2,y-1]:='*';
{5}a[x+2,y+1]:='*';
{8}a[x-2,y+1]:='*';
end;
if (x=1) and (y=8) then begin
{3}a[x+1,y-2]:='*';
{4}a[x+2,y-1]:='*';
end;
if (x=8) and (y=8) then begin 
{1}a[x-2,y+1]:='*';
{2}a[x-1,y-2]:='*';
end;
if (x=8) and (y=7) then begin 
{1}a[x-2,y+1]:='*';
{2}a[x-1,y-2]:='*';
{3}a[x+1,y-2]:='*';
end;
if (x=8) and (y=6) then begin 
{1}a[x-2,y+1]:='*';
{2}a[x-1,y-2]:='*';
{3}a[x+1,y-2]:='*';
{4}a[x+2,y-1]:='*';
end;
if (x=1) and (y=1) then begin 
{5}a[x+2,y+1]:='*';
{6}a[x+1,y+2]:='*';
end;
if (x=1) and (y=2) then begin 
{5}a[x+2,y+1]:='*';
{6}a[x+1,y+2]:='*';
end;
if (x=1) and (y=3) then begin 
{5}a[x+2,y+1]:='*';
{6}a[x+1,y+2]:='*';
{4}a[x+2,y-1]:='*';
end;
if (x=1) and (y=4) then begin 
{1}a[x-2,y+1]:='*';
{2}a[x-1,y-2]:='*';
{3}a[x+1,y-2]:='*';
{4}a[x+2,y-1]:='*';
end;
for x:=1 to n do begin
for y:=1 to 8 do
write (a[x,y],' ');
writeln;
end;

readkey
end.
 
Дан текст, среди символов которого имеется пробел. Группа символов, предшествующая первому пробелу, представляет собой русское слово, оканчивающиеся на –онок, или –енок. Получить это слово во множественном числе.
Код:
uses crt;
var
s,k,w,w1,rez:string;
n,i:integer;
f:text;
begin
assign (f,'c:\1.in');
n:=0;
i:=0;
rez:='';
writeln ('Enter string');
readln (s);
n:=pos(' ',s);
n:=n-1;
k:=copy(s,1,n);
reset (f);
while not eof(f) do begin
readln (f,w);
readln (f,w1);
if w=k then begin
inc(i);
rez:=w1;
end;
end;
close (f);
if i<>0 then writeln(rez) else begin
w:=copy(k,n-3,n);
if w='онок' then begin
delete(k,n-3,n);
k:=k+'ата';
writeln ('New word=',k);
end
else if (w='енок') or (w='ёнок') then begin
delete(k,n-3,n);
k:=k+'ята';
writeln ('New word=',k);
end;
end;
readln;
end.
Текстовый файл в кодировке DOS(OEM) содержит слова-исключения.
 

Вложения

  • 1.zip
    1.zip
    137 байт · Просмотры: 23
Не понял...

Вы уверены, что последний предложенный вариант верен? Пробую понять, что не так, но ошибок вроде нет... А ведь не работает прога!
 
Назад
Сверху