Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 14.01.2011, 15:20   #1 (permalink)
antishoker
Новичок
 
Регистрация: 14.01.2011
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Exclamation Задачи Turbo Pascal

Доброго времени суток. В понедельник зачет по программированию, просто не успеваю сделать все задачи. Сейчас тружусь над базами данных, сделать еще и паскалевские задачи не успею. Прошу помощи смиренно

Тема: Подпрограммы

1) Вычислить z=(s1+s2)/k1k2 , где s1 и k1 - сумма и количество положительных элементов массива X (25); s2 и k2 - сумма и количество положительных элементов массива Y (20).Использовать подпрограмму-процедуру.

2) Вычислить z=(s1+s2)/k1k2 , где s1 и k1 - сумма и количество положительных элементов массива X (20); s2 и k2 - сумма и количество отрицательных элементов массива Y (25). Обе суммы вычислять в одной подпрограмме-процедуре.

3) Вычислить и запомнить суммы положительных элементов каждой строки матрицы A (10,20), B (15,10)

Тема: Двумерные массивы

1) Дана матрица V (15;10). Упорядочить по возрастанию элементы каждой строки матрицы. Отпечатать исходную и полученную матрицу.

Заранее спасибо огромное за помощь. Этой весной, в рядах вооруженных сил на одного призывника меньше
antishoker вне форума   Ответить с цитированием

Старый 14.01.2011, 15:20
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Топики, которые схожи с вашим

Turbo Pascal 8, дано натуральное число n
Cтек, Turbo Pascal
Turbo Pascal. Программирование алгоритмов циклической структуры

Старый 14.01.2011, 19:07   #2 (permalink)
radiotexnik
Бэтмен-любитель
 
Аватар для radiotexnik
 
Регистрация: 22.09.2010
Сообщений: 227
Записей в дневнике: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 149
По умолчанию

я в 9 классе, вот что могу
третья задача
матрица А:
Код:


Const M = 10; N = 10;
Var A:array[1..N,1..M] of Integer;
B:array[1..M] of Integer;
I,J:Integer;
begin
For I:=1 To M Do
Begin
B[I]:=0;
For J:=1 To N Do
If A[J,I] < 0 Then
Inc(B[I]);
End;
end.
radiotexnik вне форума   Ответить с цитированием
Старый 15.01.2011, 09:03   #3 (permalink)
shrek=)
Студент БГПУ
 
Аватар для shrek=)
 
Регистрация: 06.02.2010
Сообщений: 420
Записей в дневнике: 3
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 470
По умолчанию

Так как тема "Подпрограммы", то и использовать нужно подпрограммы.
Естественно код большой и может не совсем оптимальный.
Цитата:
Сообщение от antishoker Посмотреть сообщение
3) Вычислить и запомнить суммы положительных элементов каждой строки матрицы A (10,20), B (15,10)
Код:
const
m=20;
n=10;
k=15;
var
a:array [1..n,1..m] of integer;
b:array [1..k,1..n] of integer;
s:array [1..20,1..2] of integer;
i,j:integer;

procedure init;
begin
for i:=1 to 20 do
for j:=1 to 2 do
s[i,j]:=0;
end;


procedure zap(x,y:integer);
begin;
for i:=1 to x do begin
for j:=1 to y do begin
a[i,j]:=random(20);
write (a[i,j]:4);
end;
writeln;
end;
end;

procedure zap1(q,w:integer);
begin;
for i:=1 to q do begin
for j:=1 to w do begin
b[i,j]:=random(20);
write (b[i,j]:4);
end;
writeln;
end;
end;

procedure suma;
begin
for i:=1 to n do begin
for j:=1 to m do
if a[i,j]>0 then begin
s[i,1]:=s[i,1]+a[i,j];
write (i,')',s[i,1]:3,' ');
end;
end;
end;

procedure sumb;
begin
for i:=1 to k do begin
for j:=1 to n do
if b[i,j]>0 then begin
s[i,2]:=s[i,2]+b[i,j];
write (i,')',s[i,2]:3,' ');
end;
end;
end;

begin
randomize;
init;
writeln ('First');;
zap(n,m);
writeln ('Summa');
suma;
writeln;
writeln ('Second');
zap1(k,n);
writeln ('summa');
sumb;

readln
end.
shrek=) вне форума   Ответить с цитированием
Старый 15.01.2011, 09:34   #4 (permalink)
shrek=)
Студент БГПУ
 
Аватар для shrek=)
 
Регистрация: 06.02.2010
Сообщений: 420
Записей в дневнике: 3
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 470
По умолчанию

Цитата:
Сообщение от antishoker Посмотреть сообщение
Дана матрица V (15;10). Упорядочить по возрастанию элементы каждой строки матрицы. Отпечатать исходную и полученную матрицу.
Задача решена тут, только поменяйте значение m и n (размерность матрицы) и задача решена.
shrek=) вне форума   Ответить с цитированием
Старый 15.01.2011, 09:56   #5 (permalink)
shrek=)
Студент БГПУ
 
Аватар для shrek=)
 
Регистрация: 06.02.2010
Сообщений: 420
Записей в дневнике: 3
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 470
По умолчанию

Цитата:
Сообщение от antishoker Посмотреть сообщение
1) Вычислить z=(s1+s2)/k1k2 , где s1 и k1 - сумма и количество положительных элементов массива X (25); s2 и k2 - сумма и количество положительных элементов массива Y (20).Использовать подпрограмму-процедуру.
Код:
var
x:array [1..25] of integer;
y:Array [1..20] of integer;
i,s1,s2,k1,k2:integer;
z:real;

procedure init_x;
begin
for i:=1 to 25 do begin
x[i]:=random(30)-15;
write (x[i]:3);
end;
end;

procedure init_y;
begin
for i:=1 to 20 do begin
y[i]:=random(30)-15;
write (y[i]:3);
end;
end;

procedure first;
begin
s1:=0;
k1:=0;
for i:=1 to 25 do begin
if x[i]>0 then
s1:=s1+x[i];
end;
k1:=s1;
end;

procedure second;
begin
s2:=0;
k2:=0;
for i:=1 to 25 do begin
if x[i]>0 then
s2:=s2+x[i];
end;
k2:=s2;
end;

begin
randomize;
init_x;
writeln;
init_y;
first;
second;
writeln;
z:=(s1+s2)/k1*k2;
writeln ('z=',z);
readln
end.
shrek=) вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Метки
turbo pascal, массивы, подпрограммы, турбо паскаль

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 05:25.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.