Перейти к содержимому

Фото
- - - - -

Паскаль


  • Вы не можете создать новую тему
  • Please log in to reply
17 ответов в этой теме

#1 шпиЁн

шпиЁн

    один из первых

  • Постоялец
  • 1 629 сообщений

Отправлено 04 Декабрь 2005 - 20:36

Кто может решить это ?
Нужно очень срочно =) Знаю, что есть на форуме знающий люди =) Помогите! :)

Сообщение изменено: шпиЁн (04 Декабрь 2005 - 20:36 )

  • 0
Мелким дрязгам свойственно скапливаться в большую задницу.

#2 † Vic †

† Vic †

    leather !

  • Пользователь
  • 133 сообщений
  • Откуда:Estland

Отправлено 04 Декабрь 2005 - 21:48

Ну я могу решить это, в принципе ничего сложного, а к какому это тебе надо сдать ?
  • 0
"Бог, если ты есть, если ты существуешь, если видишь всё, что здесь сейчас происходит....то катись отсюда, Бог, подальше !"

"Sometimes I'm scared of being Ozzy Osbourne. But it could have been worse. I could have been Sting" © Ozzy

#3 шпиЁн

шпиЁн

    один из первых

  • Постоялец
  • 1 629 сообщений

Отправлено 04 Декабрь 2005 - 21:57

vic-221, к завтрашнему дню) Гы, мне и самому интересно как это решить =) Сижу уже 2.5 часа и пытаюсь решить ее

Сообщение изменено: шпиЁн (04 Декабрь 2005 - 22:02 )

  • 0
Мелким дрязгам свойственно скапливаться в большую задницу.

#4 V^v

V^v
  • Пользователь
  • 316 сообщений

Отправлено 04 Декабрь 2005 - 22:24

могу на C написать, в паскаль сам переведешь?
  • 0
int main(void)

#5 шпиЁн

шпиЁн

    один из первых

  • Постоялец
  • 1 629 сообщений

Отправлено 04 Декабрь 2005 - 22:26

V^v, я попробую, но не уверен =)
  • 0
Мелким дрязгам свойственно скапливаться в большую задницу.

#6 † Vic †

† Vic †

    leather !

  • Пользователь
  • 133 сообщений
  • Откуда:Estland

Отправлено 04 Декабрь 2005 - 22:34

Вот первое задание:

program zadanie1;
var
	massiv:array[1..3] of integer;
	i:integer;
begin
	Write('Enter the elements of the array: ');	(* Вводим через пробел эелементы массива *)

	Read(massiv[1],massiv[2],massiv[3]);


	for i:= 1 to 3 do
  Writeln('Element #',i,' = ',massiv[i])
end.

Вот второе:

program zadanie2;
var
	massiv:array[1..10] of integer;
	i:integer;
	non_zero:integer;
	accumulator:integer;
	average:real;
begin
	Writeln('Enter 10 integer array elements');

	non_zero := 0;
	accumulator := 0;


	for i:=1 to 10 do
	begin
  Write('Element #',i,' >');
  ReadLn(massiv[i]);
  if massiv[i] <> 0 then
  	begin
    non_zero := non_zero + 1;
    accumulator := accumulator + massiv[i];
  	end;
	end;

	average := (accumulator / 10);

	WriteLn('Array elements sum: ',accumulator);
	WriteLn('Number of non-zero elements: ',non_zero);
	WriteLn('Average of those numbers: ',average:6:3);
end.


Третье задание:

program zadanie3;
var
	massiv:array[1..2,1..2] of integer;
	i,j:integer;
begin
	for i:=1 to 2 do
  begin
  	for j:=1 to 2 do
    begin
    	Write('Enter the ',j,' elemnt of the ',i,' column: ');
    	ReadLn(massiv[i,j]);
    end;
  end;

	
	Writeln('');
	Writeln('');

	for i:=1 to 2 do
  begin
  	for j:=1 to 2 do
    begin
    	WriteLn('The ',j, ' element of the ',i,' column  = ',massiv[i,j]);
    end;
  end; 
end.



Последнее сделай сам, а я пойду лчше "Александра" смотреть :D
  • 0
"Бог, если ты есть, если ты существуешь, если видишь всё, что здесь сейчас происходит....то катись отсюда, Бог, подальше !"

"Sometimes I'm scared of being Ozzy Osbourne. But it could have been worse. I could have been Sting" © Ozzy

#7 V^v

V^v
  • Пользователь
  • 316 сообщений

Отправлено 04 Декабрь 2005 - 22:56

среднее арифметическое ненулевых элементов
значит,
 if non_zero <> 0 then
 begin;
 average := (accumulator / non_zero);
 end;

  • 0
int main(void)

#8 шпиЁн

шпиЁн

    один из первых

  • Постоялец
  • 1 629 сообщений

Отправлено 04 Декабрь 2005 - 22:58

V^v, о, пасиб )
vic-221, благодарствую! ))
  • 0
Мелким дрязгам свойственно скапливаться в большую задницу.

#9 † Vic †

† Vic †

    leather !

  • Пользователь
  • 133 сообщений
  • Откуда:Estland

Отправлено 04 Декабрь 2005 - 22:59

среднее арифметическое ненулевых элементов
значит,

 if non_zero <> 0 then
 begin;
 average := (accumulator / non_zero);
 end;

Просмотреть сообщение

Не понял, а в чем дело ? Ну да, среднее арифметическое, ненулевых :huh:
  • 0
"Бог, если ты есть, если ты существуешь, если видишь всё, что здесь сейчас происходит....то катись отсюда, Бог, подальше !"

"Sometimes I'm scared of being Ozzy Osbourne. But it could have been worse. I could have been Sting" © Ozzy

#10 V^v

V^v
  • Пользователь
  • 316 сообщений

Отправлено 04 Декабрь 2005 - 23:07

деля accumulator на 10 и на non_zero, если есть нулевые елементы, получаешь разные ответы, посмотри в задание, a на 0 проверяешь non_zero чтобы не делить на 0, если все елементы нули

Сообщение изменено: V^v (04 Декабрь 2005 - 23:08 )

  • 0
int main(void)

#11 † Vic †

† Vic †

    leather !

  • Пользователь
  • 133 сообщений
  • Откуда:Estland

Отправлено 04 Декабрь 2005 - 23:13

Аа, все ясно, моя ошибка :) Вот кто тут профи : - ) Шпиён, исправь тот кусок кода во втором задании на тот, который дал V^v
  • 0
"Бог, если ты есть, если ты существуешь, если видишь всё, что здесь сейчас происходит....то катись отсюда, Бог, подальше !"

"Sometimes I'm scared of being Ozzy Osbourne. But it could have been worse. I could have been Sting" © Ozzy

#12 шпиЁн

шпиЁн

    один из первых

  • Постоялец
  • 1 629 сообщений

Отправлено 04 Декабрь 2005 - 23:18

program zadanie2;
var
massiv:array[1..10] of integer;
i:integer;
non_zero:integer;
accumulator:integer;
average:real;
begin
Writeln('Enter 10 integer array elements');

non_zero := 0;
accumulator := 0;


for i:=1 to 10 do
begin
 Write('Element #',i,' >');
 ReadLn(massiv[i]);
 if non_zero <> 0 then
begin;
average := (accumulator / non_zero);
 end;
end;

average := (accumulator / 10);

WriteLn('Array elements sum: ',accumulator);
WriteLn('Number of non-zero elements: ',non_zero);
WriteLn('Average of those numbers: ',average:6:3);
end
Все верно?
  • 0
Мелким дрязгам свойственно скапливаться в большую задницу.

#13 V^v

V^v
  • Пользователь
  • 316 сообщений

Отправлено 04 Декабрь 2005 - 23:25

хаха, какой я профи :D все равно приятно слышать, спасибо!
а определитель третьего порядка кажется так вычисляется:
det := a[1,1]*a[2,2]*a[3,3] + a[1,2]*a[2,3]*a[1,3] + a[1,3]*a[2,1]*a[3,2] - a[3,1]*a[2,2]*a[1,3] - a[3,2]*a[2,3]*a[1,1] - a[3,3]*a[2,1]*a[1,2];

Добавлено в [mergetime]1133731513[/mergetime]
program zadanie2;
var
massiv:array[1..10] of integer;
i:integer;
non_zero:integer;
accumulator:integer;
average:real;
begin
Writeln('Enter 10 integer array elements');

non_zero := 0;
accumulator := 0;
average := 0;


for i:=1 to 10 do
begin
 Write('Element #',i,' >');
 ReadLn(massiv[i]);
 if massiv[i] <> 0 then
  begin
   non_zero := non_zero + 1;
   accumulator := accumulator + massiv[i];
  end;
end;

if non_zero <> 0 then
begin;
average := (accumulator / non_zero);
end;

WriteLn('Array elements sum: ',accumulator);
WriteLn('Number of non-zero elements: ',non_zero);
WriteLn('Average of those numbers: ',average:6:3);
end.

  • 0
int main(void)

#14 Ухо

Ухо
  • Новобранец
  • 2 сообщений

Отправлено 05 Декабрь 2005 - 16:43

Второй .
program Array2;
var a : Real;
	i : Integer;
	sum : Double;
	mSum : Double;
	cnt : Integer;
begin
    // Вообще не вижу смысла использовать массив. Излишний объем памти, 
    // который при более больших маштабах может играть пагубную функцию.
    sum := 0;
    mSum := 0;
    cnt := 0;
	writeln('Введите элементы массива (10 целых чисел) в одной строке и нажмите <Enter>.');
	for i := 0 to 9 do begin
   read(a);
   sum := sum + a;
   if (a<>0) then begin
      	mSum := mSum + a;
    inc(cnt);
   end;
    end;
	readln;
	writeln('Сумма элементов массива: ', sum:4:2 );
	writeln('Количество ненулевых элементов:' , cnt); 
	writeln('Среднее арифметическое ненулевых элементов:', (mSum/cnt):4:2);
end.

Добавлено в [mergetime]1133793784[/mergetime]
Первое:
program Array1;
   //Используется String так в задании не указано,
   //Что массив должен состоть из чисел. 
   //Следовательно мы используем строки,
   //Кажда из которых подразумеваетс как последовательность символов
var
   a : array[0..9] of String;
   i : Integer;
begin
   WriteLn('---- Введите 10 строк. Используйте <Enter> дл перехода к следющему элементу --- ');
   for i := 0 to 9 do begin
      Write(i, ':'); ReadLn(a[i]);
   end;

      WriteLn('---- Распечатка введенного массива --- ');
   for i := 0 to 9 do
      WriteLn('a[',i,']=', a[i]);
end.

  • 0

#15 † Vic †

† Vic †

    leather !

  • Пользователь
  • 133 сообщений
  • Откуда:Estland

Отправлено 05 Декабрь 2005 - 16:55

Вообще не вижу смысла использовать массив. Излишний объем памти,
который при более больших маштабах может играть пагубную функцию.


Это, конечно да, но в задании хотят узнать, знания ученика о массивах :)
  • 0
"Бог, если ты есть, если ты существуешь, если видишь всё, что здесь сейчас происходит....то катись отсюда, Бог, подальше !"

"Sometimes I'm scared of being Ozzy Osbourne. But it could have been worse. I could have been Sting" © Ozzy

#16 Ухо

Ухо
  • Новобранец
  • 2 сообщений

Отправлено 05 Декабрь 2005 - 17:38

Третья :) (В извращенном виде :) )
program Array3;
const MIN  = 0;
      MAX  = 2;
var
   a : array[MIN..MAX,MIN..MAX] of String;
   i : Integer;
begin
   WriteLn('---- Ввод элементов массива --- ');
   i := MIN;
   while( i < (MAX-MIN)*2 ) do begin
    Write('Элемент [', (i div MAX) ,'][', (i mod MAX) ,'] = '); ReadLn(a[i div MAX,i mod MAX]);
    inc(i);
   end;

   WriteLn('---- Результат --- ');

   i := MIN;
   while( i < (MAX-MIN)*2 ) do begin
    Write('(', a[(i div MAX),(i mod MAX)], ') ');
    if (i mod MAX = MAX-1) then Writeln;
    inc(i);
   end;
   Write('--- <Enter> to Continue ---'); Readln;
end.

Добавлено в [mergetime]1133797112[/mergetime]
Там есть маленькая ошибка ... как говорится, чтобы совсем халявы не было! :)
  • 0

#17 Wilderweiny

Wilderweiny
  • Пользователь
  • 363 сообщений

Отправлено 11 Декабрь 2005 - 21:39

http://www.hot.ee/ir...ad05.12.05.html

Очень нужны решения ПРАКТИЧЕСКИХ ЗАДАЧ!
  • 0
А будете орать - я в дом котенка принесу... Он вам на диван насикает!!!

#18 Drummer_net

Drummer_net
  • Новобранец
  • 1 сообщений

Отправлено 05 Январь 2006 - 22:06

Помогите, пожалуйста, срочно нужно, не могу никак решить на Паскале, кто решит, тому подкину wmz так 5.
Задача1: По заданным вещественным числам a(0),a(1),...,a(20),t вычислите значение многочлена a(20)x(в 20 степени)+a(19)x(в 19 степени)+...+a(1)x+a(0) и его производной в точке t.
Задача 2:Пусть дана вещественная матрица размером nxm. Получите последовательность b(1),...,b(k), где b(k)-наибольшее из значений элементов k-й строки.
  • 0