Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
 Аватар для bloodies
0 / 0 / 0
Регистрация: 23.09.2018
Сообщений: 10

Нужно разобраться в программе

23.09.2018, 14:24. Показов 3532. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В вузе задали задание, разобраться в непонятном коде.
Не знаю где препод нашел этот код, но точно не в адекватных местах.

Что делает программа P?

Определить смысл запутанной программы.

Ответить на вопрос: зачем, с какой целью было дано это задание.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
program p;
var ol, o1, tmp: real;   {!!!}
    ll, i1: integer;
    l1: integer;
begin
    readln(o1);
    o1:= o1*0.10;  {ghbrjk!}
    ol:= 1;
    ll:= 1;
    l1:= -1;
    repeat tmp:= Ol;  {временно}
       ll:=ll + 2;
       ol:= tmp+l1/ll;
       l1:= -l1;
    until abs(ol-tmp) < O1;
    writeln(o1*10{маразм},ol*4,11)
end.
З.Ы. как я понял программа вычисляет последовательность примерно (-1)^n/(2n+1), но точно не уверен.
буду искренне благодарен тем кто поможет
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.09.2018, 14:24
Ответы с готовыми решениями:

Нужно разобраться
Инвертировать часть массива с первого элемента до самого правого минимального элемента Это не правильная, в цикле min - real, ...

Нужно разобраться тема: Одномерные массивы
Дан одномерный массив из N элементов. Вычислить сумму квадратов чисел, больших заданного С; подсчитать количество неположительных...

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

6
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
23.09.2018, 15:15
Лучший ответ Сообщение было отмечено bloodies как решение

Решение

Цитата Сообщение от bloodies Посмотреть сообщение
вычисляет последовательность примерно (-1)^n/(2n+1)
сумму этой последовательности при n=0,1,..., умноженную на 4.
Сумма накапливается до тех пор, пока ее изменение по модулю не станет меньше o1/10.

Добавлено через 4 минуты
Ну и в 16 строке скорее всего хотели вывести не 11, а ll -- последний использованный знаменатель.
1
 Аватар для bloodies
0 / 0 / 0
Регистрация: 23.09.2018
Сообщений: 10
23.09.2018, 15:22  [ТС]
Цитата Сообщение от bormant Посмотреть сообщение
Ну и в 16 строке скорее всего хотели вывести не 11, а ll -- последний использованный знаменатель.
Не, там переменная ol умножается на 4,11
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
23.09.2018, 15:28
Цитата Сообщение от bloodies Посмотреть сообщение
там переменная ol умножается на 4,11
Там нет числа 4.11, там именно два отдельных параметра (они же через запятую, да?) -- ol*4 и ll.
1
 Аватар для bloodies
0 / 0 / 0
Регистрация: 23.09.2018
Сообщений: 10
23.09.2018, 16:30  [ТС]
Цитата Сообщение от bormant Посмотреть сообщение
Там нет числа 4.11, там именно два отдельных параметра (они же через запятую, да?) -- ol*4 и ll.
проверил
да, через запятую

Добавлено через 7 минут
Цитата Сообщение от bormant Посмотреть сообщение
сумму этой последовательности при n=0,1,..., умноженную на 4.
Сумма накапливается до тех пор, пока ее изменение по модулю не станет меньше o1/10.
Тоесть это и есть вся программа, или может быть еще что-то?
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
23.09.2018, 16:58
Лучший ответ Сообщение было отмечено bloodies как решение

Решение

Цитата Сообщение от bloodies Посмотреть сообщение
или может быть еще что-то?
Откуда это что-то возьмется?
При чтении сильно поможет шрифт, в котором не спутать l и 1 (и I), 0 и O.
Pascal
6
7
8
9
10
11
12
13
14
15
16
    readln(o1); { источник точности ... }
    o1:= o1*0.10; { ... разделили на 10 }
    ol:= 1; { сумма последовательности, первый элемент }
    ll:= 1; { предыдущий знаменатель }
    l1:= -1; { текущий числитель }
    repeat tmp:= ol;  { сохранили предыдущее значение суммы }
       ll:=ll + 2; { получили текущий знаменатель из предыдущего }
       ol:= tmp+l1/ll; { увеличили сумму }
       l1:= -l1; { получили следующий числитель из текущего }
    until abs(ol-tmp) < o1; { выход, как только изменение суммы по модулю станет меньше o1 }
    writeln(o1*10,ol*4,ll) { вывод o1*10, ol*4, ll (было б хорошо еще пробел добавить перед ll) }
1
 Аватар для bloodies
0 / 0 / 0
Регистрация: 23.09.2018
Сообщений: 10
23.09.2018, 17:11  [ТС]
Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.09.2018, 17:11
Помогаю со студенческими работами здесь

нужно написать алгоритм к этой программе:
PROGRAM Boyer_Moore_2; { Алгоритм Бойера-Мура для определения вхождения подслова P в слово S } var Wrd1,Wrd2: String; j,i,k,i0:...

Нужно поменять процедуру на функцию в программе
program kp; type massiv=array of integer; matr=array of massiv; var a: matr; n,m,i,j: byte; sum,minsum,min:...

Нужно написать блок схемы к программе
текст программы в приложенном файле..спасибо заранее

Нужно навести порядок в программе с массивами
Заполните случайным образом массив(100 элементов) поочерёдно буквами латинского алфавита от А до Н и цифрами от 1 до 8. Проверьте, есть ли...

Мне нужно составить блок-схему к программе.
Program PPN1_3; uses crt; const d=2; ES=-0.006; EI=-0.016; esmin=0; eimin=-0.006; var


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru