Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

052010 Принял- ст

Работа добавлена на сайт samzan.net:


Федеральное агентство по образованию

ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

Кафедра компьютерных систем

в управлении и проектировании (КСУП)

ОТЧЕТ

К лабораторной работе  7 (сортировка) по дисциплине

“Программирование на языках высокого уровня”

Выполнила:

Студентка гр. 539

Безверхая О.С.

31.05.2010

Принял:

ст. преподаватель каф. КСУП

Е. А. Потапова

2010

Оглавление

ВВЕДЕНИЕ 3

Анализ задачи № 10 4

БЛОК-СХЕМА  к функции в задаче № 10 5

БЛОК-СХЕМА  к функции в задаче № 10 6

Решение задачи № 10 на языке  Turbo Paskal 7

Анализ задачи № 24 8

БЛОК-СХЕМА  к процедуре в задаче № 24 9

БЛОК-СХЕМА  к  задаче № 23 10

Решение задачи № 24 на языке  Turbo Paskal 11

ЗАКЛЮЧЕНИЕ 12

Приложение 1 13

ВВЕДЕНИЕ

Данная лабораторная работа посвящена решению задач в разделе “Сортировка”. Цель работы –научится применять основные методы сортировки, которые были  даны в курсе лекций. В данной работе представлено решение и анализ задач  №10 и  №24 из лабораторной работы №7


Анализ задачи № 10

   Пусть для целого n>0 функция d(n) равна наименьшему делителю числа n, не равному1.Дано m>0. Упорядочить все числа n от 1 до m в порядке  неубывания значений  d(n).

    Указание: использовать только один массив длиной m.

Для решения задачи:

- формируем тело программы и описываем переменные;

- пишем функцию для определения наименьшего делителя;

- создаем цикл для сортировки элементов в массиве а;

- выводим на экран отсортированный массив;

- завершаем программу.

Переменные:

a – массив;

i,j - переменные цикла;

k,n,m –вспомогательные переменные;

d – название функции;


БЛОК-СХЕМА  к функции в задаче № 10

B mod c=0

конец

d:=c

break

c:=2,b

старт


БЛОК-СХЕМА  к функции в задаче № 10

старт

        

m

i:=1,m

i=1,m

i=1,m

a[i]:=i

     

                           

                                               

                                            

i:=2,m

                        

j:=2,i

a[i]

a[i]:=a[j]

d(a[i])<d(a[j])

a[j]:=k

k:=a[i]

i:=1,m

конец


Решение задачи № 10 на языке  Turbo Paskal

uses crt;

var

a:array [1..1000] of integer;

i,j,k,n,m:integer;

function d (var b:integer):integer;

var c:integer;

begin

     for c:=2 to b do

     if b mod c=0 then break;

     d:=c;

end;

begin

clrscr;

write('Vvedite m: ');

readln (m);

for i:=1 to m do

a[i]:=i;

for i:=2 to m do

 begin

   for j:=2 to i do

    begin

       if d(a[i]) < d(a[j]) then

        begin

         k:=a[i];

         a[i]:=a[j];

         a[j]:=k;

         end;

   end;

end;

for i:=1 to m do

write (a[i],' ');

readln;

end.

Анализ задачи № 24

       Дана матрица из целых чисел A размерности MxN. Упорядочить элементы матрицы так, чтобы

     A[i , j] >= A[i , k], если k >= j для всех i,

     A[i1 , j1] >= A[i2 , j2], если i2 >= i1 для всех j1, j2, т.е. все элементы  матрицы должны быть  расположены по убыванию.

Для решения задачи:

- формируем тело программы и описываем переменные;

- создаем процедуру для вывода матрицы;

- создаем цикл для сортировки матрицы с;

- меняем нужные элементы местами;

- выводим отсортированную матрицу;

-завершаем программу.

Переменные:

с- матрица;

i,j,i1,i2,j1,j2 – переменные циклов;

t – вспомогательная переменная.

БЛОК-СХЕМА  к процедуре в задаче № 24

конец

d[ii,jj]

jj:=1,m

writeln

ii:=1,n

старт


БЛОК-СХЕМА  к  задаче № 23

старт

i:= 1,n

j:= 1,m

c[i,j]:= random(10)

vivod(c)

i1:=1,n

j1:=1,m

i2:=1,n

j2:=1,m

((i2=i1)and(j2<=j1))or(i2<i1)

Continue

c[i1,j1]<c[i2,j2]

t:=c[i1,j1];

c[i1,j1]:=c[i2,j2];

c[i2,j2]:=t

конец

vivod(c)

Решение задачи № 24 на языке  Turbo Paskal

const n=3;m=4;

type mat=array[1..n,1..m] of integer;

var i1,i2,j1,j2,t,i,j:integer;

   c:mat;

procedure Vivod(d:mat);

var ii,jj:integer;

begin

for ii:=1 to n do begin

 for jj:=1 to m do

  write(d[ii,jj],' ');

  writeln;

  end;

writeln;

end;

begin

randomize;

for i:= 1 to n do

 for j:= 1 to m do

  c[i,j]:= random(10);

vivod(c);

for i1:=1 to n do

 for j1:=1 to m do

  for i2:=1 to n do

   for j2:=1 to m do

    begin

     if (((i2=i1)and(j2<=j1))or(i2<i1)) then Continue;

    if (c[i1,j1]<c[i2,j2]) then

      begin

      t:=c[i1,j1];

      c[i1,j1]:=c[i2,j2];

      c[i2,j2]:=t;

      end;

    end;

vivod(c);

readln;

end.

ЗАКЛЮЧЕНИЕ

В ходе лабораторной работы были применены знания, полученные на теоретических занятиях. При выполнении данной лабораторной работы – научилась применять основные методы сортировки.


Приложение 1

Тестирование задачи № 10:

Тестирование задачи № 24:




1. Вундта Центральной проблемой исследований В
2. Лекция 3 НАРОДНОЕ ВОСПИТАНИЕ В НАСЛЕДИИ КЛАССИКОВ ПЕДАГОГИКИ Взаимодействие народной педагогики нар
3. правовой формы организации он может называться поразному- в хозяйственных товариществах полное това
4. Производственные отношения
5. Тема- Планирование организация и экономика ветеринарных мероприятий по лечению и ликвидации диспепси
6. Контрольная работа 3
7. Витрувианский человек
8. ТЕМА СТАТИСТИЧНОЇ ДІАГНОСТИКИ СТАНУ ВИРОБІВ ІЗ КОМПОЗИЦІЙНИХ МАТЕРІАЛІВ Спеціаль
9. исследовательских работ по курсу география- 6 класс
10. хорошо развитые аналитические способности определяющие возможности оценивать ситуацию и совершать осозна
11. Культура как система ценностей Эмоционально ценностные ориентации
12. Блок памяти
13. Тема 2 Архітектура Франції доби Просвітництва Рис
14. Тема- Трудности и проблемы при доступе к информации о состоянии кадрового резерва государственной и муници
15. Дети капитана Гранта Жюль Габриэль Верн Дети капитана Гранта MCt78 http---lib
16. Идейная направленность романа Ф М Достоевского «Униженные и оскорбленные»
17. Обработка экспериментальных данных
18. Детский рисунок в системе индивидуального общения и изучения детей с патологией
19. Организация деятельности Центрального банка 1.
20. Радиационное загрязнени