21.12.2014, 22:46 | #1 (permalink) |
Новичок
Регистрация: 21.12.2014
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
На Паскале рекурсия, методы сортировки, однопроходные алгоритмы
1)какая может быть ошибка формулы в чётном элементе? {Определить значение F(x), если функция задана на множестве целых чисел соотношением (с помощью рекурсии): F_(2K+1)=F_2K*(F_2K-F_(2K-1) ) F_2K=1-F_(2K-1)*F_(2K-2) F_1=1,F_2=-1} uses crt; function rec(k:integer):longint; begin if k=1 then rec:=1 else if k=2 then rec:=-1 else begin if odd(k) then rec:=rec(k-1)*(rec(k-1)-rec(k-2)) else rec:=1+rec(k-1)*rec(k-2); end; end; var n:longint; begin clrscr; write('n='); readln(n); write(rec(n)); readln end. 2)напсать программу Выполнить задание с использованием рекурсивных процедур или функций. Татьяна Ларина, читая очередной французский роман, подсчитала сумму номеров прочитанных страниц. =2006. написать программу, определяющую номер прочитанной страницы. 3)Выполнить поиск, используя однопроходные алгоритмы: Найти длину самой большой группы подряд идущих одинаковых элементов последовательности.Задача подразумевает работу с последовательностью символов, которые вводит пользователь. 4) Написать алгоритмы упорядочивания данных из файла (целые числа,количество элементов не менее 10000), согласному указанному методу сортировки. Предусмотреть в программе вывод количества произведенных сравнений и перестановок. Предусмотреть в программе подсчет количества сравнений и перестановок при "наилучшем" и "наихудшем" расположении элементов. Предусмотреть в программе вывод времени исполнения сортировки (в миллисекундах). Организовать ввод элементов файла в виде отдельной программы, предлагающей один из вариантов заполнения файла данными: случайным образом, числа из интервала (А,В) в возрастающем порядке, числа из интервала (А,В) в убывающем порядке. (Методом пузырька) |
21.12.2014, 22:46 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Не исключено, что ваша проблема уже решена в аналогичных топиках Ключ сортировки – любой, алгоритм сортировки – пузырек Рекурсия Методы сортировки Быстрый метод сортировки(Делфи) |
21.12.2014, 22:49 | #2 (permalink) |
Новичок
Регистрация: 21.12.2014
Сообщений: 5
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
вот есть наброски
2)написать программу Выполнить задание с использованием рекурсивных процедур или функций. Татьяна Ларина, читая очередной французский роман, подсчитала сумму номеров прочитанных страниц. =2006. написать программу, определяющую номер прочитанной страницы.(помогите найти ошибку,не работает для n=2) uses crt; procedure rec(n,k:integer;var s:integer); begin s:=k; if s<n then begin n:=n-s; k:=k+1; s:=s+k; rec(n,k,s); end; if s>n then s:=-1;{признак неправильного ввода n} end; var n,s:integer; begin clrscr; write('n='); readln(n); rec(n,1,s); write(s); readln end. 3) Выполнить поиск, используя однопроходные алгоритмы: Найти длину самой большой группы подряд идущих одинаковых элементов последовательности.Задача подразумевает работу с последовательностью символов, которые вводит пользователь.(нужно чтобы работала не только с числами,но и с символами) uses crt; var a,b,n,i,k,mx:integer; begin clrscr; repeat write('Размер последовательности n>1 n='); readln(n); until n>1; writeln('Введите элементы последовательности, целые числа:'); readln(a); mx:=1; k:=1; for i:=2 to n do begin readln(cool.gif; if b=a then inc(k); if (b<>a)or(i=n)then begin if k>mx then mx:=k; k:=1; end; a:=b; end; write('Максимальная длина идущих подряд одинаковых=',mx); readln end. |
24.12.2014, 12:22 | #4 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|