Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2009, 18:20   #1
denis15
 
Регистрация: 27.04.2009
Сообщений: 9
По умолчанию Турбо Паскаль с массивами

Составить программу вычисления функции
z=(c+S1+S2)*(k1+k2)/2;
S1-среднее арифметическое заданного массива А,
K1-количество нулевых элементов в нем;
S2 и K2 соответствующие элементы второго массива В.

Для нахождения Si и Ki использовать SUBROUTINE
denis15 вне форума Ответить с цитированием
Старый 09.06.2009, 18:22   #2
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

вам не понятно слово "SUBROUTINE"? Так называют подпрограммы... т.е. реализовать программу надо с использованием процедур или функций..
Uguu~
__STDC__ вне форума Ответить с цитированием
Старый 09.06.2009, 18:27   #3
denis15
 
Регистрация: 27.04.2009
Сообщений: 9
По умолчанию

Если честно я понимаю в паскале очень мало. Помогите составить ее
denis15 вне форума Ответить с цитированием
Старый 09.06.2009, 18:42   #4
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

Цитата:
z=(c+S1+S2)*(k1+k2)/2;
что такое c?

Код:
uses 
	CRT;

const
	n = 10;

type
	arr = array[1..n] of integer;
	
procedure fill_out_arrays(var a,b:arr);
var
	i:byte;
begin
	for i:=1 to n do begin
		a[i] := random(5);
		b[i] := random(3);
		writeln('a[',i:2,'] = ',a[i],'; b[',i:2,'] = ',b[i],';');
	end;
end;

procedure get_s_k(var x1,x2:integer; var y1,y2:real; a,b:arr);
var
	i:byte;
begin
	for i:=1 to n do begin
		if (a[i] = 0) then 
			inc(x1);
		if (b[i] = 0) then 
			inc(x2);
		y1 := y1+a[i];
		y2 := y2+b[i];
	end;
	y1 := y1 / n;
	y2 := y2 / n;
end;

var
	a,b:arr;
	s1,s2,z:real;
	k1,k2:integer;
begin
	s1 := 0; s2 := 0; k1 := 0; k2 := 0;
	clrscr;
	randomize;
	fill_out_arrays(a,b);
	get_s_k(k1,k2,s1,s2,a,b);
	z := ({???c+}s1+s2)*(k1+k2)/2;
	writeln('Z = ',z:0:5);
	readkey;
end.
Uguu~
__STDC__ вне форума Ответить с цитированием
Старый 09.06.2009, 18:46   #5
denis15
 
Регистрация: 27.04.2009
Сообщений: 9
По умолчанию

С-любое число
denis15 вне форума Ответить с цитированием
Старый 09.06.2009, 18:48   #6
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

ну добавьте там тогда просто...
Код:
...
	s1,s2,z,c:real;
...
        readln(c);
...
	z := (c+s1+s2)*(k1+k2)/2;
...
Uguu~
__STDC__ вне форума Ответить с цитированием
Старый 19.06.2009, 19:46   #7
denis15
 
Регистрация: 27.04.2009
Сообщений: 9
По умолчанию

Помогите с еще однйо прогой
Вычеслить сумму квадратов цыфр пятизначного числа
привет: a*10^4+a*10^3+c*10^2 и тд
denis15 вне форума Ответить с цитированием
Старый 19.06.2009, 19:52   #8
ОДИНОЧЕСТВО В СЕТИ
Любопытная Вредина
Участник клуба
 
Аватар для ОДИНОЧЕСТВО В СЕТИ
 
Регистрация: 19.06.2009
Сообщений: 1,285
По умолчанию

а как нибудь поподробнее можно?!!!
Дурь - это особая форма материи, которая не возникает ниоткуда и не исчезает никуда, а лишь переходит из одной головы в другую.
ОДИНОЧЕСТВО В СЕТИ вне форума Ответить с цитированием
Старый 19.06.2009, 20:01   #9
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

сумма квадратов цифр легко вычисляется если представить число как строку.. что-то типа
Код:
...+sqr(ord(s[i]-48))+...
но то, что вы выше написали - это не сумма квадратов.
Uguu~
__STDC__ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Турбо Паскаль Maxsimo Паскаль, Turbo Pascal, PascalABC.NET 0 06.05.2009 17:05
Турбо паскаль Gabi Помощь студентам 2 24.12.2008 22:18
Турбо Паскаль Jondeer Помощь студентам 3 28.10.2007 12:42
Турбо Паскаль Jondeer Помощь студентам 5 27.10.2007 17:19