Премини към съдържанието
Форумът в приложение

По-лесно сърфиране. Научи повече.

Kaldata.com - Форуми

Приложение на форума на цял екран с push известия, значки и други.

За да инсталирате това приложение на iOS и iPadOS
  1. Докоснете Иконата за споделяне в Safari
  2. Превъртете менюто и докоснете Добавяне към началния екран.
  3. Докоснете Добавяне в горния десен ъгъл.
За да инсталирате това приложение на Android
  1. Докоснете менюто с 3 точки (⋮) в горния десен ъгъл на браузъра.
  2. Докоснете Добавяне към началния екран или Инсталиране на приложение.
  3. Потвърдете, като докоснете Инсталиране.

Добре дошли!

Добре дошли в нашите форуми, пълни с полезна информация. Имате проблем с компютъра или телефона си? Публикувайте нова тема и ще намерите решение на всичките си проблеми. Общувайте свободно и открийте безброй нови приятели.

Моля, регистрирайте се за да публикувате тема и да получите пълен достъп до всички функции.

 

Помощ за задачи на Pascal (merged)

Featured Replies

Някой може ли да ми помогне, спешно ми трябва следната задачка на Паскал:

Създаване на алгоритъм и написване на програма за обработка на двумерен масив (ч.сл. - едномерен с 3 - обработки).

Да се въведът елементите на две квадратни матрици "А" и "В" от ред 7. да се намери "Х" равен на най-малкия от елементите на "А", и "У" равен на най малкия от елементите на третия стълб на "В".

Да се състави матрица МММ=У*Х-Х*В. Да се отпечатат входнине данни и резултатите .

МММ(I,J)=J*A(I,J)*X-X*B(I,J)

:clap::wors::speak:

  • Отговори 622
  • Прегледи 131,9k
  • Създадено
  • Последен отговор

Здравейте имам проблем с курсовата си задача та ако може да ми помогнете ще съм ви много признателен. Задачата е следната: Да се състави програма за обработка на два масива С[5,5] и D[6,6] , където данните са цели числа в интервала [-999 - 999]. Съответните подпрограми да извършват следните действия: - въвеждане на входните данни - отпечатване на входните данни - а) да се нулират елементите в масива А за които сумата със съответния елемент от масива В е четно число принадлежащо на зададен интервал [A - B] , б) да се определи броя на променените елементи в масива А; -отпечатване на получените резултати след обработка а) и след обработка б) -резултата да се запише във файл. Аз съм стигнал до тук

program kursova_zada4a_1;
const
 m=6;
type
 mas2=array[1..m,1..m] of integer;
 mas1=array[1..m] of integer;
var
 c,d:mas2;
procedure datain(n:integer;name:char;var m:mas2);
var
 i,j:integer;
begin
 writeln('vavejdane na danni w masiv ',name,':');
 for i:=1 to n do
  for j:=1 to n do
  repeat
  write('vavedete 4islo ',name,'[',i,',',j,'] = ');
  readln(m[i,j]);
 until ((m[i,j] >= -999) and (m[i,j] < 999));
end;
procedure dataout(n:integer;name:char;m:mas2);
 var
  i,j:integer;
 begin
  writeln;
  writeln('vavedeniq masiv ',name,' e:');
  for i:=1 to n do
  begin
   writeln;
   for j:=1 to n do
    write(m[i,j]:4);
  end;
end;
 begin
 datain(5,'c',c);
 dataout(5,'c',c);
 writeln;
 writeln;
 datain(6,'d',d);
 dataout(6,'d',d);
 writeln;
 readln;
end.

Обаче не се сещам как да изразя условие а) и б)

Ако някой може да ми помогне ще съм му благодарен.

Да се състави програма за обработка на масива A[10,7] ,където елементите му са цели числа в интервала (0,999)

Съставената програма да извършва следните действия:

¤Отпечатване на условието на задачата и името на автора

¤Въвеждане на входните данни

¤Отпечатване на входните данни

¤Намиране на средната аритметична стойност на четните елементи;

¤Получаване на масива B от А по следния начин:

-Четните елементи се запазват, а нечетните елементи се заместват с нула.

¤Отпечатване на получените резултати след обработката.

¤Входните данни да се четат от файла с име DATA.DAT

Program kursova_zadacha;
uses Crt;

const
  k=10;
  l=7;
var
  i,j:byte;
  r,count:integer;
  a:array[1..k,1..l] of integer;
  b:array[1..k,1..l] of integer;
  sr_stoinost:real;
  suma_chetni:integer;

procedure uslovie;
  begin
	Writeln('Uslovie na zada4ata : Da se sastavi programa za obrabotka na masiva A [10, 7]');
	Writeln('kadeto elementite sa tzeli chisla v intervala [0, 999].');
	Writeln('Da ima syotvetnite podprogrami: ');
	Writeln('* otpechatvane na uslovieto na zadachata');
	writeln('* otpechatvane avtora na zadachata');
	writeln('* vyvejdane i otpechatvane na vhodnite danni');
	writeln('* namirane na srednata aritmetichna stoinost na chetnite elementi');
	writeln('* poluchavane na masiva B ot A po slenia nachin:');
	writeln('- chetnite elementi se zapazvat, a nechetnite se zamestvat s nula.');
	writeln('* otpechatvane na poluchenite rezultati sled obrabotkata');
	writeln('* vhodnite danni da se prochetat ot fail s ime DATA.DAT');
	writeln;
  end;

  procedure autor;
  begin
  writeln;
  writeln('|------------------------------------------------|');
  writeln('|	Pascal									  |');
  writeln('|												|');
  writeln('|------------------------------------------------|');
  writeln;
  end;

  procedure entermatrix;
  begin
  writeln('Vyvejdane na matrica A');

  count:=0;
  suma_chetni:=0;

  for i:=1 to k do
  for j:=1 to l do
	begin
	  repeat
	  write('Vyvedete chislo (0-999) za A[',i,',',j,']: ');
	  readln(r);
	  until (r>=0) and (r<=999);
	  a[i,j]:=r;
  end;
  end;

  procedure check_num;
  begin
  for i:=1 to k do
  for j:=1 to l do
  begin
  if a[i,j]=1 then b[i,j]:=0
	else
		if (a[i,j] mod 2 =0) then   {Proverka za chetnost}
			  begin
				b[i,j]:=a[i,j];
				inc(count);	{Broiach na chetnite chisla}
				suma_chetni:=suma_chetni+b[i,j]; {Suma ot chetnite chisla}
				end;
	end;
	end;



  procedure displaymatrix;
  begin
  {Izvejdane na matricata A}
writeln;
writeln('Vuvedenata matrica A[10,7]:');

for i:=1 to k do

	begin
		 writeln;
		 for j:=1 to l do
		 write (a[i,j]:4);
		 end;
end;

Procedure initializec;
begin
{Poluchavane na matricata B ot A}
writeln;
writeln;
writeln('Poluchenata matrica B ot A:');

for i:=1 to k do

	begin
		 writeln;
		 for j:=1 to l do
		 write (b[i,j]:4);
		 end;
end;

Procedure print;

begin
{Otpechatvame Srednata Aritmetichna stoinost na chetnite elementi}
writeln;
writeln;
sr_stoinost:=suma_chetni/count;
writeln('Srednata Aritmetichna stoinost na chetnite chisla e: ',sr_stoinost:2:2);
end;


Begin
ClrScr;
uslovie;
autor;
entermatrix;
check_num;
displaymatrix;
initializec;
print;
End.

Редактирано от Pascal (преглед на промените)

Зравейте имам един малък проблем с една програма ще ви я напиша и се надявам някои да ми помогне. Предварително ви благодаря В двумерен масив 30х30 да се въведе матрица NxN. Да се намери минималният елемент от максималните елементи, намерени поотделно за всички лини успоредни на главния диагонал. Намирането на максималният елемент да става в подпрограма, която се изисква от главната програма, въвеждаща входните данни. П С колкото се може по барзо

Зравейте имам един малък проблем с една програма ще ви я напиша и се надявам някои да ми помогне. Предварително ви благодаря

В двумерен масив 30х30 да се въведе матрица NxN. Да се намери минималният елемент от максималните елементи, намерени поотделно за всички лини успоредни на главния диагонал. Намирането на максималният елемент да става в подпрограма, която се изисква от главната програма, въвеждаща входните данни.

П С колкото се може по барзо

ЕЕЕЙ бързо друг път. Иди си плати и ще стане и за 24часа. Какво всички заопявахте изведнъж. Айде решете си ги сами. Ако ще ставате специалисти информатици някакви ще ви трябва, така че поне да се беше пробвал нещо да понапишеш

Да се състави програма за размяна местата на елементите на масивите М и Н в зависимост от условие 1.Елементите на М и Н да се избират съгласно условие 2.

Условие 1:

а)колоните на М да станат редове на Н,а редовете на Н-колони на М

б)редовете на М да станат колони на Н и обратно

Условие 2:

а)М(6,6) 0<М(I,J)<9.99

Н(6,6) 0<Н(I,J)<99.9

б)М(4,4) 0<М(I,J)<99

Н(4,4) 0<Н(I,J)<99

Ако може да се даде направо решението плс спешно ми е.

Здравейте имам проблем с курсовата си задача та ако може да ми помогнете ще съм ви много признателен. Задачата е следната:

Да се състави програма за обработка на два масива С[5,5] и D[6,6] , където данните са цели числа в интервала [-999 - 999]. Съответните подпрограми да извършват следните действия:

- въвеждане на входните данни

- отпечатване на входните данни

- а) да се нулират елементите в масива А за които сумата със съответния елемент от масива В е четно число принадлежащо на зададен интервал [A - B] , б) да се определи броя на променените елементи в масива А;

-отпечатване на получените резултати след обработка а) и след обработка б)

-резултата да се запише във файл.

явно имаш представа за какво става въпрос и затова алгоритъма за а) ти е пускаш си два вложени цикъла с i j за да обходиш двата масива и ако a[i,]+b[i,j] mod 2=0 проверяваш дали то е и >=a and <=b ако и това е вярно a[i,j]:=0;

б) ами още в а) си слагаш брояч и броиш колко елемента си нулирал

Здравейте имам проблем с курсовата си задача та ако може да ми помогнете ще съм ви много признателен. Задачата е следната:

Да се състави програма за обработка на два масива С[5,5] и D[6,6] , където данните са цели числа в интервала [-999 - 999]. Съответните подпрограми да извършват следните действия:

- въвеждане на входните данни

- отпечатване на входните данни

- а) да се нулират елементите в масива А за които сумата със съответния елемент от масива В е четно число принадлежащо на зададен интервал [A - B] , б) да се определи броя на променените елементи в масива А;

-отпечатване на получените резултати след обработка а) и след обработка б)

-резултата да се запише във файл.

Аз съм стигнал до тук

program kursova_zada4a_1;
const
 m=6;
type
 mas2=array[1..m,1..m] of integer;
 mas1=array[1..m] of integer;
var
 c,d:mas2;
procedure datain(n:integer;name:char;var m:mas2);
var
 i,j:integer;
begin
 writeln('vavejdane na danni w masiv ',name,':');
 for i:=1 to n do
  for j:=1 to n do
  repeat
  write('vavedete 4islo ',name,'[',i,',',j,'] = ');
  readln(m[i,j]);
 until ((m[i,j] >= -999) and (m[i,j] < 999));
end;
procedure dataout(n:integer;name:char;m:mas2);
 var
  i,j:integer;
 begin
  writeln;
  writeln('vavedeniq masiv ',name,' e:');
  for i:=1 to n do
  begin
   writeln;
   for j:=1 to n do
    write(m[i,j]:4);
  end;
end;
 begin
 datain(5,'c',c);
 dataout(5,'c',c);
 writeln;
 writeln;
 datain(6,'d',d);
 dataout(6,'d',d);
 writeln;
 readln;
end.
Обаче не се сещам как да изразя условие а) и б)
само едно не ми стана ясно кви са тия масиви а и b като по условие въвеждаш с и d?

Да се състави програма за обработка на масива А[13], B[18], C[20], съставен от реални числа със стойности в интервала [0, 99.9]. Да се извършват следните действия:

-отпечатване на условието и автора на задачата

-въвеждане на входните данни

-отпечатване на входните данни

-масивите A, B, C да се свият посредством изключване на елементи <15.5

-получените масиви да се препишат в нов масив D[K,3], като липсващите елементи да се заместят с 0

-отпечатване на получените резултати след обработката

-входните данни да се прочетат от файл

program modular;
type
  first=array[1..13]of real;
  second=array[1..18]of real;
  third=array[1..20]of real;

  content=record
			fa:first;
			sa:second;
			ta:third;
			end;
var
  a:first;
  b:second;
  c:third;
  d:array[1..20, 1..3]of real;
  maxa,maxb,maxc,maxall,m:byte;

procedure intake;
var i:byte;

begin

  
  writeln;
  for i:= 1 to 13 do
	repeat
	write('Vuvedete A[',i,']: ');
	readln(a[i]);
	until (a[i]>=0) and (a[i]<=99.9);

  writeln;
  for i:= 1 to 18 do
	repeat
	write('Vuvedete B[',i,']: ');
	readln(b[i]);
	until (b[i]>=0) and (b[i]<=99.9);

  writeln;
  for i:= 1 to 20 do
	repeat
	write('Vuvedete C[',i,']: ');
	readln(c[i]);
	until (c[i]>=0) and (c[i]<=99.9);


end;

procedure tofile(x:first;y:second;z:third);
var
   e:content;
   f:file of content;
   s:string;
   
begin

  writeln;
  writeln('Vuvedete ime na izhodnia fajl.');
  writeln('Suotvetnia fajl shte bude prezapisan v sluchaj che veche sushtestvuva!');
  readln(s); 

  with e do
	begin
	fa:=x;
	sa:=y;
	ta:=z;
	end;

  assign(f,s);
  rewrite(f);
  write(f,e);
  close(f);

end;

procedure intakef(var x:first;var y:second; var z:third);
var
   e:content;
   f:file of content;
   s:string;

begin

  writeln;
  writeln('Vuvedete ime na vhodnia fajl: ');
  read(s);
  writeln;

  assign(f,s);
  reset(f);
  read(f,e);
  close(f);

  with e do
	begin
	x:=fa;
	y:=sa;
	z:=ta;
	end;
  writeln('Fajlat e razcheten.');
  writeln;
 
end;

procedure toscr;
var i,k:byte;

begin

  
  writeln;
  repeat
  writeln('Izberete 1..3 za da pregledate A,B,C. 0 za izhod ot menuto:');
  readln(k);
  if k=1 then for i:= 1 to 13 do writeln('A[',i,']= ',a[i]:10:5);
  if k=2 then for i:= 1 to 18 do writeln('B[',i,']= ',b[i]:10:5);
  if k=3 then for i:= 1 to 20 do writeln('C[',i,']= ',c[i]:10:5);
  until k=0;

end;

procedure radar;
var i:byte;
	tmp:array[1..20]of real;

begin

  maxa:=0;
  for i:=1 to 13 do 
	if a[i]>=15.5 then
	  begin
	  inc(maxa);
	  tmp[maxa]:=a[i]; 
	  end;
  for i:=1 to maxa do a[i]:=tmp[i];

  maxb:=0;
  for i:=1 to 18 do 
	if b[i]>=15.5 then
	  begin
	  inc(maxb);
	  tmp[maxb]:=b[i]; 
	  end;
  for i:=1 to maxb do b[i]:=tmp[i];

  maxc:=0;
  for i:=1 to 20 do 
	if c[i]>=15.5 then
	  begin
	  inc(maxc);
	  tmp[maxc]:=c[i]; 
	  end;
  for i:=1 to maxc do c[i]:=tmp[i];

  maxall:=maxa;
  if maxall<maxb then 
	if maxc<maxb then maxall:=maxb else maxall:=maxc
  else if maxall<maxc then maxall:=maxc;
end;

procedure initd;
var i,j:byte;
begin

for i:=1 to 3 do
  for j:=1 to maxall do D[j,i]:=0;

end;

procedure resh;
var i:byte;
begin
for i:=1 to maxa do d[i,1]:=a[i];
for i:=1 to maxb do d[i,2]:=b[i];
for i:=1 to maxc do d[i,3]:=c[i];
end;

procedure writeout;
var i,j:byte;
begin
writeln;
  repeat
  write('Izberete kolona za pokazvane na Masiva D i 0 za izhod: ');
  readln(j);
  if j=1 then for i:=1 to maxall do writeln('D',i,',',j,'=',D[i,j]:10:5);
  if j=2 then for i:=1 to maxall do writeln('D',i,',',j,'=',D[i,j]:10:5);
  if j=3 then for i:=1 to maxall do writeln('D',i,',',j,'=',D[i,j]:10:5);
  until j=0;
end;

Begin

  repeat
  writeln('Izberete 1 za da zaredite dannite ot fajl ili 2 za vuvegdane ot klaviaturata...');
  readln(m);
  until (m>0) and (m<3);

  if m=2 then intake else intakef(a,b,c);

  write('Vuvedete "1" za da pregledate vhodnite danni...');
  readln(m);
  if m=1 then toscr;

  writeln;
  write('Vuvedete "1" za da zapishete vhodnite danni vuv fajl... ');
  readln(m);
  if m=1 then tofile(a,b,c);

  radar;
  initd;
  resh;
  writeout;

End.

Кажи ми честно :go ahead:

аз стигнах до следното, с моя болен мозък почти бях до средата на масивите и въвеждането им

Program ocz2;
		const z=13;
			  x=18;
			  c=20;
			  j=3;
		var q,w,e,r,t,y,i,ii: integer;
			u: real;
			AA: array[1..z] of real;
			BA: array[1..x] of real;
			CA: array[1..c] of real;
			DA: array[1..j,1..c] of real;
begin

writeln('Vavejdane na masiv A');
for q:=1 to z do
			  begin
						 repeat
						 writeln('Vavedete element N ',q,' ot ',z,' chisla ot 0 do 99.9');
						 readln(u);
						 until (u>0) and (u<99.9);
						 if u<15.5 then AA[q]:=u else AA[q]:=0;
			  end;
for q:=1 to z do
				writeln('Elementite na Masiv A sled vavejdane i obrabotka sa',AA[q]);
writeln('Vavejdane na masiv B');
for w:=1 to x do
			  begin
						 repeat
						 writeln('Vavedete element N ',w,' ot ',x,' chisla ot 0 do 99.9');
						 readln(u);
						 until (u>0) and (u<99.9);
						 if u<15.5 then BA[w]:=u else BA[w]:=0;
			  end;
for w:=1 to x do
				writeln('Elementite na Masiv B sled vavejdane i obrabotka sa',BA[w]);


for i:=1 to j do
				if i=1 then for ii:=1 to q do
								  begin
									 for q:=1 to c do
									 DA[1,ii]:=AA[q];
									 writeln('element masiv D[ ',i,',',ii,',',DA[1,ii]);
								 end;
				if i=2 then for ii:=1 to x do
								 begin
									 for w:=1 to c do
									 DA[2,ii]:=BA[x];
									 writeln('element masiv D[ ',i,',',ii,',',DA[2,ii]);
								 end;

readln;
end.

Кратка рецензия:

1. Резервирал си някои от най-удобните променливи като константи.

2. Селекцията по време на въвеждане е хитра в повечето случаи. Лошото е че идеята за писане и четене от файл изключва този похват.

Проверяващия да може да види как работи четенето, зареждането и обработката на масивите. В твоя случай това е невъзможно,защото губиш входната информация.

3. Програмите ни правят различни неща. Според мен елементите които са по-малки от 15 не трябва да се запълват с нули.Под "свиване" разбирам да се състави по-къс масив само с избраните лементи. Нулите се използват за допълване на дупките в крайния двумерен масив. Например ако единия масив ти е с 5 елемента, друигия с 6, а третия със 7 елемента, трябва да запълниш първия с още два елемента равни на нула и т.н. Така че да се получи таблица 7х7.

4. Изобщо не схващам защо използваш вложени цикли, когато само един ти върши работа. Правилно си се ориентирал че от едната страна стой константа,а от другата променлива.

пример:

for i:=1 to 20 do a[i,1]:=b

Това е напълно достатъчно да зареди първата колона на A с елементите на масива B.

Редактирано от Melmak ® (преглед на промените)

Е да но все пак нямам изграден стил на писане на Паскал и ми липсват все още доста от тънкостите при осмисляне на това как да се получи т.е. оптимизацията....

Въпросът е да си представиш как ще се реши задачата. Веднъж като я решиш на ум, последователно както компютър, няма да имаш проблеми с практическата реализация. Точно затова се правят схематични решения с условни оператори, цикли, преходи и всичко което можеш да се сетиш. Естествено по-елементарните се решават и без подобни неща, но само когато вече си придобил някакъв опит. Точно това му липсва на експресното (университетското) образование - придобиването на опит за принципното решаване на проблемите. Не става само със зубрене. Стил на писане и аз нямам, а задачите които съм постнал не са оптимизирани. Горе съм искал да кажа таблица 7x3....

Редактирано от Melmak ® (преглед на промените)

За k студента са зададени : Факолтетен номер Оцекна по Физика Оценка по Математика Оценка по Пиик Да се састави алгоритам за определяне на средния успех пооделно по Физика , Математика и Пиик. 10x

Здравейте всички. Курсовата ми задача беше за днес, но малко от несъобразителност се хванах да разучавам Pascal чак хммм 6h вчера Публикувано изображениеПубликувано изображение сега съм ядосан понеже не успях да си я направя и реших поне да разбера езика. Така че започвам с задачата ми и докъде съм стигнал. Кодът ми предполагам е ужасен, но той и без това не тръгва за сега Публикувано изображение

Да се състави програма за обработка на масива А[8,8], където данните са реални числа в интервала [-1000,1000]. Съответните подпрограми да извършват следните действия:
* отпечатване на условието на задачата и името на автора;(пропускам го)
* въвеждане на входните данни;
* отпечатване на входните данни;
* а) да се образува едномерен масив C[N], елементите на който са сумата от елементите на съответния ред от масива А, б) получения масив да се сортира по големина;
* отпечатване на получените резулатати след обработката на а) и след обработката на б);
* входните данни да се прочетът от файл;

program zadacha;
const N=4; //слагам го 4 за да върви по бързо debug-a
var
i,j,k:integer;
F:boolean;
x,s:real;
A:array [1..N,1..N] of real;
C:array [1..N] of real;
begin
for i:=1 to N do
for j:=1 to N do
begin
writeln ('A[',i,',',j,']= ');
readln (A[i,j]);
end;
for i:=1 to N do
for j:=1 to N do
writeln ('A[',i,',',j,']= ',A[i,j]:6:2);
k:=1;
repeat
for i:=1 to N do
begin
s:=0;
for j:=1 to N do
begin
s:=s+A[i,j];
C[k]:=s;
k:=k+1
end;
end;
until k>N;
for k:=1 to N do writeln ('C[',k,']= ',C[k]:6:2);
repeat
F:=true;
for k:=1 to N do
if C[k]>C[k+1] then
begin
x:=C[k];
C[k]:=C[k+1];
C[k+1]:=x;
F:=False;
end;
until F;
for k:=1 to N do writeln ('C[',k,']= ',C[k]:6:2);
end.
До тук я докарах продължавам нататък...

Както е известно едно зло не идва само

Оказва се, че тази задача трябвало да е изпълнение без процедури вложени в програма. А заместих местата на процедурите със съответния код който представляват, добавих и техните променливи но на едно място ми гърми

for i:=1 to 13 do 
	if a[i]>=15.5 then
	  begin
	  inc(maxa);
	  tmp[maxa]:=a[i]; 
	  end;

пред tmp[maxa]:=a; ми търси ( и излиза с грешка 88: "(" expected

а самата програ доби следния вид, предполагам че ще има и същата грешка и при масиви tmp B и tmp C

program modular;
type
  first=array[1..13]of real;
  second=array[1..18]of real;
  third=array[1..20]of real;

  content=record
			fa:first;
			sa:second;
			ta:third;
			end;
var
  a:first;
  b:second;
  c:third;
  d:array[1..20, 1..3]of real;
  maxa,maxb,maxc,maxall,m:byte;
  i,k,j:byte;
  tmp=array[1..20];
Begin

  repeat
  writeln('Izberete 1 za da zaredite dannite ot fajl ili 2 za vuvegdane ot klaviaturata...');
  readln(m);
  until (m>0) and (m<3);

  if m=2 then begin

  
  writeln;
  for i:= 1 to 13 do
	repeat
	write('Vuvedete A[',i,']: ');
	readln(a[i]);
	until (a[i]>=0) and (a[i]<=99.9);

  writeln;
  for i:= 1 to 18 do
	repeat
	write('Vuvedete B[',i,']: ');
	readln(b[i]);
	until (b[i]>=0) and (b[i]<=99.9);

  writeln;
  for i:= 1 to 20 do
	repeat
	write('Vuvedete C[',i,']: ');
	readln(c[i]);
	until (c[i]>=0) and (c[i]<=99.9);


end;
if m=1 then begin

  writeln;
  writeln('Vuvedete ime na vhodnia fajl: ');
  read(s);
  writeln;

  assign(f,s);
  reset(f);
  read(f,e);
  close(f);

  with e do
	begin
	x:=fa;
	y:=sa;
	z:=ta;
	end;
  writeln('Fajlat e razcheten.');
  writeln;

end;


  write('Vuvedete "1" za da pregledate vhodnite danni...');
  readln(m);
  if m=1 then begin

  
	  writeln;
	  repeat
	  writeln('Izberete 1..3 za da pregledate A,B,C. 0 za izhod ot menuto:');
	  readln(k);
	  if k=1 then for i:= 1 to 13 do writeln('A[',i,']= ',a[i]:10:5);
	  if k=2 then for i:= 1 to 18 do writeln('B[',i,']= ',b[i]:10:5);
	  if k=3 then for i:= 1 to 20 do writeln('C[',i,']= ',c[i]:10:5);
	  until k=0;

	end;


  writeln;
  write('Vuvedete "1" za da zapishete vhodnite danni vuv fajl... ');
  readln(m);
  if m=1 then begin

	  writeln;
	  writeln('Vuvedete ime na izhodnia fajl.');
	  writeln('Suotvetnia fajl shte bude prezapisan v sluchaj che veche sushtestvuva!');
	  readln(s); 

	  with e do
		begin
		fa:=x;
		sa:=y;
		ta:=z;
		end;

	  assign(f,s);
	  rewrite(f);
	  write(f,e);
	  close(f);

		end;






  {radar}
  maxa:=0;
  for i:=1 to 13 do 
	if a[i]>=15.5 then
	  begin
	  inc(maxa);
	  tmp[maxa]:=a[i]; 
	  end;
  for i:=1 to maxa do a[i]:=tmp[i];

  maxb:=0;
  for i:=1 to 18 do 
	if b[i]>=15.5 then
	  begin
	  inc(maxb);
	  tmp[maxb]:=b[i]; 
	  end;
  for i:=1 to maxb do b[i]:=tmp[i];

  maxc:=0;
  for i:=1 to 20 do 
	if c[i]>=15.5 then
	  begin
	  inc(maxc);
	  tmp[maxc]:=c[i]; 
	  end;
  for i:=1 to maxc do c[i]:=tmp[i];

  maxall:=maxa;
  if maxall<maxb then 
	if maxc<maxb then maxall:=maxb else maxall:=maxc
  else if maxall<maxc then maxall:=maxc;


  {initd}
	for i:=1 to 3 do
  for j:=1 to maxall do D[j,i]:=0;

{resh}
for i:=1 to maxa do d[i,1]:=a[i];
for i:=1 to maxb do d[i,2]:=b[i];
for i:=1 to maxc do d[i,3]:=c[i];


{writeout}
  repeat
  write('Izberete kolona za pokazvane na Masiva D i 0 za izhod: ');
  readln(j);
  if j=1 then for i:=1 to maxall do writeln('D',i,',',j,'=',D[i,j]:10:5);
  if j=2 then for i:=1 to maxall do writeln('D',i,',',j,'=',D[i,j]:10:5);
  if j=3 then for i:=1 to maxall do writeln('D',i,',',j,'=',D[i,j]:10:5);
  until j=0;

End.

Аз я поправих просто няколко синтактични грешки които на пръв поглед са невидими :)

Редактирано от kardjaliplus (преглед на промените)

към kardjaliplus ами ти имаш един оператор with който не знам за какво ти е ама той се използва само при записи а такъв ти нямаш така че предположих че искаш цикъл while и така съм ти оправила грешките ако си имал друго предвид в логиката си кажи

Ако има проблем със свалянето пиши на лична да ти я пратя пак

Здравейте всички. Курсовата ми задача беше за днес, но малко от несъобразителност се хванах да разучавам Pascal чак хммм 6h вчера Публикувано изображениеПубликувано изображение сега съм ядосан понеже не успях да си я направя и реших поне да разбера езика. Така че започвам с задачата ми и докъде съм стигнал. Кодът ми предполагам е ужасен, но той и без това не тръгва за сега Публикувано изображение

Да се състави програма за обработка на масива А[8,8], където данните са реални числа в интервала [-1000,1000]. Съответните подпрограми да извършват следните действия:
* отпечатване на условието на задачата и името на автора;(пропускам го)
* въвеждане на входните данни;
* отпечатване на входните данни;
* а) да се образува едномерен масив C[N], елементите на който са сумата от елементите на съответния ред от масива А, б) получения масив да се сортира по големина;
* отпечатване на получените резулатати след обработката на а) и след обработката на б);
* входните данни да се прочетът от файл;

program zadacha;
const N=4; //слагам го 4 за да върви по бързо debug-a
var
i,j,k:integer;
F:boolean;
x,s:real;
A:array [1..N,1..N] of real;
C:array [1..N] of real;
begin
for i:=1 to N do
for j:=1 to N do
begin
writeln ('A[',i,',',j,']= ');
readln (A[i,j]);
end;
for i:=1 to N do
for j:=1 to N do
writeln ('A[',i,',',j,']= ',A[i,j]:6:2);
k:=1;
repeat
for i:=1 to N do
begin
s:=0;
for j:=1 to N do
begin
s:=s+A[i,j];
C[k]:=s;
k:=k+1
end;
end;
until k>N;
for k:=1 to N do writeln ('C[',k,']= ',C[k]:6:2);
repeat
F:=true;
for k:=1 to N do
if C[k]>C[k+1] then
begin
x:=C[k];
C[k]:=C[k+1];
C[k+1]:=x;
F:=False;
end;
until F;
for k:=1 to N do writeln ('C[',k,']= ',C[k]:6:2);
end.
До тук я докарах продължавам нататък...
че това май е задачата на karjaliplus

programa.rtf

d_georgieva Благодаря :) Но предмета информатика заминава за ликвидация през септември :P Понеже някои не си знаят устите какво говорят пред хора от които са зависими, но това е животът ще се учат от грешките си

d_georgieva

Благодаря ;)

Но предмета информатика заминава за ликвидация през септември :speak:

Понеже някои не си знаят устите какво говорят пред хора от които са зависими, но това е животът ще се учат от грешките си

Съжалявам, но пък с това не се свършва света така че....
  • 3 седмици по-късно...

Здравейте отново ;)

Не исках да ви досаждам, но се затруднявам с 2 задачи. Надявам се да имате възможност да ми помогнете.

1. Да се създаде масив G[10] от записи със следната структура:

Type School=Record

Nomer: Integer;

Ime: String[35];

Broi_U4enici: Integer;

Broi_U4iteli: Integer;

End

Да се напише програма, която изчислява общата сума ученици за всички училища и общият брой учители. Да се изведат на екран изчислените стойности с указващ текст.

2. Да се създаде масив S[10] от записи със следната структура:

Type Sport=Record

Ime: String[40];

Skok_Dalgina: Real;

Ocenka: Integer;

End

Да се напише програма, която изчислява средно аритметичната стойност от резултатите за скок дължина на учениците и средният успех от техните оценки. Да се изведат на екран изчислените стойности с указващ текст.

Много Благодаря предварително. :) Искренно ще съм благодарен ако някой успее да помогне. :)Публикувано изображение

Извинявам се за нахалството, но дали ще може задачите да бъдат решени до четвъртъка, защото за тогава ще ми трябват. Не исках да нахалствам, но наистина съм отчаян. Искренно благодаря ако помогнете :rolleyes:

Малеее,мъничко ти трябва да рабереш Паскала-седни и почети иначе няма оправия,Пък тези неща незнам някой да ги прави без пари.Паскала ти е най-малкия проблем-ако можеш да намериш учебника за програмиране на доц.Върбан Илиев-там пише всичко и ще ти помогне да си напишеш задачите.Научи циклите и рекурсиите.

Редактирано от _sweet_ (преглед на промените)

1. Съставете програма за пресмятане стойността на предварително пакетирани количества храни,като в началото се въвеждат наименованието на стоката Product,количество K в мерна единица "кг" и цена за един кг G.Резултатът да се изведе във вида: "Product - .... лв.",където на мястото на Product е името на стоката, а след тирето - изчислената стойност.

2.Съставете програма,която въвежда две числа m и n.Пресмята тяхната разлика G1=m-n,след това разменя свтойностите им и пресмята G2=m*n. На екран извежда стойностите G1=.... и G2=... , всяка на нов ред.

Ще може ли да ми дадете целите решения на задачите? Плс много моля,които ми ги даде ще го черпа бира :clap:Публикувано изображение

Малеее,мъничко ти трябва да рабереш Паскала-седни и почети иначе няма оправия,Пък тези неща незнам някой да ги прави без пари.Паскала ти е най-малкия проблем-ако можеш да намериш учебника за програмиране на доц.Върбан Илиев-там пише всичко и ще ти помогне да си напишеш задачите.Научи циклите и рекурсиите.

Прав(а) сте, но до този момент не знаех за такъв учебник. Другото което е, паскала ми е единственото нещо което се извършва на компютър и не мога да го разбера. Признавам, че съм имал проблеми и с Ексел, но го разбрах. Просто за паскал ми трябва или някой да ми обясни или учебник. Така, 4е благодаря за съвета, ще го потърся.

Относно задачите, поради моята неграмотност в тази сфера, потърсих помощ от хора които знаят и могат да ми помогнат.

П.С. Пак благодаря за съвета, ще намеря този учебник. :) :)

Редактирано от genkata10 (преглед на промените)

Прав(а) сте, но до този момент не знаех за такъв учебник. Другото което е, паскала ми е единственото нещо което се извършва на компютър и не мога да го разбера. Признавам, че съм имал проблеми и с Ексел, но го разбрах. Просто за паскал ми трябва или някой да ми обясни или учебник. Така, 4е благодаря за съвета, ще го потърся.

Относно задачите, поради моята неграмотност в тази сфера, потърсих помощ от хора които знаят и могат да ми помогнат.

П.С. Пак благодаря за съвета, ще намеря този учебник. ;) ;)

Бих ти го сканирала,но нямам скенер при мен,а ако имаш познати в Русенски университет,могат да ти дадат учебника.Просто е написан на достъпен език и има примери.Успех

Имам проблем с курсовата. Трябва да я предам до 10 Декември, а някои неща нямам идея как да ги направя...

Да се напише програма, реализираща личен указател. Данните в указателя са:
- Име;
- телефон;
- адрес;
- е-mail;
- рожден ден;
- категория (приятел, роднина, колега).
Информацията да се съххранява във външен файл. Да се реализират следните операции над данните:
- добавяне на нови данни;
- извеждане на екрана на данните за дадено име;
- изтриване на данните за дадено име;
- актуализиране на данните за дадено име;
извеждане на екрана на данните от определена категория;
- определяне на предстоящи рождени дни (в следващите 7 дни спрямо днешната дата) или извеждане на съобщение, че няма такива.

Това с което не знам как да го направя е извеждането/ изтриването на данни за дадено име и момента с рожденните дни...

ПП: Когато имам възможност тия дни ще пусна какво точно съм направил. Доволен съм на всякаква помощ/ насоки Публикувано изображение

Архивирана тема

Темата е твърде стара и е архивирана. Не можете да добавяте нови отговори в нея, но винаги можете да публикувате нова тема, в която да продължи дискусията. Регистрирайте се или влезте във вашия профил за да публикувате нова тема.

Разглеждащи това в момента 0

  • Няма регистрирани потребители разглеждащи тази страница.

Дарение

  • Подкрепи съществуването на форума - направи дарение
    25%
    Дарени 252.69 EUR от нужните 1,000.00 EUR

Бюлетин

Получавайте известие, когато има важна промяна или новина свързана с форума.

Профил

Навигация

Търсене

Търсене

Конфигуриране на push известия в браузъра

Chrome (Android)
  1. Докоснете иконата на катинар до адресната лента.
  2. Докоснете Разрешения → Известия.
  3. Променете предпочитанията си.
Chrome (Desktop)
  1. Кликнете върху иконата на катинар в адресната лента.
  2. Изберете Настройки на сайта.
  3. Намерете Известия и коригирайте предпочитанията си.