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

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

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

> Procedure,function,string,record,set Of,fail., 10 задач !срочно!
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 9

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


7).Введены три массива положительных вещественных чисел А[1:5] B[1:8] C[1:6]
задается точность E:
E=alfa для элемнтов массива А;
E=betta для элементов массива В;
E=gamma для элементов массива C;
где alfa,betta,gamma -- произвольно заданные числа.
для каждого элемента каждой матрицы вычисляются значения (корень третьей степени из а) , (корень третьей степени из в) , (корень третьей степени из с) следующим итерационным алгоритмом:
1. Y0=x
2. Y1=Y0-((Y0 в кубе)-X)/3*Y0
3. при |Y1-Y0|>E, Yo=Y1; повторение с п.2;
при |Y1-Y0|<=E, Y1=Y0.
Требуется для каждого массива определить номер элемента, для которого число итераций было минимальным.
Отпечатать элементы того массива, для которого вычмсленный номер оказался наибольшим.
8).Заданы две матрицы действительных чисел А[5x5] u B[6x6]. Требуется составить программу вычисления новых матриц A' u B' по следующему алгоритму:
1. в каждой матрице роводится главная левая диагональ (сверху вниз и слева направо), в результате чего образуются две треугольные матрицы;
2. для матрицы А все элементы, расположенные в верхнем треугольнике, расположить в каждой строке в порядке убывания элементов слева направо;
3. для матрицы В требуется выполнить действия, определнные в п.2 относительно нижнего треугольника.
Программа сортировки треугольной матрицы должна быть оформлена в виде процедуры. Выходным параметром этой процедуры должна быть матрица, полученная из исходной по алгоритму, описанному выше.
9).Дан текст из слов, разделенных произвольным числом пробелов. Определить число слов, начинающихся на ту же букву, что и третье слово.
10).Дан текст из слов, разделенных произвольным числом пробелов. Распечатать слова, имеющие две подряд идущие одинаковые гласные.
11).Дан список жильцов по форме: *ФИО*год рождения*месяц*день рождения*
Распечатать в алфавитном порядке фамилии жильцов, которым к заданной дате исполнилось 18 лет. Использовать RECORD.
12).Дана таблица по форме: *ФИО*отметки о посещении 10-ти занятий (0-пропустил, 1-присутствовал)*оценки задач*
Сформировать таблицу: *ФИО*количество пропусков*средний балл*количество задач*зачёт(незачёт).
Зачёт ставится студентам, пропустившим не более 5 занятий, сделавших не менее 8 задач, в том числе №9 и №10, и имеющих не менее 4-х оценок "4" и "5". Использовать тип RECORD.
13).Дан текст из строчных латинских букв, за которыми следует точка. Напечатать все буквы, входящие в текст не менее двух раз. Использовать SET OF.
14).Из какого числа разных состоит целое положительное число N и каковы эти цифры.
15).Дан символический файл "F". Переписать компоненты файла "F" в файл "Q", заменив при этом букву "а" на букву "о", и первый и последний символ на "!".
16).Компонентами файла "F" являются целые числа

СеСиЯ ГоРиТ ... Кто сделает задачи ОТБЛАГАДАРЮ ... мой e-mail dorgunu@mail.ru
Кидать никого не собираюсь...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Профи
****

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

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


Вот, то что сделал:
Насчет задачи с треугольной матрицей: ее я решать не буду, матрицы заданы в лоб, надеюсь догадаешься.
И в первой задаче итерационный алгоритм либо коряво написан, либо я еще пьян, либо чего-то не догоняю... blink.gif
Все задачи раскиданы по процедурам.

Код

Uses
   Crt;
Type
   FIO = record
   Name:String;
   Year:Word;
   Month:Byte;
   Day:Byte;
   end;
   {‘в㤥­вл}
   Students = record
   Name:String;
   Z:array [1..10] of Boolean;    {Џ®бҐйҐ­Ёп}
   Zz:array[1..10] of Byte;       {ЋжҐ­ЄЁ §  § ¤ зЁ}
   end;
Const
    N:LongInt = 1234567;
    S:String  = '     ';
    FIOCnt = 20;
    G:Set of Char = ['Ђ','Ћ','…','“','ќ','ћ','џ','‰','›','?'];
    Alfa  = 0.03;
    Beta  = 0.004;
    Gamma = 0.01;
Var
  F,Q:File;
  Ok:Boolean;
  i,j:LongInt;
  C:Char;
  R:array[1..FIOCnt] of FIO;
  Rr:FIO;
  Code:Integer;
  Z:array[1..FIOCnt] of Students;
  Pr,Rz:Byte;
  Sa,O4:Word;
  St:String;
  A:array[1..5] of Double;
  B:array[1..8] of Double;
  Cc:array[1..6] of Double;
  X,Y:Real;


{----------------------------------------------------------}
{?§ Є ЄЁе жЁда б®бв®Ёв 楫®Ґ зЁб«® N Ё Є®«ЁзҐбвў® нвЁе жЁда}
Procedure DigitsCount;
begin
    Str(N,S);
    WriteLn('—Ёб«® N б®бв®Ёв Ё§ ',Ord(S[0]),' жЁда - "',S,'"');
end;
{----------------------------------------------------------}

Procedure ReplaceA;
{‡ ¬Ґ­Ёвм ЎгЄўл Ђ ­  Ћ, Ё Ї®бв ўЁвм !}
begin
    Assign(F,'F');
    Reset(F,1);
    Assign(Q,'Q');
    ReWrite(Q,1);
    C:='!';
    BlockWrite(Q,C,1);
    WriteLn('ЏҐаҐ§ ЇЁблў Ґ¬ д ©«...');
    For i:=1 to FileSize(F)-2 do
    begin
         GotoXY(1,3); Write('ќ«Ґ¬Ґ­в ­®¬Ґа ',i+1);
         BlockRead(F,C,1);
         If C='A' then C:='O';
         BlockWrite(Q,C,1);
    end;
    C:='!';
    BlockWrite(Q,C,1);
    Close(F);
    Close(Q);
end;

Procedure After18;
begin
    Write(#13#10'‚ўҐ¤ЁвҐ ¤ вг ў д®а¬ вҐ („„.ЊЊ.ѓѓѓѓ) Ё«Ё, Ґб«Ё § Ї ¤«®'#13#10+
    +'­ ЎЁа вм, ­ ¦¬ЁвҐ ‚ў®¤ (Ї® 㬫з. 12.08.1985): ');
    ReadLn(S);
    If S='' then S:='12.08.1985';
    {}
    Val(Copy(S,1,Pos('.',S)-1),Rr.Day,Code);
    Delete(S,1,Pos('.',S));
    Val(Copy(S,1,Pos('.',S)-1),Rr.Month,Code);
    Delete(S,1,Pos('.',S));
    Val(S,Rr.Year,Code);
    Dec(Rr.Year,18);
    {‡ Ї®«­пҐ¬ Ї®«п}
    For i:=1 to FIOCnt do
    With R[i] do
    begin
         S[0]:=Chr(Random(3)+10);
         S[1]:=Chr(Random(32)+128); {128-159}
         For j:=2 to Ord(S[0]) do
             S[j]:=Chr(Random(15)+160); {160-175}
         Name:=S;
         Year:=Random(50)+1956;
         Month:=Random(12)+1;
         Day:=Random(25)+1;  {­  ўбпЄЁ© б«гз © :)}
    end;
    TextColor(White);
    WriteLn('‘ЇЁб®Є б®ўҐа襭­®«Ґв­Ёе:');
    TextColor(LightGray);
    For i:=1 to FIOCnt do
    begin
         Ok:=False;
         If R[i].Year<Rr.Year then Ok:=True
         else
             If R[i].Year=Rr.Year then
                If R[i].Month<Rr.Month then Ok:=True
                else
                    If R[i].Month=Rr.Month then
                       If R[i].Day<=Rr.Day then Ok:=True;
         If Ok then
         begin
              WriteLn(R[i].Name,': ',R[i].Day,':',R[i].Month,':',R[i].Year);
         end;
    end;
end;

Procedure PureStudents;
begin
    For i:=1 to FIOCnt do
    With Z[i] do
    begin
         {‘«гз ©­®Ґ "Ё¬п"}
         S[0]:=Chr(10);
         S[1]:=Chr(Random(32)+128); {128-159}
         For j:=2 to Ord(S[0]) do
             S[j]:=Chr(Random(15)+160); {160-175}
         Name:=S;
         For j:=1 to 10 do
         If Random(50)<25 then
         begin
              Z[j]:=True;
              Zz[j]:=Random(2)+3;
         end
            else
                begin
                     Z[j]:=False;
                     Zz[j]:=Random(3)+3;
                end
    end;
{‚®®ЎйҐ, Ў«пвм, гб«®ўЁҐ ¬®Ј Ўл Ё ­®а¬ «м­® ®д®а¬Ёвм #(}
{’ Ў«Ёж  : - ”?Ћ - Љ®«-ў® Їа®ЇгбЄ®ў - ЋЎйЁ© Ў «« - Љ®«-ў® § ¤ з - ‡ з/­Ґ§.}
{Љ®«-ў® аҐиҐ­­ле § ¤ з п в Є Ї®­Ё¬ о??}
{‘Є®аҐ© ўбҐЈ® ­ЁдЁЈ  ­Ґ в Є, ­® Є Є ®д®а¬Ё«, в Є Ё Ї®«гз ©...}
{‘«гз © б ¤ҐбпвЄ ¬Ё б ¬ ўла ў­Ёў ©, в ¬  Ї аг бва®зҐЄ ¤®Ў ўЁвм}
    WriteLn(& #39;ЙНННННННННННННННННЛННННННННННЛНННННННН
ННННННННЛННННННННННННННЛННННННН»');
    WriteLn('є       ”?Ћ       є Џа®ЇгбЄЁ є  ‘।­Ё© Ў ««  є Љ®«-ў® § ¤ з є ‡ зҐв є');
    WriteLn(& #39;МНННННННННННННННННОННННННННННОНННННННН
ННННННННОННННННННННННННОННННННН№');

    For i:=1 to FIOCnt do
    With Z[i] do
    begin
         S:='є '+Name+'      є ';
         Pr:=0; Rz:=0;
         Sa:=0; O4:=0;
         For j:=1 to 10 do
         begin
              If not Z[j] then Inc(Pr);
              Inc(Sa,Zz[j]);
              If Zz[j]>2 then Inc(Rz);
              If Zz[j]>=4 then Inc(O4);
         end;
         Str(Pr,St); {Љ®«-ў® Їа®ЇгбЄ®ў}
         S:=S+'   '+St+'     є';
         Str(Sa DIV 10,St); {‘।­Ё© Ў ««}
         S:=S+'      '+St+'         є';
         Str(Rz,St);  {Љ®«-ў® аҐиҐ­­ле § ¤ з}
         S:=S+'       '+St+'      є';
         If (Zz[9]>=4) and (Zz[10]>=4) and (Rz>=8) and (Pr<=5) and (O4>4) then
            S:=S+' „Ђ    є' else S:=S+' Ќ…’   є';
         WriteLn(S);
    end;
    WriteLn(& #39;ИНННННННННННННННННКННННННННННКНННННННН
ННННННННКННННННННННННННКНННННННј');
end;

Procedure AOE;
begin
    S:='„ ­ ⥪бв  Ё§    б«®ў       а §¤Ґ«Ґ­­ле         Їа®Ё§ў®«м­л¬   зЁб«®¬ Їа®ЎҐ«®ў.'+
       +' ‚뢥бвЁ            б«®ў  б    Ё¤гйЁ¬Ё Ї®¤ап¤ ¤ўг¬п Ј« б­л¬Ё. „«Ё­­®иҐҐҐ... ¦Ёў®в­®Ґ.';
    {“ЎЁа Ґ¬ "«Ёи­ЁҐ" Їа®ЎҐ«л}
    S:=S+' ';  {Џа®ЎҐ« ў Є®­жҐ бва®ЄЁ, ®Ўп§ в.}
    While Pos('  ',S)<>0 do Delete(S,Pos('  ',S),1);
    {„Ґ« Ґ¬ ЎгЄ®ўЄЁ Ў®«миЁ¬Ё}
    For i:=1 to Length(S) do
    If (Ord(S[i])>159) and (Ord(S[i])<176) then S[i]:=Chr(Ord(S[i])-32)
    else
        If (Ord(S[i])>223) and (Ord(S[i])<240) then S[i]:=Chr(Ord(S[i])-80);
    While Length(S)>1 do
    begin
         St:=Copy(S,1,Pos(' ',S)-1);
         Ok:=False;
         i:=1;
         While (i<Ord(St[0])) and (not Ok) do
         begin
              If (St[i] in G) and (St[i+1] in G) then Ok:=True;
              Inc(i);
         end;
         If Ok then
         begin
              Write(Copy(St,1,i-2));
              TextColor(White);
              Write(Copy(St,i-1,2));
              TextColor(LightGray);
              WriteLn(Copy(St,i+1,Length(S)));
         end;
         Delete(S,1,Pos(' ',S));
    end;
end;

Procedure ThirdWordA;
begin
    S:='„ ­ ⥪бв  Ё§    б«®ў       а §¤Ґ«Ґ­­ле         Їа®Ё§ў®«м­л¬   зЁб«®¬ Їа®ЎҐ«®ў.'+
       +' ЋЇаҐ¤Ґ«Ёвм зЁб«® б«®ў, ­ зЁ­ ойЁебп ­  вг ¦Ґ ЎгЄўг, зв® Ё ваҐвмҐ б«®ў®. ?и Є. ?¬г­­®¤ҐдЁжЁв.';
    {“ЎЁа Ґ¬ "«Ёи­ЁҐ" Їа®ЎҐ«л}
    S:=S+' ';  {Џа®ЎҐ« ў Є®­жҐ бва®ЄЁ, ®Ўп§ в.}
    While Pos('  ',S)<>0 do Delete(S,Pos('  ',S),1);
    {„Ґ« Ґ¬ ЎгЄ®ўЄЁ Ў®«миЁ¬Ё}
    For i:=1 to Length(S) do
    If (Ord(S[i])>159) and (Ord(S[i])<176) then S[i]:=Chr(Ord(S[i])-32)
    else
        If (Ord(S[i])>223) and (Ord(S[i])<240) then S[i]:=Chr(Ord(S[i])-80);
    {“¤ «пҐ¬ ЇҐаўлҐ ¤ў  б«®ў }
    Delete(S,1,Pos(' ',S));
    Delete(S,1,Pos(' ',S));
    C:=S[1];
    {“¤ «пҐ¬ ваҐвмҐ}
    Delete(S,1,Pos(' ',S));
    Rz:=0;
    While Length(S)>1 do
    begin
         St:=Copy(S,1,Pos(' ',S)-1);
         If St[1]=C then
         begin
              Inc(Rz);
              WriteLn(St);
         end;
         Delete(S,1,Pos(' ',S));
    end;
    WriteLn('Љ®«ЁзҐбвў® б«®ў а ў­® ',Rz);
end;

Procedure IterationCount;
{
‚ўҐ¤Ґ­л ваЁ ¬ ббЁў  Ї®«®¦ЁвҐ«м­ле ўҐйҐб⢥­­ле зЁбҐ« Ђ[1:5] B[1:8] C[1:6]
§ ¤ Ґвбп в®з­®бвм E:
               E=alfa ¤«п н«Ґ¬­в®ў ¬ ббЁў  Ђ;
               E=betta ¤«п н«Ґ¬Ґ­в®ў ¬ ббЁў  ‚;
               E=gamma ¤«п н«Ґ¬Ґ­в®ў ¬ ббЁў  C;
Ј¤Ґ alfa,betta,gamma -- Їа®Ё§ў®«м­® § ¤ ­­лҐ зЁб« .
¤«п Є ¦¤®Ј® н«Ґ¬Ґ­в  Є ¦¤®© ¬ ваЁжл ўлзЁб«повбп §­ зҐ­Ёп (Є®аҐ­м ваҐв쥩
б⥯Ґ­Ё Ё§  ) , (Є®аҐ­м ваҐв쥩 б⥯Ґ­Ё Ё§ ў) , (Є®аҐ­м ваҐв쥩 б⥯Ґ­Ё Ё§ б)
б«Ґ¤гойЁ¬ ЁвҐа жЁ®­­л¬  «Ј®аЁв¬®¬:
               1. Y0=x
               2. Y1=Y0-((Y0 ў ЄгЎҐ)-X)/3*Y0
               3. ЇаЁ |Y1-Y0|>E, Yo=Y1; Ї®ўв®аҐ­ЁҐ б Ї.2;
ЇаЁ |Y1-Y0|<=E, Y1=Y0.
’ॡгҐвбп ¤«п Є ¦¤®Ј® ¬ ббЁў  ®ЇаҐ¤Ґ«Ёвм ­®¬Ґа н«Ґ¬Ґ­в , ¤«п
Є®в®а®Ј® зЁб«® ЁвҐа жЁ© Ўл«® ¬Ё­Ё¬ «м­л¬.
ЋвЇҐз в вм н«Ґ¬Ґ­вл в®Ј® ¬ ббЁў , ¤«п Є®в®а®Ј® ўлз¬б«Ґ­­л© ­®¬Ґа
®Є § «бп ­ ЁЎ®«миЁ¬.
}

begin
    For i:=1 to 5 do A[i]:=Random(10);
    For i:=1 to 8 do B[i]:=Random(20);
    For i:=1 to 6 do Cc[i]:=Random(30);
    Sa:=0;
    A[1]:=27;
    For i:=1 to 5 do
    begin
         Y:=A[i];
         X:=Y-(Y*Y-1)/3;
         Rz:=0;
         Repeat
               Inc(Rz);
               Y:=X;
               X:=Y-((Y*Y*Y)-A[i])/3*Y;
         Until Abs(X-Y)<Alfa;
         If Rz>Sa then Sa:=Rz;
    end;
end;

Begin
    ClrScr;
    Randomize;
    DigitsCount;
    ReplaceA;
    After18;
    PureStudents;
    AOE;
    ThirdWordA;
    IterationCount;
End.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


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

 





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