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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Famous

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет...я тут новенький...помогите плз решить пару задачек на паскале...
 
1) Дана вещественная матрица размера 5*4 (размерность можно вводить произвольно). Упорядочить ее строки по возрастанию из наибольших элементов.
 
 
2) Одним из численных методов решения уравнения найти корень: х^3 + x - 12 = 0;
 
 
3) Даны действительные числа: x1, y1. x2, y2,...,x20, y200, r1,...,r11 (0<r1 <r2<...<r11).
Пары (х1, у1),...,(х20, у20) рассматриваются как координаты точек плоскости. Числа r1,...,r2 рассматриваются как радиусы одиннадцати полукругов в полуплоскости у>0 с центром в начале коордиат. Найти количество точек, попадающих внутрь каждого полукруга ( границы-полуокружности не принадлежат полукругам)

Всего записей: 3 | Зарегистр. 28-10-2007 | Отправлено: 19:11 28-10-2007
Hanniball



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Famous
 
1) Вот твоя прога
 
2)Один из самых простых числ методов-дихотомия, вот тебе пример:
 
function dih(a,b,eps:real):real;{a,b - начало и конц отрезка, на котором ищется корень, eps - абс погрешность}
var t:real;
begin
while abs(abs(a)-abs(b))>eps do
    begin
    t:=(a+b)/2;
    if fun(a)*fun(t)<0 then b:=t {fun(x:real):real - возвращает значение твоей функции}  
        else a:=t;
    end;
dih:=(a+b)/2;
end;
 
 
 
Добавлено:
3) например:

Код:
 
var
pts:array[1..20,1..2] of real - массив точек, pts[i,1]-xi; pts[i,2]-yi
r:aray[1..11] of real - радиусы
s:byte - количество точек в данном радиусе
...
 
for k:=1 to 11 do
    begin
    s:=0;
    for i:=1 to 20 do
        if pts[i,2]>0 then{для того, чтобы не считать точки, лежащие ниже OX}
            if (sqr(pts[i,1])+sqr(pts[i,2])) < sqr(r[k]) inc(s);
    writeln(r[k]:3:3,s)
    end;
 

то есть если x2+y2<r2 то точка принадлежит полукругу

Всего записей: 108 | Зарегистр. 15-05-2007 | Отправлено: 21:46 28-10-2007 | Исправлено: Hanniball, 22:12 28-10-2007
boogman

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

Всего записей: 12 | Зарегистр. 26-10-2007 | Отправлено: 22:16 28-10-2007
Famous

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
СПАСИБО ОГРОМНОЕ!!!

Всего записей: 3 | Зарегистр. 28-10-2007 | Отправлено: 22:39 28-10-2007
Algofil



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

Цитата:
блин,кто поможет, мне завтра сдавать,

пересдать всегда можно... даже в январе...

Цитата:
 Группу  символов, разделенных с одной или с обеих сторон одним или несколькими пробелами и не содержащую внутри себя пробелов, назовем словом.
жесть! уточнение "не содержащую внутри себя пробелов" поражает воображение, препод крут немеряно...
рекомендую парсить текст так:
0. завести буфер на 4 символа
1. пока не конец файла/строки/хз_какого_источника  
2. пока пробел-пробел не записывать ничего, пробел-символ - записать один пробел
3. пока символ не четвертый ничего не писать, флаг опущен, иначе флаг поднять записать из буфера 4 символа в выход, дальше писать по одному символу глядя на флаг
4. закрыть выходной файл если он был

Всего записей: 247 | Зарегистр. 19-09-2007 | Отправлено: 09:37 29-10-2007 | Исправлено: Algofil, 09:45 29-10-2007
xDeliC



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

Цитата:
 
var a, b, x, Z : real;  
begin  
  readln (a, b, x);  
  Z := (exp (ln (sqr (a) - (a * b) + x) / 3)) / ((sqr (a + b)) + (exp (x)));  
  writeln (Z : 1 : 6);  

но теперь у меня возник другой вопрос по другой задачке
кто бы мог помоч ?
собстна задача

Цитата:
ОГОРОД
Садовод-любитель хочет сделать из дачи огород — огородить изгородью. Дача имеет форму прямоугольника. Известна её площадь (в сотках) и ширина (в метрах). Помогите садоводу узнать длину изгороди, чтобы сделать огород, огородив дачу со всех сторон.  
Дано:  
На первой строке записано два целых числа через пробел.  
Площадь участка в сотках (от 1 до 1000) и ширина участка в метрах (от 1 до 1000).  
Надо:  
Записать целое число - длину забора в метрах (во всех тестах результат - целое число).  
Пример данных --------- Результат  
6 20                 ----------   100

 
   
 

Всего записей: 100 | Зарегистр. 31-01-2003 | Отправлено: 14:46 29-10-2007
Algofil



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2*(20+100*6/20)=100
множитель 2 - у прямоугольного участка ровно 2 раза встречается длина и ширина
множитель 100 - 1 сотка это 100 кв.м.
остальное вроде понятно

Всего записей: 247 | Зарегистр. 19-09-2007 | Отправлено: 15:04 29-10-2007
RoDeZiya



NL25
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, пожалуйста решение следующих задач:
1) Для квадратной матрицы NxN найти максимум среди сумм элементов диагоналей, параллельных главной диагонали.
2) Программа должна найти для заданного натурального К наименьшее число Р, которое может быть разложено в сумму вида A^K+B^K по крайней мере 2 разными способами.

Всего записей: 2238 | Зарегистр. 02-04-2006 | Отправлено: 18:22 29-10-2007
Mr_eazy

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день нужна программа нахождения в матрице строки с минимальным числом ненулевых элементов

Всего записей: 2 | Зарегистр. 29-10-2007 | Отправлено: 21:12 29-10-2007
boogman

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

Всего записей: 12 | Зарегистр. 26-10-2007 | Отправлено: 21:25 29-10-2007
von_Brutt



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Всем доброго времени суток.....прошу помочь с двумя простыми программками...
сдавать в среду...остальноё всё сделал, а тут бред какой-то выходит...
задачи следующие:
 
"Вводится натуральное число N и цифра А. Требуется получить новое число N1, вычёркивая из числа N цифру А и одновременно меняя порядок следования цифр числа N на обратный.
Например: N=1215, A=1.......N1=52; N=125, A=9..............N1=521..."
 
"C клавиатуры вводится текст - последовательность символов, возможо пустая, за которой следует точка. В сам текст точка не входит. Определить: является ли данный текст шестнадцатиричной записью числа, кратного 7."

Всего записей: 31 | Зарегистр. 29-10-2007 | Отправлено: 21:58 29-10-2007
blondie_in_soul

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте! Сможете помочь? Пожалуйста!
У меня задачка, простейшая * в теории*. Только вот что-то не выходят.
 
Даны X1, X2, X3.
Определить
y=    { x1+x2  Xmax>5.5
        { x2-x3, xmax<-5.5
            
Мой вариант решения:
 
Подробнее...
 
 
 

Всего записей: 1 | Зарегистр. 30-10-2007 | Отправлено: 01:37 30-10-2007 | Исправлено: blondie_in_soul, 23:12 30-10-2007
Algofil



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

Цитата:
1) Для квадратной матрицы NxN найти максимум среди сумм элементов диагоналей, параллельных главной диагонали.
неясно что считать диагоналями, угловые элементы тоже?

Цитата:
2) Программа должна найти для заданного натурального К наименьшее число Р, которое может быть разложено в сумму вида A^K+B^K по крайней мере 2 разными способами.
наименьшее Р есть сумма сепеней К для наименьших А и В, т.е. ответ всегда известен заранее и поиск Р сводится к возведению в указанную степень наименьших натуральных чисел, таковыми с утра были 1, 2 и 3. всяческое "по крайней мере" - имхо от лукавого  

Цитата:
"Вводится натуральное число N и цифра А. Требуется получить новое число N1, вычёркивая из числа N цифру А и одновременно меняя порядок следования цифр числа N на обратный.  
Например: N=1215, A=1.......N1=52; N=125, A=9..............N1=521..."
преобразуй число в строку С1, заведи пустую строку С2, затем в цикле иди по строке С1 до конца, если символ не А приклеить его в начало С2, иначе ничего не делать
Цитата:
"C клавиатуры вводится текст - последовательность символов, возможо пустая, за которой следует точка. В сам текст точка не входит. Определить: является ли данный текст шестнадцатиричной записью числа, кратного 7."

теорема Паскаля про универсальный признак делимости может спасти отца русской демократии?
1. определяешь является ли строка набором символов 0..9,А..F  
2. кратность, точнее остаток от деления (если оный остаток =0, значить кратно) числа А на число В есть сумма остатков от деления каждой разрядной единицы помноженных на значения соответствующих разрядов. Т.е. в десятичной системе остатки от деления разрядных единиц (1, 10, 100, 1000 ...) на 9 (например) равен 1, поэтому суммируя значения всех разрядов (на 1 можно не умножать) числа 333333 получаем 18 делим на 9 получаем остаток 0 - следовательно 333333 кратно 9. Или в восьмеричной системе остатки от деления разрядных единиц (1, 8, 64, ...) на 7 тож всегда 1, т.о. 124430 восьмеричное кратно 7.
в хексе (1, 16, 256 ...) остатки от деления на 7 такие: 1\7=1, 1*16\7=2, 2*16\7=4, 4*16\7=1 (ура! снова 1, значит дальше будут 2 и 4)
 

Всего записей: 247 | Зарегистр. 19-09-2007 | Отправлено: 09:59 30-10-2007
RoDeZiya



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

Цитата:
неясно что считать диагоналями, угловые элементы тоже?

Предположим что нет.

Всего записей: 2238 | Зарегистр. 02-04-2006 | Отправлено: 12:03 30-10-2007 | Исправлено: RoDeZiya, 12:06 30-10-2007
Algofil



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

Цитата:
Предположим что нет.
Лучше предположим что диагоналей воще 1 штука, раз постановка условия роли не играет, или предположим что матрица заполнена нулями

Всего записей: 247 | Зарегистр. 19-09-2007 | Отправлено: 12:56 30-10-2007
von_Brutt



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
спасибо за шестнадцатиричные числа..
но воть прорраммку про обратную запись числа с вычёркиванием нужно сделать только используя циклы while...do, repeat...until....

Всего записей: 31 | Зарегистр. 29-10-2007 | Отправлено: 14:08 30-10-2007
looozer90

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
прив всем!!
Кто поможет решить задачку ?
Знайти значення виразу:
x-(x^3/3!)+(x^5/5!)-(x^7/7!)+(x^9/9!)-(x^11/11!)+(x^13/13!).
(значение х произвольное)
заранее спасибо ))

Всего записей: 10 | Зарегистр. 29-10-2007 | Отправлено: 14:09 30-10-2007
Algofil



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

Цитата:
но воть прорраммку про обратную запись числа с вычёркиванием нужно сделать только используя циклы while...do, repeat...until....

begin
  readln(en1);// число
  readln(be1);// цифра-символ
  str(en1,ce1);// число в строку
  en1:=length(ce1);// длину строки засечь
  while en1>0 do
    begin
     if ce1[en1]<>be1 then ce2:=ce2+ce1[en1];// наростили строку в обратном порядке
     dec(en1);// минус одна цифра-символ
    end;
   writeln(ce2);
end.
 
Добавлено:

Цитата:
x-(x^3/3!)+(x^5/5!)-(x^7/7!)+(x^9/9!)-(x^11/11!)+(x^13/13!).

1. readln(x); writeln(x-(x*x*x/2*3)+(x*x*x*x*x/2*3*4*5)-(x*x*x*x*x*x*x/2*3*4*5*6*7))+...) копипастить умеешь?
2. или рекурсию

Всего записей: 247 | Зарегистр. 19-09-2007 | Отправлено: 15:05 30-10-2007
Agreas

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте
Мне на завтра надо сдать в институте очень лёгкую програмку на пасале, но со школы уже всё забыл, а учебники нам не выдали пока(. Был бы рад если бы мне помогли решить, тогда хоть вспомню весь синтаксис.
 
константы:
x=-0.85
y=1.25
 
функции:
a=y(в степени x) +(кубический корень из)((модуль)x+(модуль)у)
b=x(в кубе) + y/x
t=(x(в квадрате)+y(в квадрате))<=4
 
Результат a Округлить до ближайшего целого.
От результата b взять целую часть.

Всего записей: 1 | Зарегистр. 30-10-2007 | Отправлено: 18:21 30-10-2007
nyto4ka

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lg(1000+lg(1001+lg(1002+...+lg(1009+(lg(1010))...)))
 
Как вычеслить значение этого выражения подскажите плз?

Всего записей: 9 | Зарегистр. 20-10-2007 | Отправлено: 18:29 30-10-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