Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 2
Регистрация: 13.03.2013
Сообщений: 37

Перевод программы с Pascal на Java

23.12.2015, 21:33. Показов 2297. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть программа на Паскале.
Code
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
{$A-,B-,D-,E+,F-,G-,I+,L-,N-,O-,R-,S-,V-,X-}
{$M 16384,0,655360}
uses crt;
const
maxk = 6;
type
input = record
last1,last2,next1,next2,new : word;
end;
var
k,i,j,i1,i2,j1,j2,nj1,nj2,n,n1,cn,half : word;
m : array[1..1 shl maxk,1..1 shl maxk] of input;
Procedure concat(a,b,c,d : word);
var i1,i2,j1,j2,nj1,nj2 : word;
begin
i1:=a; i2:=b;
while (m[i1,i2].next1<>n+1) and (m[i1,i2].next2<>n+1) do
begin
i1:=m[i1,i2].next1; i2:=m[i1,i2].next2;
end;
j1:=c; j2:=d;
while (m[j1,j2].next1<>n+1) and (m[j1,j2].next2<>n+1) do
begin
j1:=m[j1,j2].next1; j2:=m[j1,j2].next2;
end;
while j1<>0 do
begin
nj2:=m[j1,j2].last2; nj1:=m[j1,j2].last1;
m[i1,i2].next1:=j1; m[i1,i2].next2:=j2;
m[j1,j2].last1:=i1; m[j1,j2].last2:=i2;
i1:=j1; i2:=j2; j1:=nj1; j2:=nj2;
end;
m[i1,i2].next1:=n+1; m[i1,i2].next2:=n+1;
end;
begin
Write('Введите k...');readln(k);
n:=1 shl k; {Определение числа клеток в одной строке или столбце}
n1:=n*n;  {Определение числа клеток в матрице}
for i:=1 to n do
for j:=1 to n do with m[i,j] do 
begin
last1:=0; next1:=n+1;
last2:=0; next2:=n+1;
new:=0;
end;
cn:=n;
while cn>1 do {сгибание матрицы}
begin
half:=cn div 2;
for i:=1 to half do {сгиб по вертикали}
for j:=1 to cn do concat(j,i,j,cn-i+1);
for i:=1 to half do {сгиб по горизонтали}
for j:=1 to half do concat(i,j,cn-i+1,j);
cn:=half;
end;
j1:=1;j2:=1;
for i:=1 to n1 do {Назначение клеткам новые номера}
begin
m[j1,j2].new:=i;
nj1:=m[j1,j2].next1; nj2:=m[j1,j2].next2;
j1:=nj1; j2:=nj2;
end;
for i:=1 to n do {Вывод результатов}
begin
for j:=1 to n do write(m[i,j].new:8);
writeln;
end;
end.
Нужна помощь с переводом.
Так как не понимаю как перевести на java вот такие места:
m : array[1..1 shl maxk,1..1 shl maxk] of input
while (m[i1,i2].next1<>n+1) and (m[i1,i2].next2<>n+1) do
m[j1,j2].last1:=i1; m[j1,j2].last2:=i2;
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.12.2015, 21:33
Ответы с готовыми решениями:

Перевод программы с Turbo Pascal на Pascal ABC.NET
написала программу в паскаль турбо на рабочем компьютере. перенесла в паскаль авсNet так как дома стоит эта версия /перестала работать что...

Перевод программы с turbo pascal на Pascal ABC
Есть программа, которая строит треугольник Серпинского методом хаоса, но она конфликтует с графикой ABC. Важен именно этот метод. ...

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

2
5 / 5 / 3
Регистрация: 07.07.2013
Сообщений: 122
25.12.2015, 09:54
1.не знаю что это значит в паскале,если объяснишь то подумаю
2.Смотреть циклы и булевские выражения
0
67 / 67 / 19
Регистрация: 13.07.2015
Сообщений: 219
25.12.2015, 11:41
Цитата Сообщение от blaze19 Посмотреть сообщение
m : array[1..1 shl maxk,1..1 shl maxk] of input
Здесь объявляется 2d-массив структуры input, т.е. в java это будет массив класса Input с аналогичными полями из Паскаля.
Индексация в массиве начинается с 1 до значения полученного с помощью бинарного сдвига влево на число maxk, т.е. [1..64]. В java будет m[64][64].
Цитата Сообщение от blaze19 Посмотреть сообщение
while (m[i1,i2].next1<>n+1) and (m[i1,i2].next2<>n+1) do
m[j1,j2].last1:=i1; m[j1,j2].last2:=i2;
в этом куске кода выполняется цикл, где происходит обращение к элементам массива по индексам к свойствам структуры input (см. описание в record). В java например так m[i1][i2].next1 или с инкапсуляцией m[i1][i2].getNext1().
Будьте внимательны только с индексами в java, они начинаются с 0 и заканчиваются на 63 (64 не включается в промежуток индексов в отличии от Паскаля)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.12.2015, 11:41
Помогаю со студенческими работами здесь

Перевод с Pascal на Java
var t:char; i,j,k:integer; a:array of boolean; b:array of integer; chk:array of boolean; x,y,q,n,m:integer; procedure...

Перевод с Pascal на Java
Здравствуйте! Помогите пожалуйста с переводом на java. Задание:Согласно условию, может быть не более 80*26=2040 различных контрольных...

Перевод с Pascal на Java
Помогите перевести данный код с Паскаль на Джаву. Сам не могу, ибо не особо знаком с Паскалем, а онлайн переводчиков я таки не нашёл. ...

Перевод с Pascal на Java
Помогите пожалуйста с переводом на Java. Перевел но, показывает ошибку, не пойму как исправить. Uses crt; Var k,n: word; A1,a2,a,s:...

Перевод с Pascal на Java
Нужна помощь с переводом кода с Pascal на Java Само задание : Для значений Х, изменяющихся от –1 до 3 с шагом 0,25 , вычислить...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru