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

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

Kaldata.com - Форуми

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

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

Добре дошли!

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

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

 

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

Featured Replies

Здравейте!

Много Ви моля да ми напишете решението на две задачи. Предварително благодаря на всички, които помогнат. Трябват ми за пътък /23,01/ сутринта.

1. Дадена е декларацията

Var k:0..99999;

d: array (1..5) of '0'..'9';

Да се напише програма, която:

а) записва цифрите на цяло число k в едномерния масив d;

б) намира цяло число k, образувано от цифрите, съставящи масива d.

2. Даден е масивът v : array(1..80) of char. Да се напише програма, която определя дали v е симетричен, т.е. четен отляво надясно и от дясно на ляво е един и същ.

Мисля, че успях, но го провери с компилатор и прати ЛС дали съм се справил, тъй като отдавна не съм ползвал тези неща. Това е първата:

[Program masivi;
var k:0..99999;
d:array(1..5) of '0'..'9';
niz,conv:string;
i,kolko:integer;
Begin
write('vyvedete 4isloto za obrabotka:');
readln(k);
str(k,niz);				{obry6tame integer v niz}	
kolko:=length(niz);			{proverqvame dyljinata (broq cifri) na k}	
for i:=1 to kolko do
d[i]:=copy(niz,i,1);			{zapylvame masiva sys znaka ot poziciq i na niza}
for i:=1 to kolko do
insert(conv,d[i],i);
writeln('slu4aino 4islo, sydyrja6to se ot simvolite na 4isloto ',k:6,'e: ',conv:6);
readln;
End.

А следващата мисля, няма да тръгне, но опитай все пак.

Programa vtora;
var v:array(1..80) of char;
kolko:1..80;
i:word;
niza,nizb:string[80];
Begin
write('molq vyvedete broq nizove ot 1 do 80, koito jelaete da vyvedete: ');
readln(kolko);
for i:=1 to kolko do
begin
write('vyvedete znacite, koito 6te systavqt niza:');
readln(v[i]);
niz:="";				{opredelqme niza niz kato prazen}
for i:=1 to kolko do
begin
insert(niza,v[i],i);
insert(nizb,v[kolko-i],kolko-i);
end;
if niza=nizb then write('niza pro4eten ot lqvo na dqsno i obratno e ednakyv') else write('niza pro4eten ot lqvo na dqsno i obratno ne e ednakyv');
readln;
end.
  • Отговори 622
  • Прегледи 131,9k
  • Създадено
  • Последен отговор

Задача 1

Program zad1;
var a,b,c:char;
BEGIN
writeln('Въведи редица от символи във вида - (a,b,c):');
repeat
write(',');read(a);write(',');read(b);
write(',');read (c);writeln(');
until((a='*')and(b='*')and(c='*'));
if(a<=b)and(b<=c) then
writeln('(',chr(ord(a)+2),',',chr(ord(b)+2),',',
chr(ord(c)+2),',')
else writeln('(',chr(ord(a)-1),',',chr(ord(b)-1),',',
chr(ord(c)-1),')');
readln;
end.
Кое и е грешното.......

Грешката ти е тук:

write(',');read (c);writeln(');

Трябва да е:

write(',');read (c);writeln(',');

Трябва да изглежда така:

Program zad1;
var a,b,c:char;
BEGIN
writeln('Въведи редица от символи във вида - (a,b,c): ');
repeat
write(',');read(a);write(',');read(b);
write(',');read(c);writeln(',');
until((a='*')and(b='*')and(c='*'));
if(a<=b)and(b<=c) then
writeln('(',chr(ord(a)+2),',',chr(ord(b)+2),',',
chr(ord(c)+2),',')
else writeln('(',chr(ord(a)-1),',',chr(ord(b)-1),',',
chr(ord(c)-1),')');
readln;
end.

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

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

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

program zad2;
  var a:array[1..100] of real;
n,P,min,i,j,br,max:integer;
begin
write('n= ');readln(n);
for i=1 to n do
 Begin
write('a[',i,']=');readln(a[i]);
 end;
  (* sortirane *)
 for i:=1 to n-1 do
  begin
  min:=a[i]; p:=i;
  for j:=i+1 to n do
  if a[j]<min then
   begin
   min:=a[j];
   p:=j;
   end;
   a[p]:=a[i]; a[i]:=min;
   end;
   while max :=1 i<=n-1 do
   begin
	br:=1;
	j:=i;
   while a[j]=a[j+1] do
   begin
   j:=j+1; br:=br+1;
   end;
  writeln('Nai-dulgata ploshtadka e:',max);
  readln;
  end.

И тази не мога да е оправя :):question::angry: :angry:

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

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

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

Привет, колеги! Някой да се досеща по какъв начин мога да накарам (в Паскал, разбира се) да ми извежда повече от 16 знака след десетичната запетая? :bye1: Поздрави! Послепис :) : Отключил съм сопроцесора чрез скрипта ми. Става дума за моята програма за изчисляване на Пи. Методът ми е Гаус-Лагранжовият алгоритъм, чрез дроби със знаменател под корен. Нямам грешки по кода, но все ми спира repeat функцията след 16 знак, като последният е 0... :speak:

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

Привет, колеги!

Някой да се досеща по какъв начин мога да накарам (в Паскал, разбира се) да ми извежда повече от 16 знака след десетичната запетая? :magnifier:

Поздрави!

Послепис :) : Отключил съм сопроцесора чрез скрипта ми. Става дума за моята програма за изчисляване на Пи. Методът ми е Гаус-Лагранжовият алгоритъм, чрез дроби със знаменател под корен. Нямам грешки по кода, но все ми спира repeat функцията след 16 знак, като последният е 0... :)

Колеги, оправих се! :)

Реших го с 325 реда код... Публикувано изображение Собственото ми постижение (да "поскромнича" малко :)) е калкулиране на 150000 знака след запетаята с моята програма. :)

Съжалявам за Офтопика, главното ми мнение е в първия ред! :)

  • 1 месец по-късно...

Здравейте,ако имате малце време може ли някой да ми помогне. Значи вака става: Да се състави програма за обработка на масив А [6,6],съставен от реални числа със стойности в интервала [0..99.99].Съответните подпрограми да извръшват следниве действия: отпечатване на условието на задачата и отпечатване на автора на програмата; това знам въвеждане на входните данни; това знам отпечатване на входните данни; намиране сбора на всички елементи >K и <L който лежат на главния диагонал на масива(К и Л се въвеждаат от клавийатурата) да се отпечатат получените резултати по време и след обработката. Program P1 (input, output); uses crt; var i,n,m:integer; sum,sum1:real; A:array[1..100] of real; B:array[1..100] of real; var name:string; begin textcolor(1); textbackground(15); writeln('Vvedete go vaseto ime'); readln(name); write( 'Dobar den',name); readln; writeln ('Vvedete 6 cisla:'); for i:=1 to 6 do readln (a[n]); writeln ('Vvedete 6 cisla:'); for i:=1 to 6 do readln (b[m]); sum:=0; sum1:=0; sum:=sum+a[n]; sum1:=sum1+b[m]; writeln('Sumite se:',sum,' , ',sum1); readln; end.

Здравейте,ако имате малце време може ли някой да ми помогне.

Значи вака става:

Да се състави програма за обработка на масив А [6,6],съставен от реални числа със стойности в интервала [0..99.99].Съответните подпрограми да извръшват следниве действия:

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

въвеждане на входните данни; това знам

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

намиране сбора на всички елементи >K и <L който лежат на главния диагонал на масива(К и Л се въвеждаат от клавийатурата)

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

Много е грешен този код, масивът е един двумерен а не два едномерни. Ето ти основната част от решението, а външния вид си го оправи както ти го искат

Program P1;
uses crt;
type re=1..100;
 arr=array[1..6,1..6]of re;
var i,n,m,j,k,l:integer;
sum,sum1:real;
A:arr;
name:string;
begin
textcolor(1);
textbackground(15);
writeln('Vvedete go vaseto ime');
readln(name);
write( 'Dobar den',name);
readln;
sum:=0;
sum1:=0;
writeln ('Vvedete 6*6 cisla:');
for i:=1 to 6 do
for j:=1 to 6 do read (a[i,j]);

write('k,l=');
readln(k,l);
for i:=1 to 6 do begin
if a[i,j]>k then sum:=sum+a[i,j];
if a[i,j]<l then sum1:=sum1+a[i,j];
writeln('Sumite sa:',sum,' , ',sum1);
end;
writeln('Sumite sa:',sum,' , ',sum1);
readln;
end.
  • 3 седмици по-късно...

Здравейте на всички, радвам се, че съществува този форум и благодарности на всички които помагат в писането на програми на Паскал. Имам една курсова задача на Паскал. Да се състави главна програма за обработване на 3 масива P(10x12), Q(14x16) I R(15x19), където данните са числа в интервала [-0 - 999]. Съответните подпрограми да извършват следните обработки: • Извеждане на условието на задачата и името на автора • Въвеждане на входящите данни • Извеждане на входящите данни • Да се намери стълба съдържащ най-много нечетни елементи и да се нулират двата следващи стълба – ако е последен – да се нулират първите 2 стълба • Резултатите да се изведат на екрана първите 3 процедури знам как да се напишат. Затруднява ме търсенето на стълба съдържащ най-много нечетни елементи и съответно нулирането на другите. Ще бъда много благодарна на всички които ми помогнат. До неделя ми трябва решението на задачат. Благодаря още веднъж!!!

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

Помощ

-> Съставете програма на Паскал , която пресмята средно аритметично няколко цели числа въведени от клавиатурата.Въвежданията на числата продължава до първото неположително число. То не участва в сумата.

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

Помощ

-> Съставете програма на Паскал , която пресмята средно аритметично няколко цели числа въведени от клавиатурата.Въвежданията на числата продължава до първото неположително число. То не участва в сумата.

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

Ще ти обясня алгоритъма step-by-step, ако не успееш да го направиш, пускам и решение.

1. Трябва ти променлива, която да сумира всяко едно от въведените числа.

2. Трябва ти променлива, която да брои колко са въведените числа.

3. За да намериш средноаритметичното => числа/брой.

Цялата работа може да стане и чрез използване на масиви, но просто си усложняваме задачата, ако използваме този метод.

Ето решение, при което въвеждането продължава докато не бъде въведена 0, надявам се можеш да оправиш програмата и сам да продължава въвеждането до срещане на отрицателно число.

var x, sum : real;
		 n : byte;  
begin
  n := 0; sum := 0;
  write('Enter x= ');
  readln(x);
  while x<>0 do
	 begin
	   n := n+1;
	   sum := sum + x;
	   write('Enter x= ');
	   readln(x)
	 end;
  write(‘Average = ', sum/n);
end.

Original source: http://www.coding-bg.net/bg/tasks.php?page=show&task=100

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

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

krisku - не ми върши работа.. може ли с масив :help: Някой може ли да помогне - задачата в по-предния пост да се реши чрез масив ;)

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

Помощ - трябва да направа задача която да показва на екрана триъгълник но вместо с цифри с звезди(*)

Мерси

Ти шегуваш ли се? на всеки ред пишеш writeln('колкото звездички искаш'); и това е!

krisku - не ми върши работа.. може ли с масив :)

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

Още ли трябва решение на задачата?

Ми трепеа съпешно незнам как става със процедури.Нямам време да четам,защото имам проект който е поважен.Става въспрос за претходната задача с процедури. Да се състави програма за обработка на масив А [6,6],съставен от реални числа със стойности в интервала [0..99.99].Съответните подпрограми да извръшват следниве действия: отпечатване на условието на задачата и отпечатване на автора на програмата; това знам въвеждане на входните данни; това знам отпечатване на входните данни; намиране сбора на всички елементи >K и <L който лежат на главния диагонал на масива(К и Л се въвеждаат от клавийатурата) да се отпечатат получените резултати по време и след обработката. Program P1 (input, output); uses crt; var i,n,m,k,l:integer; sum,sum1:real; A:array[1..6,1..6] of real; name:string; begin writeln('Vvedete go vaseto ime i fakulteten nomer'); readln(name); writeln( 'Dobar den ',name); writeln ('Vvedete 6 cisla:'); for m:=1 to 6 do for n:=1 to 6 do repeat write ('A[',m,',',n,']='); readln(A[m,n]); until(A[m,n] >=0) and (A[m,n] <=100); for m:=1 to 6 do begin for n:=1 to 6 do write(A[m,n]:6:1); writeln; end; sum:=0; writeln('Vnesete nomeri K i L'); readln(k); readln(l); for m:=1 to 6 do for n:=1 to 6 do if(A[m,n] >=k) and (A[m,n]<=l) then sum:=sum+A[m,n]; writeln('Sumata pomezdu dvata broja e ',sum:2:3); readln; end.

Да се напише програма, която въвежда от клавиатурата положително реално число. Променливата 'a' да присвои втората цифра от дробната част на реално число. Работим се с Лазарус.. Ако някой може да помогне ще съм му много благодарен!

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

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

Съставете програма, която обслужва фирма за продажба на сортови семена:

а) създава файл от записи, съдържащи информация за име, сорт, грамаж и цена

б) да се направи справка дали даден сорт се съдържа във файла

в) да се направи справка за сорта с най - ниска цена

г) да се изведе файла

д) за всяка от подточките да се създаде отделна процедура, като процедурите се обединяват в меню.

Благодаря предварително!

Здравейте,трябва ми помощ за курсова работа на 1 приятелка. Link : http://prikachi.com/files/883279x.jpg .Мога да реазлизирам задачата на dev c++,но за жалост ми е нужна на Паскал.Ако някой разбира от този език да помогне.Мерси предварително !

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

Здравейте,трябва ми помощ за курсова работа на 1 приятелка. Link : <a href="http://prikachi.com/files/883279x.jpg" target="_blank">http://prikachi.com/files/883279x.jpg </a> .Мога да реазлизирам задачата на dev c++,но за жалост ми е нужна на Паскал.Ако някой разбира от този език да помогне.Мерси предварително !

Ще се опитам още днес да я имаш. Скайп plamko26

Покажи до къде си стигнал, за да ти помогнем. Или просто дойде края на годината и трябва някой да ти изкара оценката!

Успях да направя следното:

Program firma;

type semena=record

ime:string;

sort:string;

gramaj:real;

cena:real;

end;

F1=file of semena;

var f:f1;

s:semena;

procedure vh;

rewrite (f);

with s do begin

writeln ('vavedete ime');read(ime);

writeln ('vavedete sort');read(sort);

writeln ('vavedete gramaj');read(gramaj);

writeln ('vavedete cena');read(cena);

end;

write(f,s);

close(f);

end;

procedure izv;

var i:integer;

begin

reset (f);

while not eof (f) do begin

read (f,s)

write ('imeto e:',s.ime);

write ('sorta e:',s.isort);

write ('gramaja e:',s.gramaj);

write ('cenata e:',s.cena);

end;

close(f);

end;

begin

assign(f,'semena.dat');

vh;

izv;

end.

Как се справям до тук. Може ли малко помощ за справката за сорта с най - ниска цена.

Как се справям до тук. Може ли малко помощ за справката за сорта с най - ниска цена.

До тук програмата ти е много добре, малко остава и няма да е лошо да направиш и меню, а не ей така да си върви. Ако ти трябва помощ ти оставям Скайп plamko26

До тук програмата ти е много добре, малко остава и няма да е лошо да направиш и меню, а не ей така да си върви. Ако ти трябва помощ ти оставям Скайп plamko26

Забравих за сортирането:

procedure sortthem;
var masiv:array[1..100]of s;
i,j,n:integer;
novo:s;
begin
n:=0;
reset(f);
while not eof(f) do
begin
read(f,s);
n:=n-1;
masiv[abs(n)]:=s;
end;
n:=abs(n);
for i:=1 to n-1 do
for j:=2 to n do
if masiv[j].gramaj<masiv[j-1] then
begin
novo:=masiv[j];
masiv[j]:=masiv[j-1];
masiv[j-1]:=novo;
end;
end;
{do tuk samo se sortira}
{izvejdane na spisyka}
for i:=1 to n do writeln(masiv[i].ime,masiv[i].gramaj:5,masiv[i].cena:6);
end;

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

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

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

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

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

Дарение

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

Бюлетин

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

Профил

Навигация

Търсене

Търсене

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

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