Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи на Pascal/Object Pascal/Free Pascal (Delphi/Lazarus)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434

Открыть новую тему     Написать ответ в эту тему

buffy



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Задачи и Программирование на языке Pascal/Object Pascal (Turbo, Delphi и Free Pascal)

 
Перед тем, как задать вопрос: загрузите "версию для печати" (ссылка справа вверху, над номерами страниц) и попробуйте поискать средствами браузера (ctrl+F). Большинство типовых задач уже решались, причем неоднократно!  
ВНИМАНИЕ!

Текст всех программ обязательно заключайте в теги [code][/code].
Большие тексты (более 15 строк) обязательно прячутся в [more]ВАШ ТЕКСТ и/или Ваш КОД[/more]


Альтернативный компилятор
Free Pascal Compiler (FPC) -- мощный компилятор Паскаля
 - девиз: пишешь единожды, компилируешь где хошь...
 - на 99% совместим по коду с ТР и Object Pascal (Delphi)
 - межплатформенный
 - свободный  
Lazarus -- среда разработки для FPC (аналог среды Delphi7)
 
Файлы
Русская справка
Turbo Pascal 7.1 добавлены некоторые модули из Borland Pascal, русская справка.
Borland Pascal 7.0 Полный (13-дискетный, вкл. исходники), никем не модифицированный  дистрибутив.
 
Учебники:
В.В.Фаронов - Turbo Pascal. Начальный курс
В.В.Фаронов - Turbo Pascal. Наиболее полное руководство
Д.М.Ушаков, Т.А.Юркова - Паскаль для школьников
С.М.Окулов - Основы программирования
С.М.Окулов - 2 главы из школьного учебника по информатике
В.М.Котов - Олимпиадные задачи по информатике с решениями
Никитин - набор исходников для типовых задач
Мансуров - Основы программирования в среде Lazarus - основы паскаля, много примеров, блоксхем, алгоритмов. 2010. 772 с. примеры к книге
Деревенец - Песни о Паскале - паскаль для школьников и студентов-первокурсников
Епанешниковы - Программирование в среде Turbo Pascal
Паскаль для школьников. Подготовка к ЕГЭ (2011)
Фадеев - Паскаль для школы
Потопахин - Turbo Pascal Решение сложных задач (2006)
Полезные линки
библиотека алгоритмов (есть и на Паскале)
библиотека алгоритмов (ещё одна)
библиотека алгоритмов (и ещё одна)
Разбор олимпиадных задач по информатике от Михаила Густокашина
 
Проблема с набором русского текста в консоли/Turbo Pascal
решение проблемы с набором русского текста в консоли Windows  скриптом (командным файлом)
 
Построение блок-схем
FCEditor -- Программа для автоматического построения блок-схем программ из исходного текста на языке Pascal (Delphi)
 - для правильной работы исходный текст должен начинаться со слова program или unit

Всего записей: 4 | Зарегистр. 24-10-2002 | Отправлено: 12:46 11-01-2003 | Исправлено: akaGM, 23:06 21-11-2019
Algofil



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
не лень, просто не вижу смысла писать решение, которое здесь уже выложено, поищи, тут все по русски, и не говори что ты чайник, а то счас спросят чем ты ваще занимаешься в тырнете если даж не можешь найти готовое...
как вариант, спроси товарищей по учебе - за бутылку пива любой тебе кликнет на слово Поиск в левом верхнем углу этой страницы

Всего записей: 247 | Зарегистр. 19-09-2007 | Отправлено: 16:35 23-11-2007
smilrena

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здраствуйте! Очень нужна ваша помощч... Надо написать программу которая суммирует и умножает большие числа, а потом их сравнивает. Числа читает с фаила и в фаил вписывает ответы. я долго с етим мучалась, сумму сделала и умножение тоже, но есть неполадки.  Пожалуйста помогите мне с етим, исправте или перепишите... (либо можно написать другую програму, но тоже с большими числами). Моя програма пониже (надеюсь догадаетесь что где) :
 
program suma;
type Tmas=array[1..1000000] of char;
     Tmas2=array[1..1000000] of integer;
     Tmas3=array[1..1000, -1000..1000] of integer;
     Tmas4=array[-1000..1000] of integer;
{*********************************************}
 procedure suma(var SUM : Tmas2; Mas1, Mas2 : Tmas; m, n : integer);
  var k, l, atminty : integer;
  begin
    k:=m-n;      
    l:=m;      
    atminty:=0;
    for m:=l downto k+1 do                          
      SUM[m]:=ord(Mas1[m])-48+ord(Mas2[m-k])-48;
    for m:=k downto 1 do                              
      SUM[m]:=ord(Mas1[m])-48;
    for m:=l downto 2 do
      begin
        SUM[m]:=SUM[m]+atminty;
        atminty:=SUM[m] div 10;
        SUM[m]:=SUM[m] mod 10;
      end;
    SUM[1]:=SUM[1]+atminty;
  end;
{***************************************************}
 
 
procedure daugyba(i, j: integer; AA, BB : Tmas; var N : Tmas4; var h : integer);
var i2, j2, js, s, atminty : integer;
    M : Tmas3;
begin
   i2:=i; j2:=j;
   s:=-1;                                          {i<j}
 
   for i:=i2 downto 1 do
   begin
      inc(s);
     for j:=j2 downto 1 do
     begin
       js:=j-s;
        M[i, js]:=(ord(AA[i])-48)*(ord(BB[j])-48);    
     end;
 
   end;
   h:=1-s;
   for i:=i2 downto 1 do
     for j:=j2 downto h do
       N[j]:=N[j]+M[i, j];
   for j:=j2 downto h do
      begin
        N[j]:=N[j]+atminty;
        atminty:=N[j]div 10;
        N[j]:=N[j]mod 10;
      end;
end;
 
 
 
var A, B : Tmas;
    C : Tmas2;
    D : Tmas4;
    i, j, k, kk : integer;
    trp : char;
    f1 : file of char;
    input : string[30];
 
begin
  writeln('Iveskite takeli: ');
  readln(input);
  assign(f1, input);
  reset(f1);
  i:=1;
  j:=1;
  trp:=' ';
  read(f1, A[i]);
  while A[i]<> trp do
  begin
    i:=i+1;
    read(f1, A[i]);
  end;
  i:=i-1;                
 
  read(f1, B[j]);
  while B[j]<> trp do
  begin
    j:=j+1;
    read(f1, B[j]);
  end;
  j:=j-1;              
 
  if i>=j then
    begin
      suma(C, A, B, i, j);
      for k:=1 to i do
        write(C[k]);
    end;
     
  if i<j then
  begin
    suma(C, B, A, j, i);
    for k:=1 to j do
    write(C[k]);
  end;
   
  writeln;
 
  if i<=j then
  begin
    daugyba(i, j, A, B, D, k);
    for kk:=k to j do
      write(D[kk]);
  end;
   
  if i>j then
  begin
    daugyba(j, i, B, A, D, k);
    for kk:=k to i do
      write(D[kk]);
  end;
     
 
  close(f1);
  readln;
end.
 
 

Всего записей: 25 | Зарегистр. 23-11-2007 | Отправлено: 20:21 23-11-2007
OTHELLO22509

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
помогите написать две программки :
1. Начав тренировки, лыжник в первый день пробегал 10 км. Каждый следующий день он увеличивал длину пробега на 10% от предыдущего дня. Определить в какой
день он пробежит больше 20 км, в какой день суммарный пробег за все дни превысит 100 км.  Написать программу
 
2. Заполнить файл действительными числами из отрезка [-100;100]. Переписать в другой файл те числа, целая часть которых является четным числом.
Определить число элементов первого и второго файлов. Вывести на печать все элементы исходного файла; отрицательные элементы исходного файла; все элементы
второго файла.

Всего записей: 2 | Зарегистр. 23-11-2007 | Отправлено: 22:44 23-11-2007
sayron22

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди помогите мне решить программу!
Тема: перечесляемый тип.
type единица = ( дециметр, киллометр, метр, миллиметр, сантиметр);
длина=real;
var x: длина; p: единица;
Значение переменной x, означающие некоторую длину в единицах p, заменить на велечину этой же длины в метртах.
 
Есть ли у кого что-то  похожее или помогите мне решить эту задачю.
 

Всего записей: 21 | Зарегистр. 22-11-2007 | Отправлено: 11:00 24-11-2007
SKALKER

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

ПОМОГИТЕ ПОЖАЛУСТА ЗАПРОГРАММИРОВАТЬ ЗАДАЧУ.
____________________________________________
Задача на цикл WHILE
_____________________
Даны натуральное число (n)  
и вещественные числа (x1,y1),(x2,y2), ... (xn,yn).
Расматривая пары (xi,yi) как координаты точек на плоскости,
определить радиус наименьшего круга (с центром в начале координат),
внутрь которого поподают все эти точки.

Всего записей: 4 | Зарегистр. 23-11-2007 | Отправлено: 14:03 24-11-2007
sayron22

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Салам SKALKER ты случайно не в ЦАТЕКЕ учишься?

Всего записей: 21 | Зарегистр. 22-11-2007 | Отправлено: 15:21 24-11-2007
Hanniball



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
smilrena
 
блин, у меня компилятор уже  

Цитата:
 type Tmas=array[1..1000000] of char;  
     Tmas2=array[1..1000000] of integer;  
     Tmas3=array[1..1000, -1000..1000] of integer;  
     Tmas4=array[-1000..1000] of integer;

не воспринял, ругается, что слишком большие индексы.
Ты бы уточнила в чем возникает проблема.
 
OTHELLO22509
 

Цитата:
1. Начав тренировки, лыжник в первый день пробегал 10 км. Каждый следующий день он увеличивал длину пробега на 10% от предыдущего дня. Определить в какой  
день он пробежит больше 20 км, в какой день суммарный пробег за все дни превысит 100 км.  Написать программу

 
var d:integer; x,sum:real; {d-день, x-сколько пробежал седня, sum-сколько вобще}
begin
d:=1;x:=10;sum:=10;
 
repeat
inc(d);
x:=x+x*0.1;
sum:=sum+x;
until (x>20)and(sum>100);
write(d);
 

Цитата:
2. Заполнить файл действительными числами из отрезка [-100;100]. Переписать в другой файл те числа, целая часть которых является четным числом.  
 

 
заполнение
...
randomize;
for i :=1 to n do
   begin
   x:=(random(2000)-1000)*0.1;{случ. число между -100 и 100, с 1 знаком после зпт}
   write(f1,x);
   end;
 
прверка на четность
...
read(f1,x);
if not odd(trunc(x)) then write(f2,x); {odd(x) - проверка на нечетность, вроде бы, -> not odd - проверка на четность, trunc - отбрасывает дробную часть}
,,
остальное совсем элементарно
 
sayron22

Цитата:
type единица = ( дециметр, киллометр, метр, миллиметр, сантиметр);  
длина=real;  
var x: длина; p: единица;  
Значение переменной x, означающие некоторую длину в единицах p, заменить на велечину этой же длины в метртах.

 
case p of
дециметр:x:=x*10;
километр:x:=x*1000;
миллиметр:x:=x*0.001;
сантиметр:x:=x*0.01;
end;
 
 
 
 
 
Добавлено:
SKALKER

Цитата:
Даны натуральное число (n)  
и вещественные числа (x1,y1),(x2,y2), ... (xn,yn).  
Расматривая пары (xi,yi) как координаты точек на плоскости,  
определить радиус наименьшего круга (с центром в начале координат),  
внутрь которого поподают все эти точки.

 
идея такая:
r:=0;{это тот самый радиус}
for i:=1 to n do
begin
s:=sqrt(sqr(xi)+sqr(yi));{находишь радиус круга, в который данная точка попадает}
if s>r then r:=s;
end;

Всего записей: 108 | Зарегистр. 15-05-2007 | Отправлено: 16:59 24-11-2007
sayron22

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Hanniball
 
спасибо

Всего записей: 21 | Зарегистр. 22-11-2007 | Отправлено: 18:09 24-11-2007
Balak bittu

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пожайлуста помогите написать программу на строки!!!!!!!???????
 
Дано: Удалите из второй строки все символы, которые встречаются в первой строке, и поместите их в третью строку.

Всего записей: 1 | Зарегистр. 24-11-2007 | Отправлено: 18:48 24-11-2007
RoMiGoR



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите решить 2 задачи:
1 задача : Составьте процедуру на Паскале для вывода прямоугольника заданного размера и цвета в заданную область экрана с проверкой корректности параметров вызова.
 
2 задача : Составьте программу с использованием модуля DOP.TPU для вывода таблицы значений факториала чисел от 1 до 10
 Вот текст DOP.TPU
 
   
 

Всего записей: 21 | Зарегистр. 24-11-2007 | Отправлено: 19:53 24-11-2007
I am not Liar

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2 задача ппц просто
подключаешь модуль DOP.TPU (см. хелп как это делается) и пишешь
factorial:=factor(10);
writeln(factorial);

Всего записей: 87 | Зарегистр. 07-11-2007 | Отправлено: 21:11 24-11-2007
Oaip

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть задачка: "расставьте строки данной матрицы в порядке возрастания элементов первого столбца".Как лучше ее реализовать и с помощью какой сортировки каким методом...? Заранее спасибо!

Всего записей: 11 | Зарегистр. 13-10-2007 | Отправлено: 00:59 25-11-2007
SKALKER

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2Hanniball спасибо! Проверю.
 
2sayron22 эт я Саня! блин Андрюха ты замотался!
____________________________________________

Всего записей: 4 | Зарегистр. 23-11-2007 | Отправлено: 06:45 25-11-2007
sayron22

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Саня ты чё в субботу не пришёл?
Не знаешь во сколько завтра нам на учёбу!!

Всего записей: 21 | Зарегистр. 22-11-2007 | Отправлено: 07:09 25-11-2007
SKALKER

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2Hanniball
Проверил...
у меня ничего не получилось...
Конечно For эт хорошо ...  
но мне нужно решить эту задачю спомощью цикла WHILE...
ПОМОГИТЕ!!!

Всего записей: 4 | Зарегистр. 23-11-2007 | Отправлено: 11:21 25-11-2007
smilrena

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Hanniball -> трудно даже обяснить, так как я в етой программе много переделывала ... но точно что  неправильно умножает, и когда читаю числа не с одного а пару фаилов и хочу ответ в третий фаил записать, то не дает..

Всего записей: 25 | Зарегистр. 23-11-2007 | Отправлено: 13:35 25-11-2007
RoMiGoR



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо, I am not Liar! Очень помог!
 P.S. А по поводу первой задачки, обьясните, что такое "проверка корректности параметров вызова"

Всего записей: 21 | Зарегистр. 24-11-2007 | Отправлено: 16:01 25-11-2007 | Исправлено: RoMiGoR, 16:02 25-11-2007
iTASmania_Inc



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Очень извиняюсь за тупизм, но ни у кого нет где-нибудь в архивах программного кода для вычисления определенного интеграла методом Монте-Карло.
Очень надо, ибо найденные Гуглём работы не устраивают препода... (((
Заранее СПАСИБО!

----------
/* Corona Skin is my FAVOURITE skin for Inno Setup! Must be and must have! */

Всего записей: 443 | Зарегистр. 29-04-2007 | Отправлено: 21:34 25-11-2007
boogman

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вот помогите плиз, знаю что простая задача, но я не могу решить, напишите плиз прогу с циклом))):   http://boogman.narod.ru/zadacha.doc

Всего записей: 12 | Зарегистр. 26-10-2007 | Отправлено: 22:46 25-11-2007
3x3r



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Очень требуется помощь
 
Задачка:
 
В Заданной матрице найти строку с наибольшей и наименьшей суммой элементов. Исходную матрицу вывести в общепринятом виде.Вывести найденные строки и суммы их элементов.
 
Короч вот весь смысл =\ Училка меня не любит вот и задает такую пижню  
 
Заранее спасибо!!

Всего записей: 124 | Зарегистр. 17-12-2005 | Отправлено: 06:31 26-11-2007
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи на Pascal/Object Pascal/Free Pascal (Delphi/Lazarus)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru