1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
| Юленька 25 |
Сообщение
#1
|
|
Группа: Пользователи Сообщений: 1 Пол: Женский Репутация: 0 |
Добрый день! нужна помощ в составлении укрупненного алгоритмов. Все задания готовы и работают!
ПОМОГИТЕ ИЛИ ОБЪЯСНИТЕ КАК СОСТАВЛЯТЬ ТАКОЙ АЛГОРИТМ.НИЖЕ В ФАЙЛЕ ПРИКРЕПЛЮ ПРИМЕР, КАК ДОЛЖНО ВЫГЛЯДЕТЬ! Мли хотя бы обычный алгоритм помогите составить! или скиньте ссылку на прогу для автоматического создания блок-схем..все куда захожу не устанавливаются ЗАРАНЕЕ СПАСИБО ) Задание 1. Дана вещественная матрица nxm. Упорядочить ее строки по возрастанию суммы их элементов. const nmax=100; var i,j,n,m,q: integer; a: array[1..nmax,1..nmax] of real; b: array[1..nmax] of real; sum,tmp: real; begin randomize; write('Введите размер матрицы n и m: '); readln(n,m); writeln('Исходная матрица'); for i:=1 to n do begin sum:=0; for j:=1 to m do begin a[i,j]:=random(99)+random; write(a[i,j]:7:2); sum:=sum+a[i,j]; end; b[i]:=sum; write(' Сумма элементов ряда = ',sum:7:2); writeln; end; writeln; for i:=2 to n do for j:=n downto i do if b[j-1]>b[j] then begin for q:=1 to m do begin tmp:=a[j-1,q]; a[j-1,q]:=a[j,q]; a[j,q]:=tmp; end; tmp:=b[j-1]; b[j-1]:=b[j]; b[j]:=tmp; end; writeln('Отсортированная по возрастанию сумм строк матрица :'); for i:=1 to n do begin for j:=1 to m do write(a[i,j]:7:2); writeln; end; readln; end. Задание 2. В вводимой строке заменить самое часто встречаемое слово на обратное. var s,s1: string; i,n: byte; c: char; slovo,maxslovo:string; k,maxk:integer; function fw(s:string;var w:string):boolean; const c=['а'..'я','А'..'Я']; var i:integer; begin while (not (s[1] in c)) and (length(s)>0) do delete(s,1,1); if length(s)>0 then begin s:=s+' '; i:=1; while (s[i] in c) do inc(i); w:=copy(s,1,i-1); fw:=true; end else begin w:=''; fw:=false; end; end; begin write('Введите строку: '); readln(s); s1:=s; maxk:=0; maxslovo:=''; while fw(s1,slovo) do begin k:=0; while pos(slovo,s1)>0 do begin inc(k); delete(s1,pos(slovo,s1),length(slovo)); end; if k>maxk then begin maxslovo:=slovo; maxk:=k; end; end; s:=maxslovo; n := length(s) div 2; for i := 1 to n do begin c := s[i]; s[i] := s[length(s)-i+1]; s[length(s)-i+1] := c; end; write('Самое часто встречаемое слово:', ' '); writeln(maxslovo); write('Перевернутое слово:',' '); writeln(s); end. Задание 3. Вычеркнуть из слова Х согласные буквы, стоящие на нечетных местах. var str: string; i: integer; sogl : set of char; begin sogl :=['Б'..'Д','б'..'д','Ж','ж','З','з','К'..'Н','к'..'н','П'..'Т', 'п'..'т','Ф'..'Щ','ф'..'щ','Ъ','ъ','Ь','ь']; write('Введите слово: '); readln(str); for i:=length(str) downto 1 do if (str[i] in sogl)and(i mod 2<>0) then delete(str,i,1); write('Полученное слово: '); writeln(str); end. Задание 4. При поступлении на музыкально-педагогический факультет на абитуриентов собираются сведения: фамилия, музыкальный инструмент. Для поступления необходимо сдать экзамен по специальности. Составить списки для данного экзамена, в зависимости от специальности. const nmax=100; type muz=record name: string[20]; inst: string[15]; end; var a: array[1..nmax] of muz; i,n,k: integer; str: string; begin write('Сколько абитуриентв поступает в училище?: '); readln(n); writeln('Введите данные о абитуриентах'); for i:=1 to n do begin with a[i] do begin write(i,' Фамилия: '); readln(name); write(' Музыкальный нструмент: '); readln(inst); end; end; write('Введите наименование муз. инструмента: '); readln(str); writeln('Список абитуриентов, сдающих экзамен <',str,'>'); for i:=1 to n do with a[i] do if a[i].inst=str then begin inc(k); writeln(k,'. ',a[i].name); end; end. Сообщение отредактировано: Юленька 25 - Эскизы прикрепленных изображений |
![]() ![]() |
|
Текстовая версия | 4.11.2025 3:45 |