Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 17.02.2018, 15:53   #1 (permalink)
NomadZ
Member
 
Регистрация: 14.12.2017
Сообщений: 18
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Найти значение квадратного корня. Pascal

Здравствуйте, помогите пожалуйста с написанием кода для следующего задания на Pascal'е.
Задача:
Миниатюры
yi-2.png  
NomadZ вне форума   Ответить с цитированием

Старый 17.02.2018, 15:53
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

В решении проблемы вам так же могут помочь аналогичные обсуждения

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

Старый 18.02.2018, 10:19   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от NomadZ Посмотреть сообщение
Здравствуйте, помогите пожалуйста с написанием кода для следующего задания на Pascal'е.
Да пожалуйста.
Не прежде позволю себе несколько слов.
Молодой человек, Вы понимаете, что маршируете к пропасти? Сейчас Вы кажетесь себе очень умным и хитрым, типа "получил задание — вывалил на форумы — дурачки-программисты мне решили — скатал — сдал", да только беда в том, что если Вы сейчас, в феврале, не освоите начала программирования, то в мае будет поздно. Для этого Вам и дают сейчас эти детские задачки. А дальше задания начнут усложняться, и вскоре желающих корпеть за Вас над кодами сильно поубавится. До нуля. И начнётся: "спасите, помогите, отчисляют!!!". Проходили. И не раз.
Так что смотрите, Вам жить.
Код:
Const
 Eps=1E-8;

Var
 A:Array[1..8] of Real;
 i:Integer;

Function Iter1(b:real):Real;
var
 x1,x2,D:real;
begin
 x1:=b;
 D:=1;
 While D>Eps do
  begin
   x2:=(x1+b/x1)/2;
   D:=Abs(x1-x2);
   x1:=x2;
  end;
 Iter1:=x2;
end;

Function Iter2(b:real):Real;
var
 x1,x2,D:real;
begin
 x1:=b;
 Repeat
  x2:=(x1+b/x1)/2;
  D:=Abs(x1-x2);
  x1:=x2;
 Until D<=Eps;
 Iter2:=x2;
end;

Begin
 A[1]:=961;
 A[2]:=1024;
 A[3]:=10.0;
 A[4]:=2.0;
 A[5]:=17.0;
 A[6]:=0.1;
 A[7]:=100;
 A[8]:=9.6;

 Writeln('   A             Res_Iter              Accurate');
 for i:=1 to 4 do
  Writeln(A[i]:7:2,Iter1(A[i]):21:10,Sqrt(A[i]):21:10);
 for i:=5 to 8 do
  Writeln(A[i]:7:2,Iter2(A[i]):21:10,Sqrt(A[i]):21:10);
 Readln
End.
P.S. Я пользуюсь Турбо-Паскалем, там SQRT входит в основной набор функций. Вам, скорее всего (Pascal ABC?) придётся в начале добавить строчку
Uses Math;
Vladimir_S вне форума   Ответить с цитированием
Старый 18.02.2018, 10:47   #3 (permalink)
NomadZ
Member
 
Регистрация: 14.12.2017
Сообщений: 18
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Спасибо вам, да соглашусь есть такая проблема и ее надо решать.
Ранее получалось кодить, но потом что то упустил и поэтому ,если вас не затруднит, можете ли вы посоветовать материал для дальнейшего изучения и освоения.
NomadZ вне форума   Ответить с цитированием
Старый 18.02.2018, 11:35   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от NomadZ Посмотреть сообщение
Спасибо вам, да соглашусь есть такая проблема и ее надо решать.
Ранее получалось кодить, но потом что то упустил и поэтому ,если вас не затруднит, можете ли вы посоветовать материал для дальнейшего изучения и освоения.
Материалов полнО — и в виде бумажных учебников, и в Сети. Но самое главное тут — практика, практика и ещё раз практика! Разбирайтесь с готовыми программами, сами придумывайте себе задания, пишите коды, главное — доводите до конца.
Будем рады ответить на любые конкретные вопросы и помочь с разрешением любых затруднений.
Успехов!
Vladimir_S вне форума   Ответить с цитированием
Старый 18.02.2018, 13:24   #5 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Вдогон.
Убрал переменную R — она не нужна (первоначально думал формировать массив результатов применения итераций, потом понял, что проще без него). На общем результате не сказывается.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Метки
math, квадратный, корень


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 05:58.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.