Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
1 / 1 / 0
Регистрация: 27.12.2011
Сообщений: 41
1

Переписать программы с использованием процедур

15.04.2012, 11:38. Показов 1283. Ответов 9
Метки нет (Все метки)

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
Program my_9;
uses crt;
var mas:Array[1..4,1..4] of integer;
       i,k,q:integer;
begin
     clrscr;
     writeln(‘Матрица индексов’); //выводим матрицу индексов
     for i:=1 to 4 do
     begin
          for k:=1 to 4 do
          write(i, ', ',k, ' ');
          writeln;
    end;
    q:=0;
          writeln('Матрица:');
          for k:=1 to 4 do
          begin
          mas[i,k]:=random(10); // заполняем массив
          write (mas[i,k], ' ');
            if i>=k then q:=q+mas[i,k]; // если условие истинно, то q присвоить q+mas[i,k]
            end;
    write('Сумма= ');
         end;
         writeln(q);
 end.
Нужно чтобы было решено с помощью процедур.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Program my_str13;
uses crt;
var s,sl,sn: string;
    i: integer;
begin
     writeln('Введите строку:');
     readln(s);
     s:=s+' ';
     sl:='';
     sn:='';
     for i:=1  to length(s) do //задаем переменной i начальное и конечное значение
       if s[i]<>' ' then sl:=sl+s[i] else //если условие истинно, то переменной sl прибавляем  s[i]
         if length(sl)>0 then
         begin
           if length(sl) mod 2=0 then sn:=sn+sl+' '; //если условие истинно, то sn:=sn+sl+' '
           sl:='';
         end;
     writeln('Модифицированная строка:',sn); //выводим ответ
end.
Нужно чтобы было решено с помощью процедур.

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
Program my_str66;
uses crt;
var
   a: array[1..256] of char;
   b,c: array[1..256] of char;
   k,i,j,z: integer;
   s: string;
begin
     writeln(‘Введите строку:);
     k:=1;
     z:=1;
     read(s);
     for i:=1 to length(s) do begin //задаём переменной i начальное и конечное значение
     if i mod 2 = 0 then begin //если условие истинно, то b[k]:=s[i]
     b[k]:=s[i];
     write(b[k]);
     end;
         if i mod 2 = 1 then begin //если условие истинно, то c[z]:=s[i]
         c[z]:=s[i];
         inc(z);
         end;
end;
    for j:=z-1 downto 1 do begin
    write(c[j]); //выводим массив
    end;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.04.2012, 11:38
Ответы с готовыми решениями:

Переписать программу с использованием процедур
Через процедуру сделать помогите program lb1; const nmax=15; var x:array of integer; ...

Организация программы с использованием процедур (Надо переделать)
Написать программу рисующую на экране заданное изображение Помогите переделать вот эту программу ...

Построена корона с использованием процедур. Пожалуйста отредактируйте её, под вид программы в примере
uses graphABC; procedure Fig(x1,y1,x2,y2,x3,y3,r,c,k:integer); begin SetPenColor(c);...

Переписать код с использованием процедур
Нужно записать вот эту program two_five_three; type mass=array of real; mass2=array of real;...

9
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
15.04.2012, 12:06 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Полностью из процедур или одной процедуры хватит?
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
Program my_9;
uses crt;
type arr = Array[1..4,1..4] of integer;
var mas: arr;
       i,k,q:integer;
 
procedure z(var m: arr; var qq: integer;i: integer);
var k: integer;
begin
 for k:=1 to 4 do
          begin
          mas[i,k]:=random(10); // заполняем массив
          write (mas[i,k], ' ');
            if i>=k then qq:=qq+mas[i,k]; // если условие истинно, то q присвоить q+mas[i,k]
            end;
          write('Сумма= ');
         writeln(qq);
end;
 
begin
     clrscr;
     writeln('Матрица индексов'); //выводим матрицу индексов
     for i:=1 to 4 do
     begin
          for k:=1 to 4 do
          write(i, ', ',k, ' ');
          writeln;
    end;
    q:=0;
          writeln('Матрица:');
          z(mas,q,i);
 end.
Добавлено через 5 минут
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
Program my_str13;
uses crt;
var s,sl,sn: string;
    i: integer;
procedure st(var sl,sn: string;s: string);
var i: integer;
begin
for i:=1  to length(s) do //задаем переменной i начальное и конечное значение
       if s[i]<>' ' then sl:=sl+s[i] else //если условие истинно, то переменной sl прибавляем  s[i]
         if length(sl)>0 then
         begin
           if length(sl) mod 2=0 then sn:=sn+sl+' '; //если условие истинно, то sn:=sn+sl+' '
           sl:='';
         end;
end;
    
begin
     writeln('Введите строку:');
     readln(s);
     s:=s+' ';
     sl:='';
     sn:='';
     st(sl,sn,s);
     writeln('Модифицированная строка:',sn); //выводим ответ
end.
Добавлено через 6 минут
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
Program my_str66;
uses crt;
type mas = array[1..256] of char;
var
   b,c: mas;
   k,i,j,z: integer;
   s: string;
   
procedure m(var z,k: integer; var b,c: mas; s: string);
var i: integer;
begin
 for i:=1 to length(s) do begin //задаём переменной i начальное и конечное значение
     if i mod 2 = 0 then begin //если условие истинно, то b[k]:=s[i]
     b[k]:=s[i];
     write(b[k]);
     end;
         if i mod 2 = 1 then begin //если условие истинно, то c[z]:=s[i]
         c[z]:=s[i];
         inc(z);
         end;
         end;
end;
   
begin
     writeln('Введите строку:');
     k:=1;
     z:=1;
     read(s);
     m(z,k,b,c,s);
     for j:=z-1 downto 1 do
      write(c[j]); //выводим массив
end.
1
1 / 1 / 0
Регистрация: 27.12.2011
Сообщений: 41
15.04.2012, 14:41  [ТС] 3
BumerangSP, наверно полностью из процедур,что бы потом тело самой программы было только вызовом процедур.
0
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
15.04.2012, 14:56 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Раньше надо было говорить
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
Program my_9;
uses crt;
type arr = Array[1..4,1..4] of integer;
var mas: arr;
       i,k,q:integer;
 
procedure b(var q,i: integer);
var k: integer;
begin
 writeln('Матрица индексов'); //выводим матрицу индексов
     for i:=1 to 4 do
     begin
          for k:=1 to 4 do
          write(i, ', ',k, ' ');
          writeln;
    end;
    q:=0;
end;
 
procedure z(var m: arr; var qq: integer;i: integer);
var k: integer;
begin
 writeln('Матрица:');
 for k:=1 to 4 do
          begin
          mas[i,k]:=random(10); // заполняем массив
          write (mas[i,k], ' ');
            if i>=k then qq:=qq+mas[i,k]; // если условие истинно, то q присвоить q+mas[i,k]
            end;
          write('Сумма= ');
         writeln(qq);
 
end;
 
begin
     clrscr;
     b(q,i);
     z(mas,q,i);
     readln;
 end.
Добавлено через 2 минуты
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
Program my_str13;
uses crt;
var s,sl,sn: string;
    i: integer;
 
procedure inp(var s,sl,sn: string);
begin
 writeln('Введите строку:');
     readln(s);
     s:=s+' ';
     sl:='';
     sn:='';
end;
 
procedure st(var sl,sn: string;s: string);
var i: integer;
begin
for i:=1  to length(s) do //задаем переменной i начальное и конечное значение
       if s[i]<>' ' then sl:=sl+s[i] else //если условие истинно, то переменной sl прибавляем  s[i]
         if length(sl)>0 then
         begin
           if length(sl) mod 2=0 then sn:=sn+sl+' '; //если условие истинно, то sn:=sn+sl+' '
           sl:='';
         end;
         writeln('Модифицированная строка:',sn); //выводим ответ
end;
 
begin
   clrscr;
   inp(s,sl,sn);
   st(sl,sn,s);
   readln;
end.
Добавлено через 2 минуты
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
Program my_str66;
uses crt;
type mas = array[1..256] of char;
var
   b,c: mas;
   k,i,j,z: integer;
   s: string;
 
procedure inp(var k,z: integer; var s: string);
begin
 writeln('Введите строку:');
     k:=1;
     z:=1;
     read(s);
end;
 
procedure m(var z,k: integer; var b,c: mas; s: string);
var i: integer;
begin
 for i:=1 to length(s) do begin //задаём переменной i начальное и конечное значение
     if i mod 2 = 0 then begin //если условие истинно, то b[k]:=s[i]
     b[k]:=s[i];
     write(b[k]);
     end;
         if i mod 2 = 1 then begin //если условие истинно, то c[z]:=s[i]
         c[z]:=s[i];
         inc(z);
         end;
         end;
         for j:=z-1 downto 1 do
      write(c[j]); //выводим массив
end;
 
begin
     clrscr;
     inp(k,z,s);
     m(z,k,b,c,s);
      readln;
end.
1
1 / 1 / 0
Регистрация: 27.12.2011
Сообщений: 41
15.04.2012, 15:15  [ТС] 5
BumerangSP, спасибо!)

Добавлено через 17 минут
BumerangSP, можешь не много переделать Program my_9; чтобы выводил в результате и матрицу индексов и заполненную матрицу, и самое главное должна быть сумма элементов ниже главной диагонали и входящие в нее.
0
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
15.04.2012, 15:20 6
DeD, мне бы полное задание посмотреть.
1
1 / 1 / 0
Регистрация: 27.12.2011
Сообщений: 41
15.04.2012, 15:26  [ТС] 7
BumerangSP, щас скину

Добавлено через 31 секунду
BumerangSP, Из матрицы 4х4 получить матрицу порядковых номеров элементов, для нее найти сумму элементов ниже главной диагонали.
0
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
15.04.2012, 15:32 8
DeD, т.е. нужно изначально создать какую-то матрицу с рандомными элементами, вывести матрицу ее индексов. А сумму элементов, я так понял самой матрицы, А не матрицы индексов
1
1 / 1 / 0
Регистрация: 27.12.2011
Сообщений: 41
15.04.2012, 15:39  [ТС] 9
BumerangSP, вот такой должен быть Результат работы программы:

Матрица индексов:
1,1 1,2 1,3 1,4
2,1 2,2 2,3 2,4
3,1 3,2 3,3 3,4
4,1 4,2 4,3 4,4
Матрица:
2 3 9 3
4 1 6 7
7 1 0 3
8 5 2 6
Сумма: 36

Добавлено через 2 минуты
BumerangSP, т.е., просто вывести матрицу индексов, потом эту же матрицу заполнить рандомно и вывести заполненную, а потом сумму элементов нижу главной диагонали
0
4311 / 1422 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
15.04.2012, 15:48 10
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
uses crt;
type mas = array [1..4,1..4] of integer;
var i,j,sum: integer;
    a: mas;
 
procedure inpm(var a: mas);
var i,j: integer;
begin
 writeln('Матрица:');
 for i:=1 to 4 do
  begin
   for j:=1 to 4 do
    begin
     a[i,j]:=random(10);
     write(a[i,j]:3);
    end;
   writeln;
  end;
 writeln;
end;
 
procedure inpi;
var i,j: integer;
begin
 writeln('Матрица индексов:');
 for i:=1 to 4 do
  begin
   for j:=1 to 4 do
    write(i, ',',j, '  ');
   writeln;
  end;
  writeln;
end;
 
procedure s(a: mas; var sum: integer);
var i,j: integer;
begin
 for i:=1 to 4 do
  for j:=1 to 4 do
   if i>=j then
    sum:=sum+a[i,j];
 writeln('Сумма: ',sum);
end;
 
begin
 clrscr;
 randomize;
 inpi;
 inpm(a);
 s(a,sum);
 readln;
end.
1
15.04.2012, 15:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.04.2012, 15:48
Помогаю со студенческими работами здесь

Переписать программу с использованием процедур
Здравствуйте, есть программа, как написать её с помощью процедур? uses crt; var s1, s2 : string;...

Переписать код с использованием процедур
Нужно переписать готовый код программы написанный форумцем STGE(за что ему большое спасибо),...

Разработка программы с использованием процедур и функций
Даны действительные числа p, s, t. (min(p,s)+min(p в квадрате,1+t))/(1+min(p+s,t))

Составление программы с использованием Нерекурсивных процедур
http://s47.***********/i115/1006/3b/119417deb72a.jpg Требуется помощь


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

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