Разработка алгоритма и написание программы на языке Turbo Pascal

Автор работы: Пользователь скрыл имя, 12 Октября 2014 в 22:06, курсовая работа

Краткое описание

Разработать алгоритм и написать программу на языке Turbo Pascal.
Задана матрица (двумерный массив) A размером N x М, состоящая из действительных элементов. Числа M и N вводятся с клавиатуры. Для задания исходной матрицы предусмотреть ввод с клавиатуры или ввод с помощью датчика случайных чисел. Где это необходимо ввести квадратную матрицу. Во всех вариантах вывести исходную матрицу в общепринятом виде и необходимые результаты работы программы.
Сформировать вектор из произведения элементов столбцов и найти их среднее арифметическое. Упорядочить вектор по не возрастанию. Вывести на экран упорядоченный и неупорядоченный векторы, среднее арифметическое.

Содержание

Задание №1 4
Задание №2 11
Задание №3 18
Задание №4 22
Задание №5 37
Список литературы 47

Вложенные файлы: 1 файл

Готовая курсовая.docx

— 1.65 Мб (Скачать файл)

Оглавление

 

 

Задание №1

 

Разработать алгоритм и написать программу на языке  Turbo Pascal.

Задана матрица (двумерный массив) A размером N x М,  состоящая из действительных элементов. Числа M и N вводятся с клавиатуры. Для задания исходной матрицы предусмотреть ввод с клавиатуры или ввод с помощью датчика случайных чисел. Где это необходимо ввести квадратную матрицу.  Во всех вариантах вывести исходную матрицу в общепринятом виде и необходимые результаты работы программы.

Сформировать вектор из произведения элементов столбцов и найти их среднее арифметическое. Упорядочить вектор по не возрастанию. Вывести на экран упорядоченный и неупорядоченный векторы, среднее арифметическое.

 

Программа:

program mm;

var

a: array [1..10,1..10] of integer;

b: array [1..100] of integer;

n, m, i, j, d, s, p: integer;

begin

writeln (‘vvedite n, m’);

readln (n, m);

writeln (‘vvedite sposob 1 ili 2’);

readln (d);

if d=1 then

begin

for i:=1 to n do

begin

for j:=1 to m do

read (a[i,j]);

readln;

end;

end

else

begin

randomize;

for i:=1 to n do

for j:=1 to m do

a[i,j]:=random (50)-20;

end;

for i:=1 to n do

begin

for j:=1 to m do

write (a[i,j], ‘ ‘);

writeln;

end;

for i:=1 to n do

begin

  for j:=1 to m do

   begin

    a[i,j]:=random(9)+1;

    write(a[i,j],' ');

   end;

  writeln;

end;

writeln('ne uporjdochinni vektor');

  s:=0;

For j:=1 to m do

  begin

       p:=1; {proizvedenie stilbca}

       for i:=1 to n do

       p:=p*a[i,j];

       b[j]:=p;

       s:=s+p;

       write(b[j],' ');

       end;

       s:=s div m;

   writeln;

       for i:=2 to n-1 do

       for k:=m downto i do

       if b[k]>b[k-1] then

        begin

          p:=b[k];

          b[k]:=b[k-1];

          b[k-1]:=p;

         end;

writeln ('vektor uporadochinni');

  for i:=1 to n do

write(b[j],' ');

  writeln;

writeln ('srednee arifmeticheskoe ',s);

readln

end.

 

Блок-схема:


 


 



                                                      нет                                                          да 






 



                                                                                 






 








 







 


 


 






 




 


 








 




                                                                                                                нет


                                                                                                          да


 


 


 



                                                                                    





 






 

 


 

 

 

 

 

 

Пример работы программы:

 
Задание №2

 

Построение электронных таблиц.

По 4-5 адресам находится не менее 15 фирм-арендаторов. Постройте для фирм таблицу, отражающую расчеты за услуги.

Расчет ячеек:

- В графе Начисления: аренда, коммун. платежи, тех. обслуживание  рассчитываются как произведение  площади аренды на соответствующий  коэффициент. Коэффициент берется  из таблицы коэффициентов.

- Процент НДС берется  из таблицы коэффициентов и  составляет 10-20%.

Таблица коэффициентов:

услуга

коэффициент

аренда

100

коммун. платежи

16

тех. обслуживание

9

НДС

20,00%


 

 

Вывести на печать список фирм с использованием фильтра:

Десять фирм, имеющих минимальные итоговые начисления.

Используя имеющиеся или специально созданные таблицы, построить:

Диаграмму, отображающую долю каждого должника в общей сумме долга на конец месяца.

 

 

Таблица 1 - Фирмы-арендаторы

Фирма-арендатор

Адрес

Занимаемая площадь

Начало месяца

Начисленно

Итого Начисленно

задолженность

переплата

аренда

НДС аренды

коммун. платежи

НДС

тех. обслуживание

1

ооо "нива"

ул. Маринченко 47

1451

12 000,00р.

 

145 100,00р.

29 020,00р.

23 216,00р.

4 643,20р.

13 059,00р.

215 038,20р.

2

магнит

ул. Маринченко 47

135

 

23 000,00р.

13 500,00р.

2 700,00р.

2 160,00р.

432,00р.

1 215,00р.

20 007,00р.

3

ИП Качанов

ул. Маринченко 47

123

 

4 000,00р.

12 300,00р.

2 460,00р.

1 968,00р.

393,60р.

1 107,00р.

18 228,60р.

4

паллада

ул. Маринченко 47

965

8 000,00р.

 

96 500,00р.

19 300,00р.

15 440,00р.

3 088,00р.

8 685,00р.

143 013,00р.

5

оао "орлекс"

ул. Маяковского 54

1112

 

5 000,00р.

111 200,00р.

22 240,00р.

17 792,00р.

3 558,40р.

10 008,00р.

164 798,40р.

6

саркис

ул. Маяковского 54

987

 

11 500,00р.

98 700,00р.

19 740,00р.

15 792,00р.

3 158,40р.

8 883,00р.

146 273,40р.

7

цептер

ул. Маяковского 54

654

 

7 600,00р.

65 400,00р.

13 080,00р.

10 464,00р.

2 092,80р.

5 886,00р.

96 922,80р.

8

адидас

ул. Маяковского 54

986

20 000,00р.

 

98 600,00р.

19 720,00р.

15 776,00р.

3 155,20р.

8 874,00р.

146 125,20р.

9

альянс

ул. Гуртьева 98

234

 

19 000,00р.

23 400,00р.

4 680,00р.

3 744,00р.

748,80р.

2 106,00р.

34 678,80р.

10

мтс

ул. Гуртьева 98

438

10 500,00р.

 

43 800,00р.

8 760,00р.

7 008,00р.

1 401,60р.

3 942,00р.

64 911,60р.

11

мвидео

ул. Гуртьева 98

456

 

6 000,00р.

45 600,00р.

9 120,00р.

7 296,00р.

1 459,20р.

4 104,00р.

67 579,20р.

12

рибок

ул. Гуртьева 98

805

3 500,00р.

 

80 500,00р.

16 100,00р.

12 880,00р.

2 576,00р.

7 245,00р.

119 301,00р.

13

ооо "двери"

ул. Васильевская 11

579

10 000,00р.

 

57 900,00р.

11 580,00р.

9 264,00р.

1 852,80р.

5 211,00р.

85 807,80р.

14

гамма

ул. Васильевская 11

905

 

5 000,00р.

90 500,00р.

18 100,00р.

14 480,00р.

2 896,00р.

8 145,00р.

134 121,00р.

15

багира

ул. Васильевская 11

543

 

16 000,00р.

54 300,00р.

10 860,00р.

8 688,00р.

1 737,60р.

4 887,00р.

80 472,60р.

Итого

10373

64000

97100

1037300

207460

165968

33193,6

93357

1537278,6


 

 

 

 

 

 

Продолжение таблицы 1 - Фирмы-арендаторы

Проплачено

Итого проплачено

На конец месяца

Статус

аренда

коммун.платежи

тех. обслуживание

задолженность

переплата

 

11 000,00р.

9 000,00р.

20 000,00р.

207 038,20р.

0,00р.

Долг

22 000,00р.

7 000,00р.

4 000,00р.

33 000,00р.

0,00р.

35 993,00р.

 

 

20 000,00р.

5 500,00р.

3 000,00р.

28 500,00р.

0,00р.

14 271,40р.

 

 

40 500,00р.

 

6 600,00р.

47 100,00р.

103 913,00р.

0,00р.

Долг

41 000,00р.

7 000,00р.

3 200,00р.

51 200,00р.

108 598,40р.

0,00р.

Долг

43 000,00р.

4 300,00р.

6 000,00р.

53 300,00р.

81 473,40р.

0,00р.

Долг

30 000,00р.

5 400,00р.

1 000,00р.

36 400,00р.

52 922,80р.

0,00р.

Долг

 

5 900,00р.

 

5 900,00р.

160 225,20р.

0,00р.

Долг

12 000,00р.

4 300,00р.

3 400,00р.

19 700,00р.

0,00р.

4 021,20р.

 

 

17 000,00р.

 

4 900,00р.

21 900,00р.

53 511,60р.

0,00р.

Долг

15 000,00р.

1 300,00р.

5 300,00р.

21 600,00р.

39 979,20р.

0,00р.

Долг

37 000,00р.

5 300,00р.

 

42 300,00р.

80 501,00р.

0,00р.

Долг

   

6 500,00р.

6 500,00р.

89 307,80р.

0,00р.

Долг

43 000,00р.

7 000,00р.

3 000,00р.

53 000,00р.

76 121,00р.

0,00р.

Долг

21 000,00р.

2 900,00р.

1 500,00р.

25 400,00р.

39 072,60р.

0,00р.

Долг

341500

66900

57400

465800

1092664,2

54285,6

 

 

 

Таблица 2 - Фирмы-арендаторы (в формульном виде):

Фирма-арендатор

Адрес

Занимаемая площадь

Начало месяца

Начисленно

Итого Начисленно

задолженность

переплата

аренда

НДС аренды

коммун. платежи

НДС

тех. обслуживание

1

ооо "нива"

ул. Маринченко 47

1451

12000

 

=D3*$C$21

=G3*$C$24

=D3*$C$22

=I3*$C$24

=D3*$C$23

=СУММ(G3:K3)

=A3+1

магнит

ул. Маринченко 47

135

 

23000

=D4*$C$21

=G4*$C$24

=D4*$C$22

=I4*$C$24

=D4*$C$23

=СУММ(G4:K4)

=A4+1

ИП Качанов

ул. Маринченко 47

123

 

4000

=D5*$C$21

=G5*$C$24

=D5*$C$22

=I5*$C$24

=D5*$C$23

=СУММ(G5:K5)

=A5+1

паллада

ул. Маринченко 47

965

8000

 

=D6*$C$21

=G6*$C$24

=D6*$C$22

=I6*$C$24

=D6*$C$23

=СУММ(G6:K6)

=A6+1

оао "орлекс"

ул. Маяковского 54

1112

 

5000

=D7*$C$21

=G7*$C$24

=D7*$C$22

=I7*$C$24

=D7*$C$23

=СУММ(G7:K7)

=A7+1

саркис

ул. Маяковского 54

987

 

11500

=D8*$C$21

=G8*$C$24

=D8*$C$22

=I8*$C$24

=D8*$C$23

=СУММ(G8:K8)

=A8+1

цептер

ул. Маяковского 54

654

 

7600

=D9*$C$21

=G9*$C$24

=D9*$C$22

=I9*$C$24

=D9*$C$23

=СУММ(G9:K9)

=A9+1

адидас

ул. Маяковского 54

986

20000

 

=D10*$C$21

=G10*$C$24

=D10*$C$22

=I10*$C$24

=D10*$C$23

=СУММ(G10:K10)

=A10+1

альянс

ул. Гуртьева 98

234

 

19000

=D11*$C$21

=G11*$C$24

=D11*$C$22

=I11*$C$24

=D11*$C$23

=СУММ(G11:K11)

=A11+1

мтс

ул. Гуртьева 98

438

10500

 

=D12*$C$21

=G12*$C$24

=D12*$C$22

=I12*$C$24

=D12*$C$23

=СУММ(G12:K12)

=A12+1

мвидео

ул. Гуртьева 98

456

 

6000

=D13*$C$21

=G13*$C$24

=D13*$C$22

=I13*$C$24

=D13*$C$23

=СУММ(G13:K13)

=A13+1

рибок

ул. Гуртьева 98

805

3500

 

=D14*$C$21

=G14*$C$24

=D14*$C$22

=I14*$C$24

=D14*$C$23

=СУММ(G14:K14)

=A14+1

ооо "двери"

ул. Васильевская 11

579

10000

 

=D15*$C$21

=G15*$C$24

=D15*$C$22

=I15*$C$24

=D15*$C$23

=СУММ(G15:K15)

=A15+1

гамма

ул. Васильевская 11

905

 

5000

=D16*$C$21

=G16*$C$24

=D16*$C$22

=I16*$C$24

=D16*$C$23

=СУММ(G16:K16)

=A16+1

багира

ул. Васильевская 11

543

 

16000

=D17*$C$21

=G17*$C$24

=D17*$C$22

=I17*$C$24

=D17*$C$23

=СУММ(G17:K17)

Итого

=СУММ(D3:D17)

=СУММ(E3:E17)

=СУММ(F3:F17)

=СУММ(G3:G17)

=СУММ(H3:H17)

=СУММ(I3:I17)

=СУММ(J3:J17)

=СУММ(K3:K17)

=СУММ(L3:L17)


 

 

 

 

Продолжение таблицы 2 - Фирмы-арендаторы (в формульном виде):

Проплачено

Итого проплачено

На конец месяца

Статус

аренда

коммун.платежи

тех. обслуживание

задолженность

переплата

 

11000

9000

=СУММ(M3:O3)

=ЕСЛИ((L3+E3)>(P3+F3);L3+E3-F3-P3;0)

=ЕСЛИ((L3+E3)<(P3+F3);P3+F3+E3-L3;0)

=ЕСЛИ(Q3>0;"Долг";" ")

22000

7000

4000

=СУММ(M4:O4)

=ЕСЛИ((L4+E4)>(P4+F4);L4+E4-F4-P4;0)

=ЕСЛИ((L4+E4)<(P4+F4);P4+F4+E4-L4;0)

=ЕСЛИ(Q4>0;"Долг";" ")

20000

5500

3000

=СУММ(M5:O5)

=ЕСЛИ((L5+E5)>(P5+F5);L5+E5-F5-P5;0)

=ЕСЛИ((L5+E5)<(P5+F5);P5+F5+E5-L5;0)

=ЕСЛИ(Q5>0;"Долг";" ")

40500

 

6600

=СУММ(M6:O6)

=ЕСЛИ((L6+E6)>(P6+F6);L6+E6-F6-P6;0)

=ЕСЛИ((L6+E6)<(P6+F6);P6+F6+E6-L6;0)

=ЕСЛИ(Q6>0;"Долг";" ")

41000

7000

3200

=СУММ(M7:O7)

=ЕСЛИ((L7+E7)>(P7+F7);L7+E7-F7-P7;0)

=ЕСЛИ((L7+E7)<(P7+F7);P7+F7+E7-L7;0)

=ЕСЛИ(Q7>0;"Долг";" ")

43000

4300

6000

=СУММ(M8:O8)

=ЕСЛИ((L8+E8)>(P8+F8);L8+E8-F8-P8;0)

=ЕСЛИ((L8+E8)<(P8+F8);P8+F8+E8-L8;0)

=ЕСЛИ(Q8>0;"Долг";" ")

30000

5400

1000

=СУММ(M9:O9)

=ЕСЛИ((L9+E9)>(P9+F9);L9+E9-F9-P9;0)

=ЕСЛИ((L9+E9)<(P9+F9);P9+F9+E9-L9;0)

=ЕСЛИ(Q9>0;"Долг";" ")

 

5900

 

=СУММ(M10:O10)

=ЕСЛИ((L10+E10)>(P10+F10);L10+E10-F10-P10;0)

=ЕСЛИ((L10+E10)<(P10+F10);P10+F10+E10-L10;0)

=ЕСЛИ(Q10>0;"Долг";" ")

12000

4300

3400

=СУММ(M11:O11)

=ЕСЛИ((L11+E11)>(P11+F11);L11+E11-F11-P11;0)

=ЕСЛИ((L11+E11)<(P11+F11);P11+F11+E11-L11;0)

=ЕСЛИ(Q11>0;"Долг";" ")

17000

 

4900

=СУММ(M12:O12)

=ЕСЛИ((L12+E12)>(P12+F12);L12+E12-F12-P12;0)

=ЕСЛИ((L12+E12)<(P12+F12);P12+F12+E12-L12;0)

=ЕСЛИ(Q12>0;"Долг";" ")

15000

1300

5300

=СУММ(M13:O13)

=ЕСЛИ((L13+E13)>(P13+F13);L13+E13-F13-P13;0)

=ЕСЛИ((L13+E13)<(P13+F13);P13+F13+E13-L13;0)

=ЕСЛИ(Q13>0;"Долг";" ")

37000

5300

 

=СУММ(M14:O14)

=ЕСЛИ((L14+E14)>(P14+F14);L14+E14-F14-P14;0)

=ЕСЛИ((L14+E14)<(P14+F14);P14+F14+E14-L14;0)

=ЕСЛИ(Q14>0;"Долг";" ")

   

6500

=СУММ(M15:O15)

=ЕСЛИ((L15+E15)>(P15+F15);L15+E15-F15-P15;0)

=ЕСЛИ((L15+E15)<(P15+F15);P15+F15+E15-L15;0)

=ЕСЛИ(Q15>0;"Долг";" ")

43000

7000

3000

=СУММ(M16:O16)

=ЕСЛИ((L16+E16)>(P16+F16);L16+E16-F16-P16;0)

=ЕСЛИ((L16+E16)<(P16+F16);P16+F16+E16-L16;0)

=ЕСЛИ(Q16>0;"Долг";" ")

21000

2900

1500

=СУММ(M17:O17)

=ЕСЛИ((L17+E17)>(P17+F17);L17+E17-F17-P17;0)

=ЕСЛИ((L17+E17)<(P17+F17);P17+F17+E17-L17;0)

=ЕСЛИ(Q17>0;"Долг";" ")

=СУММ(M3:M17)

=СУММ(N3:N17)

=СУММ(O3:O17)

=СУММ(P3:P17)

=СУММ(Q3:Q17)

=СУММ(R3:R17)

 

Информация о работе Разработка алгоритма и написание программы на языке Turbo Pascal