Procedure,function,string,record,set Of,fail., 10 задач !срочно! |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Procedure,function,string,record,set Of,fail., 10 задач !срочно! |
SpEctAtOr |
Сообщение
#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 Кидать никого не собираюсь... |
GLuk |
Сообщение
#2
|
Профи Группа: Пользователи Сообщений: 775 Пол: Мужской Репутация: 0 |
Вот, то что сделал:
Насчет задачи с треугольной матрицей: ее я решать не буду, матрицы заданы в лоб, надеюсь догадаешься. И в первой задаче итерационный алгоритм либо коряво написан, либо я еще пьян, либо чего-то не догоняю... Все задачи раскиданы по процедурам. Код 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. |
Текстовая версия | 6.05.2024 14:29 |