Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 25.11.2020
Сообщений: 243

Составить программу по блок-схеме

23.05.2024, 13:00. Показов 914. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, задание звучит так: составить программу по блок-схеме ( решить уравнение шаговым методом с интервалом 0.2)
преподаватель написал такой замечание:
Задан «большой» интервал [xn; xk] и шаг h
надо найти «меньший» интервал изоляции [a; b], в котором есть корень

честно говоря, блок-схема мне не очень понятна, поэтому написал примерный код
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function F(x:real):real;
begin
 F:=x*x*x + 6*(x*x) + 2*x - 7
end;
var a,b,x,k,h:real;
begin
k:=0;
x:=-1;
b:=3;
h:=0.2;
repeat
  x := x + h;
  k := k + 1;
  writeln('k = ', k, '  x = ', x, ' f(x) = ', F(x));
until x >= b;
end.
Миниатюры
Составить программу по блок-схеме  
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.05.2024, 13:00
Ответы с готовыми решениями:

Составить программу по блок схеме
Помогите пожалуйста составить программу по блок схеме, буду очень признателен

Составить программу по блок-схеме
Здравствуйте, помогите выполнить эту задачу.

Составить программу по блок-схеме
помогите пожалуйста составить программу По представленной блок-схеме составить программу и вычислить результат

14
 Аватар для mr-Crocodile
3051 / 1670 / 657
Регистрация: 19.03.2019
Сообщений: 5,379
24.05.2024, 09:43
def0lt, твоя программа не имеет отношения к блок-схеме. Посмотри, например, в блок схеме проверяется переход функции через 0 (функция меняет свой знак):

Pascal
1
if F(a)*F(b)<0 then
где у тебя это в программе?
0
Модератор
10228 / 5516 / 3372
Регистрация: 17.08.2012
Сообщений: 16,864
24.05.2024, 21:31
def0lt, волюнтаризм у Вас какой-то.

Терм "предопределённый поцесс" указывается в программе только в случае вызова ПРОЦЕДУРЫ. У Вас вызывается ФУНКЦИЯ, и применять этот терм в блок-схеме незачем. В любом случае, на каждую подпрограмму составляется отдельная блок-схема. Этого у Вас нет.

Терм с надписью "k,a,b" не оответствует ГОСТ. По контексту, это вроде бы вывод данных (неизвестно куда).

По этой инвалидной блок-схеме пусть Ваш препод программу составляет.

Выбирайте: исправить блок-схему и написать программу, или ничего не делать, поскольку блок-схема некорректная?
0
0 / 0 / 0
Регистрация: 25.11.2020
Сообщений: 243
24.05.2024, 21:47  [ТС]
mr-Crocodile, просто в самой задаче даны границы от -1 до 3, а это условие тут вообще причем ? Но преподаватель требует сделать по блок схеме, она мне не понятна, так же я не понимаю что за значения Xn, Xk

Добавлено через 2 минуты
Cyborg Drone, прикол в том, что препод как будто впал в маразм, условие задачи даны одни, но преподаватель хочет совсем другого, изначально условие: решить шаговым методом с шагом 0.2 и границами -1 ; 3, но как по мне блок-схема эта полный бред, и исходя из вашего сообщения ни я один так думаю, я пытался сделать по блок-схеме, но ничего не получается
0
Модератор
10228 / 5516 / 3372
Регистрация: 17.08.2012
Сообщений: 16,864
24.05.2024, 22:08
Xn = -1, Xk = 3. Ваш Капитан Очевидность.

В смысле, это условие при чём? В блок-схеме явно указан терм "решение" с надписью F(a) * F(b) ≤ 0. Где его реализация в Вашей программе?

Добавлено через 13 минут
О, пока писал, и Вы мне ответили.

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

В принципе, У вас практически всё правильно.

Подождите маленько, я сейчас сделаю для Вас решение.
1
0 / 0 / 0
Регистрация: 25.11.2020
Сообщений: 243
24.05.2024, 22:17  [ТС]
Cyborg Drone, просто Xn = -1, Xk = 3, но в условии задачи написано, а = -1 б = 3)), и дальше как раз таки F(a)*F(b)<0, причем тут Xn, Xk тогда ?
0
Модератор
10228 / 5516 / 3372
Регистрация: 17.08.2012
Сообщений: 16,864
24.05.2024, 22:46
Границы текущего интервала обозначены a b. Начальный интервал обозначен xn xk.
0
Модератор
10228 / 5516 / 3372
Регистрация: 17.08.2012
Сообщений: 16,864
24.05.2024, 23:10
Лучший ответ Сообщение было отмечено def0lt как решение

Решение

По-человечески будет как-то так:

Блок-схемы:

Функция:

Название: 1.png
Просмотров: 53

Размер: 2.3 Кб

Основная программа:



Программа:
Pascal
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
function F(x: real): real;
  begin
    F := x * x * x + 6 * x * x + 2 * x - 7
  end;
 
const
  xn = -1;
  xk = 3;
  h = 0.2;
var
  a, b: real;
  k: integer;
begin
  k := 0;
  a := xn;
  repeat
    b := a + h;
    if F(a) * F(b) <= 0 then
      begin
        k := k + 1;
        writeln('k = ', k, '  a = ', a:0:5, ' b = ', b:0:5)
      end;
    a := b
  until b >= xk;
  readln
end.
Программа выдаёт верный ответ, поскольку корень этой функции в интервале [-1; 3] равен примерно 0.87408, что как раз и располагается между 0.8 и 1.

На кой чорт нужна переменная k - я не постигаю.
1
0 / 0 / 0
Регистрация: 25.11.2020
Сообщений: 243
24.05.2024, 23:12  [ТС]
Cyborg Drone, большое спасибо ! Переменная К нужна просто для подсчета количества итераций, со слов преподавателя: интересно же что и когда на каком шаге изменяется
0
Модератор
10228 / 5516 / 3372
Регистрация: 17.08.2012
Сообщений: 16,864
24.05.2024, 23:15
def0lt, подправил опечатки, пересмотрите мой ответ.
0
Модератор
10228 / 5516 / 3372
Регистрация: 17.08.2012
Сообщений: 16,864
24.05.2024, 23:30
def0lt, ну, это, наверное, так планировалось, однако, по алгоритму это совсем не так. В начальный момент k=0, и инкрементируется k только перед выдачей окончательного ответа. Тупо, это k ничего не считает вообще.

Блок-схема, выходит дело, неточная. Для упомянутого Вами подсчёта итераций терм "процесс" с надписью "k := k + 1" должен располагаться перед термом "решение" с надписью "F(a) * F(b) ≤ 0". То есть, вот так:



Программа получится такая:

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function F(x: real): real;
  begin
    F := x * x * x + 6 * x * x + 2 * x - 7
  end;
 
const
  xn = -1;
  xk = 3;
  h = 0.2;
var
  a, b: real;
  k: integer;
begin
  k := 0;
  a := xn;
  repeat
    b := a + h;
    k := k + 1;
    if F(a) * F(b) <= 0 then writeln('k = ', k, '  a = ', a:0:5, ' b = ', b:0:5);
    a := b
  until b >= xk;
  readln
end.
0
Модератор
10228 / 5516 / 3372
Регистрация: 17.08.2012
Сообщений: 16,864
24.05.2024, 23:34
def0lt, отпишитесь, а то я волнуюсь насчёт того, что Вы можете случайно сдать неверное решение.
0
 Аватар для mr-Crocodile
3051 / 1670 / 657
Регистрация: 19.03.2019
Сообщений: 5,379
28.05.2024, 08:43
Цитата Сообщение от Cyborg Drone Посмотреть сообщение
def0lt, ну, это, наверное, так планировалось, однако, по алгоритму это совсем не так. В начальный момент k=0, и инкрементируется k только перед выдачей окончательного ответа. Тупо, это k ничего не считает вообще.
по моему, k в том смысле, в каком оно присутствует в исходной блок-схеме, предназначено для подсчёта корней на интервале. В данном случае корень один, но если взять функцию, которая имеет несколько пересечений с осью абсцисс и задать исходный интервал, где все эти корни есть, то переменная k выдаст, сколько всего корней было найдено.

попробуйте в программе из поста 8 задать начальный интервал xn = -6;
корней будет три


p.s. а если K=0, тогда корней вообще не нашлось
0
Модератор
10228 / 5516 / 3372
Регистрация: 17.08.2012
Сообщений: 16,864
28.05.2024, 08:51
mr-Crocodile, наверное, так и есть.
0
 Аватар для mr-Crocodile
3051 / 1670 / 657
Регистрация: 19.03.2019
Сообщений: 5,379
28.05.2024, 08:56
Цитата Сообщение от Cyborg Drone Посмотреть сообщение
mr-Crocodile, наверное, так и есть.

Так то оно так. Но, если ТС не ошибается и препод реально считает, что k нужна для подсчёта итераций, тогда правильным является ваш код из поста 11

def0lt неплохо бы разобраться, чем эти два варианта кода отличаются и тогда он легко сможет или объяснить преподу, как это работает или даже сразу же изменить, если препод не согласится.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.05.2024, 08:56
Помогаю со студенческими работами здесь

Составить программу по блок-схеме
https://docviewer.yandex.ru/?url=ya-disk%3A%2F%2F%2Fdisk%2FDoc1.docx&amp;name=Doc1.docx&amp;c=558c7bd37eab

Составить программу по блок схеме
Ввести одномерный массив X(N) (N&lt;=30) целых чисел. Все элементы его, стоящие до минимального элемента, разделить на среднее арифметическое...

Составить программу по блок-схеме
Здравствуйте, пожалуйста помогите составить программу на PASCAL/ Мне не нужно начало программы и конец. просто напишите эту блок схему...

По заданной блок-схеме составить программу
Помогите по заданной блок-схеме составить программу Вот ссылка на задание ...

По заданной блок-схеме составить программу
Ссылка удалена.


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Размещения без повторений
VistaSV30 31.05.2025
Код возвращает список вариантов размещений A^{k}_{n}=\frac{n!}{(n-k)!} from itertools import permutations def pwr(k, n): # Размещение без повторений (Placement without repetition) if k. . .
Redis и Node.js с TypeScript - решения для высоконагруженных систем
Reangularity 31.05.2025
Redis (Remote Dictionary Server) — сверхбыстрое хранилище данных в памяти, способное обрабатывать операции за микросекунды. И что особенно важно для нас — с удивительно простым API. А теперь. . .
Unit-тестирование с моками в Go
golander 31.05.2025
Большинство разработчиков предпочитают тестировать код без использования моков. Например, при интеграции с Elasticsearch логичнее запустить контейнер локально и тестировать Go-код непосредственно с. . .
Как работать с PDF в C#
stackOverflow 31.05.2025
Нам приходится сталкиваться с PDF по разным причинам. Генерация счетов, создание отчетов, извлечение данных из загруженных пользователем документов, автоматизация рабочих процесов - это лишь верхушка. . .
Двухбуквенные коды стран в шифровании.
russiannick 31.05.2025
Человечество издревле манила возможность замены сочетаний букв вымышленными символами, делающие сообщение понятным только для посвещенных. Настала пора внести в это свой вклад. Двухбуквенные коды. . .
Мой опыт в исправлении ошибки приложения Boinc в части заряда батареи смартфона.
Programma_Boinc 31.05.2025
Мой опыт в исправлении ошибки приложения Boinc в части заряда батареи смартфона. Хотел бы поделиться опытом в исправлении ошибки приложения в части заряда батареи смартфона. Сразу скажу, что. . .
Добро пожаловать на конкурс PrimeGrid, посвященный 20-летию PrimeGrid
Programma_Boinc 31.05.2025
Добро пожаловать на конкурс PrimeGrid, посвященный 20-летию PrimeGrid: 5-дневный обобщенный поиск простых чисел Ферма n = 20 с 12 июня 20:20 UTC по 17 июня 20:20 UTC. 12 июня 2005 года. . .
Вероятность в шансы / Шансы в вероятность
VistaSV30 31.05.2025
# Шансы -> Вероятность def Chance_to_Probability(ch): def gcd(a, b): # НОД - нужен для упрощения значений шансов while b != 0: a, b = b, a % b return a. . .
FastAPI и Flask: Отличия, производительность и примеры использования
py-thonny 30.05.2025
Если вы разрабатываете веб-приложения на Python, вы наверняка слышали о Flask и FastAPI. Эти два фреймворка часто становятся предметом жарких дискуссий в сообществе разработчиков. И не без основания. . .
ML.NET и TensorFlow.NET: Умные приложения на C# с машинным обучением
stackOverflow 30.05.2025
Еще совсем недавно, когда речь заходила о машинном обучении, C# разработчики обреченно вздыхали и тянулись к Python. Мир искуственного интеллекта словно был огражден невидимым забором с табличкой. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
OSZAR »