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

Из java в pascal

03.04.2014, 16:49. Показов 1481. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе время суток!
Ребят помоги перевести из java на pascal! Очень нужно(

Java
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
package relax;
    import java.io.*;
    import java.util.*;
public class Main {
 
    public static void main(String[] args) throws IOException {
        StreamTokenizer in=new StreamTokenizer (new FileReader("input.txt"));
        PrintWriter out=new PrintWriter(System.out);
        in.nextToken(); int n=(int)in.nval;
        double a[][]=new double[n][n];
        double b[]=new double[n];
        for (int i=0;i<n;i++){
            for (int j=0;j<n;j++){
                in.nextToken();
                a[i][j]=in.nval;
            }
            in.nextToken(); b[i]=in.nval;
        }
        double eps,z;
        in.nextToken(); eps=in.nval;
        double x[]=new double[n];//текущее приближение
        double y[]=new double[n];//приближение на след. шаге
        for (int i=0;i<n;i++)
            x[i]=b[i]/a[i][i];
        int k=10;//число иттераций
        double hh=0.1;
        double w;//параметр релаксации
        double L=2/hh;//кол-во отрезков (определение w оптим.)s
        double s=0;//номер Wопт=s*eps
        double zmin=1;
        
        for (int p=1;p<L;p++){
            w=p*hh; z=0;
            for (int i=0;i<n;i++)
                x[i]=b[i]/a[i][i];
            for (int h=0;h<k;h++){
                for (int i=0;i<n;i++){
                    y[i]=b[i];
                    for (int j=i+1;j<n;j++){
                        y[i]-=a[i][j]*x[j];
                    }
                    for (int j=0;j<i;j++){
                        y[i]-=a[i][j]*y[j];
                    }
                    y[i]=y[i]*w/a[i][i];
                    y[i]=y[i]+(1-w)*x[i];
                }
                if (h==(k-1))
                    for (int i=0;i<n;i++)
                        z+=Math.abs(x[i]-y[i]);
                for (int i=0;i<n;i++)
                    x[i]=y[i];
            }
            if (z<zmin) {zmin=z; s=p;}
        }
        //окончательный подсчет
        w=hh*s; k=0;
        for (int i=0;i<n;i++)
            x[i]=b[i]/a[i][i];
        do{
            z=0;
            for (int i=0;i<n;i++){
                y[i]=b[i];
                for (int j=i+1;j<n;j++){
                    y[i]-=a[i][j]*x[j];
                }
                for (int j=0;j<i;j++){
                    y[i]-=a[i][j]*y[j];
                }
                y[i]=y[i]*w/a[i][i];
                y[i]=y[i]+(1-w)*x[i];
                z+=Math.abs(x[i]-y[i]);
            }
            for (int i=0;i<n;i++)
                x[i]=y[i];
            k++;
        }while (z>eps);
        out.println();
        out.println("Solution:");
        for (int i=0;i<n;i++)
            out.printf(Locale.US,"x[%d]=%.2f ",i+1,y[i]);
        out.println();
        out.println("Оптимальный коэффициент релаксации:");
        out.printf("W=%.4f",w);
        out.println();
        out.println("Невязка:");
        double Q=0;
        double q[]=new double[n];
        for (int i=0;i<n;i++){
            q[i]=b[i];
            for (int j=0;j<n;j++)
                q[i]-=a[i][j]*x[j];
            Q+=Math.abs(q[i]);
        }
        out.printf(Locale.US,"%.4f",Q);
        out.println();
        out.printf("Число итераций=%d",k);
        out.println();
        out.flush();
    }
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.04.2014, 16:49
Ответы с готовыми решениями:

Перевод кода с Pascal на Java - Java SE
var a:Int64; begin Reset(Input,'input.txt'); Rewrite(Output,'output.txt'); read(a); Write(a,9,9-a) end. Заранее...

Pascal from java
Добрый день. Мне нужно по курсовой сделать калькулятор систем счисления, чтобы переводить числа, но нужно учесть что числа могут быть не...

Из pascal в java
Ребзя, помогите переделать программу pascal в java. Кому не лень ;) Program f; var s:string; Begin readln(s); while...

1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33376 / 21500 / 8236
Регистрация: 22.10.2011
Сообщений: 36,895
Записей в блоге: 11
04.04.2014, 18:00
Лучший ответ Сообщение было отмечено dxdyds как решение

Решение

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
uses sysutils;
var 
  f : text;
  i, j, n, p, h : integer;
  a : array of array of double;
  b, x, y : array of double;
  qarr : array of double;
  
  z, eps : double;
  q : double;
  w : double; // параметр релаксации
 
const
  s : double = 0; // номер Wопт=s*eps
  zmin : double = 1;
  k : integer = 10; // число итераций
  
const 
  hh = 0.1;
  L = 2 / hh; // кол-во отрезков (определение w оптим.)s
 
begin
  assign(f, 'input.txt');
  reset(f);
  read(f, n);
  setlength(a, n, n);
  setlength(b, n);
  for i := 0 to n - 1 do
  begin
    for j := 0 to n - 1 do
      read(f, a[i, j]);
    read(f, b[i]);
  end;
  read(f, eps);
  
  setlength(x, n);
  setlength(y, n);
  for i := 0 to n-1 do
    x[i] := b[i] / a[i, i];
        
  for p := 1 to Trunc(L) - 1 do
  begin
    w := p * hh; z := 0;
    for i := 0 to n - 1 do
      x[i] := b[i] / a[i, i];
    for h := 0 to k - 1 do
    begin
      for i := 0 to n - 1 do
      begin
        y[i]:=b[i];
          for j := i+1 to n - 1 do
          begin
            y[i] := y[i] - a[i, j]*x[j];
          end;
          for j := 0 to i - 1 do
          begin
            y[i] := y[i] - a[i, j]*y[j];
          end;
          y[i]:=y[i]*w/a[i, i];
          y[i]:=y[i]+(1-w)*x[i];
      end;
      if h = k - 1 then
        for i := 0 to n - 1 do
          z := z + abs(x[i] - y[i]);
      for i := 0 to n - 1 do
        x[i] := y[i];
    end;
    if z < zmin then 
    begin 
      zmin := z; s := p;
    end;
  end;
  // окончательный подсчет
  w := hh*s;
  k := 0;
  for i := 0 to n - 1 do
    x[i] := b[i]/a[i, i];
    
  repeat
    z := 0;
    for i := 0 to n - 1 do
    begin
      y[i] := b[i];
      for j := i+1 to n - 1 do
        y[i] := y[i] - a[i, j]*x[j];
      for j := 0 to i - 1 do
        y[i] := y[i] - a[i, j]*y[j];
      y[i] := y[i]*w/a[i, i];
      y[i] := y[i]+(1-w)*x[i];
      z := z + abs(x[i]-y[i]);
    end;
    for i := 0 to n - 1 do
      x[i] := y[i];
    inc(k);
  until z <= eps;
  writeln;
  writeln('Solution:');
  for i := 0 to n - 1 do
    write(Format('x[%d]=%.2f ', [i+1, y[i]]));
  writeln;
  writeln('Оптимальный коэффициент релаксации:');
  writeln(Format('W=%.4f', [w]));
  writeln('Невязка:');
  q := 0;
  setlength(qarr, n);
  for i := 0 to n - 1 do
  begin
    qarr[i] := b[i];
    for j := 0 to n - 1 do
      qarr[i] := qarr[i] - a[i, j]*x[j];
    q := q + abs(qarr[i]);
  end;
  writeln(q:0:4);
  writeln('Число итераций=', k);
end.
На своих данных тестируй сам, коли сразу не привел... Компиляцию проходит, как работает - без понятия. Если работало на Жабе - то должно и в Паскале сработать...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.04.2014, 18:00
Помогаю со студенческими работами здесь

С Pascal на Java
readln (l); k := l div 100;

Из Pascal в Java
Нужно перевести 2 кода. использовать вот эти библиотеки: import javax.swing.*; import java.util.*; program 1; uses crt; ...

Java to Pascal
Необходимо транслировать код с Java на Pascal в связи с тем, что синтаксис паскаля мною забыт давным давно, а времени на восполнение...

Pascal to Java
Доброго времени суток! Пишу, собственно, вот по какому поводу. Нужно написать курсовую, а из языков программирования более-менее освоил...

из JAVA в PASCAL
В общем, у меня проблемка. Нужно из Java прогу &quot;конвертировать&quot; в Pascal. Сама задача такова: Игра &quot;Вращающий квадрат&quot;. Дан...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью 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
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru