Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Sapfee
1

Построить блок-схему

09.05.2014, 13:23. Показов 433. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. Очень нужна Ваша помощь. Программу кое-как написать удалось, а вот с блок-схемой совсем беда. Очень была бы признательна, если кто-нибудь смог нарисовать мне блок-схемы. Желательно подробные, но это вовсе не обязательно.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
Program Par_Pryam;
const n=100;
type mas=array[1..n,1..3] of integer;
     mmm=array[1..3] of integer;
var V,V2:mas;
    ii,m:integer;
    s:real;
 
 
Function PLine (var L1,L2:mmm):boolean; //Определение, параллельны ли прямые
    begin
      if L1[1]/L2[1]=L1[2]/L2[2] then
           Pline:=true
      else Pline:=false;
    end;
    
Function Rasst (var C1, C2: integer): real; //Определение расстояния между прямыми
    begin
      Rasst := abs(C2-C1);
    end;
    
Procedure Vvod(var m:integer; var V:mas; var s:real);  //Заполнение массива коэффициентов прямых
  var i,j:integer;
    begin
      writeln ('Введите количество прямых:');
      readln (m);
      writeln ('Введите коэффициенты прямых:');
      for i:=1 to m do
          for j:=1 to 3 do
            begin
              readln(V[i,j]);
            end;
      writeln ('Введите расстояние между прямыми:');
      readln (s);
    end;
 
Procedure Vivod(V:mas);   //Вывод первого массива на экран
  var i,j:integer;
    begin
      for i:=1 to m do
        begin
          write(V[i,1],'x + ',V[i,2],'y + ',V[i,3]);
          writeln;
        end;
    end;
    
Procedure Massiv2(i1,i2: integer; V:mas; var V2:mas); //Заполнение второго массива
  var i,j:integer;  //парами прямых с расстоянием меньше заданного в условиях
    begin
      i:= ii;
          for j:= 1 to 3 do
            begin
              V2[i,j]:= V[i1,j];
              V2[i+1,j]:= V[i2,j];
            end;
      ii:= ii+2;
    end;
 
Procedure Vivod2(V2:mas; ii:integer);   //Вывод второго массива на экран
  var i:integer;
    begin
      if ii = 1 then
        begin
         writeln('Нет параллельных прямых с заданным расстоянием');
         exit;
        end;
      writeln ('Пары параллельных прямых с заданным расстоянием: ');
      for i:=1 to (ii-1) do
        begin
          write(V2[i,1],'x + ',V2[i,2],'y + ',V2[i,3]);
          writeln;
        end;
    end;
    
Procedure Parall(m:integer; V:mas);
  var i1,i2,f:integer;
      L1,L2:mmm;
      r:real;
    begin
       f:=0;
          for i1:=1 to (m-1) do
            begin
             L1[1]:=V[i1,1]; L1[2]:=V[i1,2];
              for i2:=i1+1 to m do
                 begin
                   L2[1]:=V[i2,1]; L2[2]:=V[i2,2];
                     if PLine(L1,L2) then
                        begin
                          r := Rasst(V[i1,3],V[i2,3]);
                          writeln('Данные прямые параллельны:');
                          writeln('----------------------------');
                          writeln (V[i1,1],'x + ',V[i1,2],'y + ',V[i1,3]);
                          writeln (V[i2,1],'x + ',V[i2,2],'y + ',V[i2,3]);
                          writeln('Расстояние между прямыми: ',r);
                          writeln('----------------------------');
                            if r < s then
                               begin
                                 Massiv2(i1,i2,V,V2);
                               end;
                          f:=f+1;
                        end;
                 end;
            end;
       if (f=0) then
         begin
          writeln ('Параллельных прямых нет');
          exit;
         end;
    end;
 
begin
  ii:= 1;
  Vvod(m,V,s);
  Vivod(V);
  Parall(m,V);
  Vivod2(V2,ii);
end.
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.05.2014, 13:23
Ответы с готовыми решениями:

Построить блок-схему
Здравствуйте. Помогите составить блок схему решения задачи pascal: Дан массив A(n). На языке...

Построить блок-схему
Program zadacha1; {caaaiea 1 aa?eaio 30} USES CRT; CONST a=4; b=4; VAR C:array of...

Построить блок-схему к программе
Напишите плиз блок схему к задаче) Program xy; uses crt; Var a: array of integer; i, j, m,...

Построить блок-схему по коду
Помогите построить блок схему program d; var n,i: integer; p,t: real; begin ...

0
09.05.2014, 13:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.05.2014, 13:23
Помогаю со студенческими работами здесь

Построить блок-схему по программе
const alpha = 0.001; var c, s: real; n: integer; begin c := -0.5; s := c;

Построить блок схему по программе
Uses crt; Var f: text; prov,fam: string ; v,n: integer; ot,d: integer; ...

Построить блок-схему по задаче.
Заполнить одномерный массив В(n) так, чтобы каждый элемент с четным индексом был равен половине...

Массивы. Построить блок-схему
Помогите пожалуйста написать блок-схему к задачи:Даны целые числа а1,а2,а3.Получите целочисленную...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru