Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
5 / 5 / 12
Регистрация: 12.09.2013
Сообщений: 156
1

отладить мой код, пожалуйста

29.09.2013, 12:00. Показов 522. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Сама задача: (+ на картинке)
Разработать алгоритм и записать программу вычисления значения функции с заданным шагом на указанных промежутках.

Требования к программе:
- Границы с области определения функции и шаг изменения аргумента ввести состояние стандартном процедурой введения;
- Вывести в виде таблицы пары чисел: (аргумент, значение функции)


Сам код:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Program laboratorna;
var
     v,x,deltav:real;
     begin
     Writeln('VVedi v');
     Readln(v);
     deltav:=0.1;
  If (v<1) then
  begin
  while(v<1) do
   x:=exp(v * ln(1.26)) + v;
   v:=v+deltav;
   end
   else
   If (v<4) then
   begin
   while  (v<4) do
   x:= pi/2-arctan(v+0.4);
   v:= v+deltav;
   end;
   Writeln('x=',x);
   Readln
   End.
Но вот проблема(на второй картинке): считает что то не так. помогите, где ошибка??
Миниатюры
отладить мой код, пожалуйста   отладить мой код, пожалуйста  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.09.2013, 12:00
Ответы с готовыми решениями:

Отладить код
Есть программа в которой нужно прочесть строку, посчитать количество повторений каждого символа,...

Отладить код
Отладьте пожалуйста код в соответсвии с условием: Для заданной группы вывести фамилии студентов не...

Нужно отладить код. Не получается нужный шаг
var s,n,m,z,y,x,k:integer; begin repeat writeln('Определить предел аргумента x n-? m-? '); {where...

Как можно улучшить мой код ?
задача звучит так : Мальчик Кирилл написал однажды на листе бумаги строчку, состоящую из больших и...

8
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
29.09.2013, 12:31 2
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
uses crt;
const dv=0.1;
function F(v:real):real;
begin
if(v>=0)and(v<1)then F:=exp(ln(1.26)*v)+v
else if(v>=1)and(v<4) then F:=pi/2-arctan(v+0.4)
end;
 
var vn,vk,v,x:real;
begin
clrscr;
writeln('Область определения функции [0;4), шаг изменения аргумента=0.1');
repeat
writeln('Введите диапазон 0<=vn<vk<4');
readln(vn,vk);
until (vn>=0)and(vk>vn)and(vk<4);
v:=vn;
while v<=vk+dv/2 do
 begin
  writeln('v=',v:4:1,'  x=',F(v):6:3);
  v:=v+dv
 end;
readln
end.
0
5 / 5 / 12
Регистрация: 12.09.2013
Сообщений: 156
29.09.2013, 14:07  [ТС] 3
а где взялось vk+dv/2 ??
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
29.09.2013, 14:23 4
Часто за счет округления вещественных чисел не попадаем в последнее значение, поэтому добавляем к нему половину шага dv/2, попробуйте убрать и посмотрите, но я бы не стал.
1
5 / 5 / 12
Регистрация: 12.09.2013
Сообщений: 156
29.09.2013, 14:50  [ТС] 5
Funtion пишет надо знак = это так? 3 строка

Добавлено через 3 минуты
ну скомпилировалась прога просит ввести значение и просит и просит безконеяно просит ввести цифры
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
29.09.2013, 14:50 6
Pascal
1
function F(v:real):real;
Здесь все правильно, и вообще программа полностью рабочая.
0
5 / 5 / 12
Регистрация: 12.09.2013
Сообщений: 156
29.09.2013, 14:51  [ТС] 7
можно как то еше построить програмую только с помощью while , if ?
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
29.09.2013, 14:54 8
Так вводи числа из области определения и второе больше первого, например
1 и 3.5

Добавлено через 32 секунды
Цитата Сообщение от Misha_Beginner Посмотреть сообщение
можно как то еше построить програмую только с помощью while , if ?
Можно, но только не тебе...

Добавлено через 2 минуты
Кстати здесь как раз и while и if
Pascal
1
2
if(v>=0)and(v<1)then F:=exp(ln(1.26)*v)+v
else if(v>=1)and(v<4) then F:=pi/2-arctan(v+0.4)
Pascal
1
2
3
4
5
while v<=vk+dv/2 do
 begin
  writeln('v=',v:4:1,'  x=',F(v):6:3);
  v:=v+dv
 end;
0
5 / 5 / 12
Регистрация: 12.09.2013
Сообщений: 156
29.09.2013, 14:55  [ТС] 9
не будем разводить оффтоп, не мне так не мне . просто паскаль никогда не видел в глаза , учился на basic. спасибо за код вам
0
29.09.2013, 14:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.09.2013, 14:55
Помогаю со студенческими работами здесь

Компилятор оптимизировал мой код, и я не могу его отладить
пишу лабу одногруппнице. задание: определить двунаправленный циклический список. элементы типа...

Помогите пожалуйста отладить код в Builder6
//--------------------------------------------------------------------------- #include &lt;vcl.h&gt;...

Оцените , пожалуйста, мой код
Просто написал небольшую программу, прошу оценить, есть ли в ней какие либо критические...

проверьте, пожалуйста, мой первый код на c++
Переучиваюсь с Delphi на C++ Посмотрите, пожалуйста, корректность, стиль программирования, и т.п....


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru