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

052010 Принял- ст

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

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 28.4.2025

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

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

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

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

ОТЧЕТ

К лабораторной работе  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. САНКТПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ КИНО И ТЕЛЕВИДЕНИЯ ИНСТИТУТ ЭКОНОМИКИ И УПРАВЛЕНИЯ
4. this Christms nd New Yer 25 Jnury Birthdy of Robert Burns Ntionl Dy Birthdy outstnding poet Robert Burns Robert Burns Jnury 25 1759 July 21 1796 is widely celebrt
5. Стратегия будущего развития человечества
6. Кто владеет информацией ~ владеет миром
7. Курсовая работа- Организационное поведение- сущность и основные категории
8. Статья- Фармакотерапия дерматитов
9. Профессиональная ориентация молодёжи
10. Тестируем пакеты планирования заданий