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

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

Kaldata.com - Форуми

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

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

Добре дошли!

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

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

 

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

Featured Replies

ОК, благодаря все пак. Лека

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

Търся задачи за Паскал, ако може на български език (може и на английски). На руски ги има в изобилие, но с тоя език не се разбираме.... :offtopic_s:

А за сложността - някъде средно ниво.... Да са за по-напреднали все пак..

Благодаря! :)

има много добри издадени сборници на български със по 500 -600 готови програми

Търси в он-лайн книжарниците.

струват по5-8 лв на брой ;)

Много моля някой да ми помогне за следната задача! Напишете програма на Паскал, която въвежда произволни числа от клавиатурата и преброява отрицателните числа и нулите в два отделни брояча. Цикълът завършва при въвеждане на положително число. Стойностите на двата брояча да се изведат на екран. Ако може някой да ми напише решението на Паскал, защото аз се опитах и нищо не стана.

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

Някой би ли ми я решил

Заповадай.

Program Armeisko_Luvche;
uses
 crt;
var
 PrOtr,Temp:Real;
 Count:Integer;
begin
 clrscr;
 PrOtr:=1.0;
 Count:=0;
  Repeat
   Write('Vavedete chislo t klaviaturata:');
   Readln(Temp);
	if Temp<0 then
		 begin
		  Count:=Count+1;
		  PrOtr:=PrOtr*Temp;
		 end;
  Until Temp=0;
 Writeln('Proizvedenieto na otricatelnite elementi e:',PrOtr:0:2  ,' i tehniqt broi e:',Count);
 Writeln('Press Enter to exit...');
Readln;
end.

Приятна вечер Публикувано изображение

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

Заповядай.

Program Homework;
uses
 crt;
var
 Temp:Real;
 NullCount,NegCount:Integer;
begin
 clrscr;
 NullCount:=0;
 NegCount:=0;
 Repeat
  Write('Vavedete chislo ot klaviaturata:');
  Readln(Temp);
   if Temp<0 then
	NegCount:=NegCount+1
   else if Temp=0 then
	NullCount:=NullCount+1;
 Until Temp>0;
 Writeln('Broqt na otricatelnite elementi e:',NegCount);
 Writeln('Broqt na nulevite elementi e:',NullCount);
 Writeln('Press Enter to Exit...');
Readln;
end.

Лека вечер Публикувано изображение

Много моля някой да ми реши следната задача: Да се напише програма, която въвежда произволни числа от клавиатурата в интервала от a до 89, където a<89 и се обявява в раздел Const (константа) в началото на програмата. Да се изчисли сумата на тези числа, докато се въведе първото по-малко от a число и да се изведе на екран изчислената сума и броя на числата.

Много моля някой да ми реши следната задача:

Да се напише програма, която въвежда произволни числа от клавиатурата в интервала от a до 89, където a<89 и се обявява в раздел Const (константа) в началото на програмата. Да се изчисли сумата на тези числа, докато се въведе първото по-малко от a число и да се изведе на екран изчислената сума и броя на числата.

const a=1;
var k,s,br:integer;
begin
s:=0;k:=0; br:=0;
repeat
s:=s+k;
repeat
write('k=');
readln(k);
until k<89;
if k>=a then br:=br+1;
until k<a;
writeln('S=',s,' BR=',br);
end.

6te vi byda mn blagodarna ako mi pomognete za 21 fevruari mi sa: 1)Да се състави програма, която намира сумата на числата от 1 до N (N се въвежда от клавиатурата) и проверява дали сумата се дели на 5. 2)Да се състави програма, която да показва на екран таблицата за умножение от 1 до 10 MNOGO MI E SPE6NO PLS POMOGNETE

Заповядай и успех Публикувано изображение

Program Zadacha_A;
uses
 crt;
var
 N,Sum,i:Integer;
begin
 clrscr;
 Write('Vavedete chislo N ot klaviaturata:');
 Readln(N);
 Sum:=0;
  for i:=1 to N do
   Sum:=Sum+i;
  Writeln('Sumata na chislata ot 1 do ',N,' e:',Sum);
  if Sum mod 5=0 then
   begin
	Writeln('Sumata na chislata se deli tochno na 5.');
	Writeln('Rezultata ot delenieto e:',Sum/5:0:2);
   end
  else
   begin
	Writeln('Sumata na chislata Ne se deli tochno na 5.');
	Writeln('Rezultata ot delenieto e:',Sum/5:0:2);
   end;
 Readln;
end.


Program Zadacha_B;
uses
 crt;
const
 n=10;
var
 i,j:integer;
begin
 clrscr;
 Writeln('Tablica za umnojenie');
 Writeln;
  for i:=1 to n do
   begin
	for j:=1 to n do
	 Write(i,'*',j,'=',i*j,'; ');
	Writeln;
   end;
 Readln;
end.

Заповадай.

Program Armeisko_Luvche;
uses
 crt;
var
 PrOtr,Temp:Real;
 Count:Integer;
begin
 clrscr;
 PrOtr:=1.0;
 Count:=0;
  Repeat
   Write('Vavedete chislo t klaviaturata:');
   Readln(Temp);
	if Temp<0 then
		 begin
		  Count:=Count+1;
		  PrOtr:=PrOtr*Temp;
		 end;
  Until Temp=0;
 Writeln('Proizvedenieto na otricatelnite elementi e:',PrOtr:0:2  ,' i tehniqt broi e:',Count);
 Writeln('Press Enter to exit...');
Readln;
end.

Приятна вечер Публикувано изображение

Страшно ти благодаря :wub:

  • 3 седмици по-късно...

Да попитам нещо свързано с компилатор.С Виста 64 битова съм и някой може ли да ми каже компилатор който да прави .exe файлове и да ми тръгват :yanim: Сега съм с Free Pascal, но ми пише че щот ми била 64 битова версията на уина и за тва не ставало.Може пък да бъркам някаде при правенето на ехе-тата.Ако някой знае как да постне 2-3 скрийна:(

molq pomognete mi da re6a dvete zada4i ;):);) 1)Да се състави функция за пресмятане на y=an (N KATO STEPEN) , като входните данни за програмата са: а -основа на степента (реално число) и n - степенен показател(цяло число). 2)Да се състави програма за намиране на средноаритметично на всеки 2 реални числа А и В, въведени от потребителя, като се използва процедура БЛАГОДАРЯ ПРЕДВАРИТЕЛНО

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

molq pomognete mi da re6a dvete zada4i :help wanted::):P

1)Да се състави функция за пресмятане на y=an (N KATO STEPEN) , като входните данни за програмата са: а -основа на степента (реално число) и n - степенен показател(цяло число).

2)Да се състави програма за намиране на средноаритметично на всеки 2 реални числа А и В, въведени от потребителя, като се използва процедура

БЛАГОДАРЯ ПРЕДВАРИТЕЛНО

1) function Stepen(a:real,n:integer):real;

var i:integer;

St:real;

begin

st:=1;

for i:=1 to n do St:=St*a;

Stepen:=St;

end;

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

Привет!

Наистина задачата може да се реши по по-прост начин, но все пак, щом трябва процедура... Архитектурата на програмата е следната:

Program za_pisanarashi;

var a,b,s:real;

procedure VHOD;
begin
  write('a= ');
  readln(a);
  write('b= ');
  readln(b);
end;

procedure SMQTANE;
begin
  s:=0;
  s:=(A+B)/2;
  write('s= ',s);
end;

BEGIN			/* Основна програма */
  VHOD;		 /* Викаме процедурата за вход */
  SMQTANE;   /* Викаме процедурата за смятане */
END.

Искрено се извинявам, ако някъде съм допуснал грешка! Не съм пипвал Pascal-а от доста време, но ще влезна пак в крак с програмата в най-скоро време! :clap:

Поздрави и пожелания за лек и весел ден!

П.с. Благодаря на psycho_666 за поправката! :)

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

Привет!

Наистина задачата може да се реши по по-прост начин, но все пак, щом трябва процедура... Архитектурата на програмата е следната:

Program za_pisanarashi;

var a,b:integer;
	  s:real;

procedure VHOD;
begin
  write('a= ');
  readln(a);
  write('b= ');
  readln(b);
end;

procedure SMQTANE;
begin
  s:=0;
  s:=(A+B)/2;
  write('s= ',s);
end;

BEGIN			/* Основна програма */
  VHOD;		 /* Викаме процедурата за вход */
  SMQTANE;   /* Викаме процедурата за смятане */
END.

Искрено се извинявам, ако някъде съм допуснал грешка! Не съм пипвал Pascal-а от доста време, но ще влезна пак в крак с програмата в най-скоро време! :speak:

Поздрави и пожелания за лек и весел ден!

Само една забележка... А и В трябва да са реални, а не интежер...

Може ли някой да ми реши следната задача: Дадени са два едномерни масива C[10] и B[10]. Да се получи нов масив K[10], чийто елементи се получават, като разлика на елементите с един и същ индекс от двата масива. Да се изведе на екран новополученият масив.

Привет!

Написах ти програмата. Тествах я и работи. :hush: Ето ти кода и:

Program Za_todorchev;

var i,j,p:integer;
	c:array[1..10] of real;
	b:array[1..10] of real;
	k:array[1..10] of real;

BEGIN	   // Osnovna programa
 for i:=1 to 10 do begin
 write('Vyvedete ',i,'-iq element na masiva C: ');
 readln(c[i]);
 end;

 writeln;

 for j:=1 to 10 do begin
 write('Vyvedete ',j,'-iq element na masiva B: ');
 readln(b[j]);
 end;

 for p:= 1 to 10 do begin
  k[p]:=c[i]-b[j];
 end;

  for p:=1 to 10 do

  writeln('Elementyt ',p,' na masiva K e: ',k[p]:8:2);
  writeln;
END.

За съжаление нямам време, за да разясня кода. Общо взето, ще считам, че всичко е ясно. :lol6: Написано е на латиница, защото компилаторите не възприемат кирилица!

Поздрави и лек ден! :P

Дадени са два едномерни масива А[10] и B[10]. Елементите на А[10] са средни скорости на автомобили в км/час, а елементите на B[10] са времената, измерени в часове и минути, за които тези автомобили са изминали определен път. Да се създаде нов масив С[10], чийто елементи са на разстоянията в км,които са изминали автомобилите. Изчислените данни да се изведат на екран във вида: "Автомобил номер ( извежда се индексът на съотв.елемент ) - изминат път ........ км" Моля помогнете ми за тази задача.Ако може някой да напише цялото решение ще съм мн благодарен :help:

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

Дадени са два едномерни масива А[10] и B[10]. Елементите на А[10] са средни скорости на автомобили в км/час, а елементите на B[10] са времената, измерени в часове и минути, за които тези автомобили са изминали определен път. Да се създаде нов масив С[10], чийто елементи са на разстоянията в км,които са изминали автомобилите. Изчислените данни да се изведат на екран във вида: "Автомобил номер ( извежда се индексът на съотв.елемент ) - изминат път ........ км"

Моля помогнете ми за тази задача.Ако може някой да напише цялото решение ще съм мн благодарен ;)

Привет!

Задачата ти е същата, както тази, която бях решил пост по-нагоре! Единственото нещо, което трябва да направиш е да смениш тези редове:

for p:= 1 to 10 do begin
  k[p]:=c[i]-b[j];
end;

с примерно такива:

for p:= 1 to 10 do begin
  k[p]:=c[i] * b[j];	 // k[p] в км = c[i] в км/ч * b[j] в часове - по елементарния закон: S=V.t
end;

Останалото е обработка на извеждането... Това е! :)

Поздрави!

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

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

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

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

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

Дарение

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

Бюлетин

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

Профил

Навигация

Търсене

Търсене

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

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