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

Алгоритм для вычисления значений функции f(x) при любых значениях аргументов

09.11.2015, 18:36. Показов 8932. Ответов 1

Студворк — интернет-сервис помощи студентам
Что я делаю не так?
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
VAR G,X,F,H:REAL;
    BEGIN
         WRITE('Ввести X=');
              READLN(X);
                         if(x<0)THEN
                         F:=G;
                         if(x>1)THEN
                         G:=2*X+1
                         else
                         G:=5*x;
 
                         if (x<5)THEN
                         H:=10*x-1
                         else
                         H:=x+1;
         WRITE('ВЫВОД F=');
       WRITE(F:2:1);
       READLN;
    END.
https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
f(x)=\begin{cases}g(x) & \text{, npu } x<\,0\\\\ h(x) & \text{, npu } x\geq 0 \end{cases}<br />

при значениях функций:

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
g(x)=\begin{cases}2x+1 & \text{, npu } x\,>1\\\\ 5x & \text{, npu } x\leq 1 \end{cases}<br />

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
h(x)=\begin{cases}10x-1 & \text{, npu } x<\,5\\\\ x+1 & \text{, npu } x\geq 5 \end{cases}<br />
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.11.2015, 18:36
Ответы с готовыми решениями:

Составить программу вычисления значений функций при изменяющихся значениях аргументов
Составить программу вычисления значений функций при изменяющихся значенияъх аргументав заданных пределах с определённым шагом.Результаты...

Составить программу вычисления функции при заданных значениях аргументов
Составить программу вычисления функции при заданных значениях аргументов. cgi-bin/latex.cgi?z=\begin{cases}&amp; \ln(1-x)\; if\; x\leq 0...

Составить программу вычисления функции при заданных значениях аргументов
Составить программу вычисления функции при заданных значениях аргументов. z=\begin{cases}&amp; \ln(1-x)\; if\; x\leq 0 \\ &amp;...

1
Модератор
10422 / 5710 / 3401
Регистрация: 17.08.2012
Сообщений: 17,368
11.11.2015, 19:17
Цитата Сообщение от VELZEVUL2015 Посмотреть сообщение
Что я делаю не так?
Во-первых, форматируете код программы плохо. Форматирование нужно для облегчения чтения кода программы, у Вас же - полагаю, - для затруднения чтения кода программы. Во-вторых, в шестой строке значение G ещё не определено, и в нём, в зависимости от диалекта паскаля, находится либо мусор, либо ноль. А Вы между тем это дело чему-то присваиваете. Никогда нельзя присваивать ничему не инициализированную переменную. Далее у Вас вычисляются G и H, однако, их значение нигде не используется. А ведь одно из этих вычисленных значений должно быть присвоено переменной F. Иными словами, алгоритм у Вас реализован неверно.

Примеры реализации.

Во-первых, незачем столько переменных, хватит и двух: x и f. И то, без f можно обойтись, просто сразу печатать результат. Также заметим, что в вычислении функции f не участвует часть функции g при x>1.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
var x, f: double;
begin
  write('x = ');
  readln(x);
  if x < 0
    then f := 5 * x
    else if x < 5
      then f := 10 * x - 1
      else f := x + 1;
  write('f(x) = ', f);
  readln
end.
Можно, конечно же, было бы написать
Pascal
5
6
7
8
9
10
11
  if x < 0
    then if x > 1
      then f := 2 * x + 1
      else f := 5 * x
    else if x < 5
      then f := 10 * x - 1
      else f := x + 1;
вот только строка 7 всё равно не будет выполняться ни при каких условиях.

И вот странность... Вам дают аж целых три функции, а Вы подпрограмм-функций в программе не применяете... На всякий случай, через функции:
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
27
28
function g(x: double): double;
begin
  if x > 1
    then g := 2 * x + 1
    else g := 5 * x
end;
 
function h(x: double): double;
begin
  if x < 5
    then h := 10 * x - 1
    else h := x + 1
end;
 
function f(x: double): double;
begin
  if x < 0
    then f := g(x)
    else f := h(x)
end;
 
var x: double;
begin
  write('x = ');
  readln(x);
  write('f(x) = ', f(x));
  readln
end.
Ну и, на всякий-всякий случай, без функций и со всеми переменными, короче, индусский код, решил и его написать, вполне возможно, что Вам он больше всего и подойдёт.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var x, g, h, f: double;
begin
  write('x = ');
  readln(x);
  if x > 1
    then g := 2 * x + 1
    else g := 5 * x;
  if x < 5
    then h := 10 * x - 1
    else h := x + 1;
  if x < 0
    then f := g
    else f := h;
  write('f(x) = ', f);
  readln
end.
Не нравится слово double - замените его везде на real.

Не по теме:

лично для VELZEVUL2015
Ник Ваш меня повеселил. Я ещё тот старый крючкотвор, люблю всё по косточкам разбирать. Во-первых, читается он не то вилзвъйиол, не то велзевал, в зависимости от диалекта английского языка, а уж пишется-то как, если клавиатуру забыть с русского на английский переключить, прям заглядение. Вообще, так, для ознакомления, имя князя мира сего пишется "Beelzebub". Именно так, я не шучу, можете проверить. Это слово является исключением, потому что читается, против всяких правил, как "Вельзевул". Уж простите меня за моё видение всяких скрытых нелепиц, но... Не выдержал, особенно латинских букв в русской раскладке... :rofl:

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.11.2015, 19:17
Помогаю со студенческими работами здесь

Составить программу для вычисления значения функции U(x,y) при заданных значениях аргументов x и y
Помогите составить программу, что-то совсем не понятно как ее делать. Составить программу для вычисления значения функции U(x, y) при...

Составить алгоритм и программу для вычисления значений функций, указанных в таблице, при различных значениях x
Всем добрый вечер! Столкнулся с проблемами из за задания которое не понимаю до конца :) А звучит так: Составить алгоритм и программу...

Разработать схему алгоритма и составить программу вычисления функции при заданных значениях аргументов
Разработать схему алгоритма и составить программу вычисления функции при заданных значениях аргументов. Результаты вывести на экран...

Разработать схему алгоритма и составить программу вычисления функции при заданных значениях аргументов
Разработать схему алгоритма и составить программу вычисления функции при заданных значениях аргументов. Результаты вывести на экран...

Вычисление значения функции при заданных значениях аргументов
Разработать схему алгоритма и составить программу вычисления функции при заданных значениях аргументов. Результаты вывести на экран дисплея.


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru