Форум программистов, компьютерный форум, киберфорум
Наши страницы
Basic
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.78/32: Рейтинг темы: голосов - 32, средняя оценка - 4.78
andjey
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 26
1

Перевод с паскаля на бейсик

24.02.2010, 18:00. Просмотров 5934. Ответов 27
Метки нет (Все метки)

задали сделать программу на бейсике,который я не знаю совсем.прошу помочь в переводе с паскаля на бейсик.var
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
M, N, Q: INTEGER; 
      I, J, ColSum: INTEGER; 
      Nums: array of array of INTEGER; 
      Res: array of INTEGER; 
begin 
      WRITE('How many numbers (M)? '); 
      readln(M); 
 
      WRITE('How many digits (N)? '); 
      readln(N); 
 
      WRITE('Numerical notation (Q <= 10)? '); 
      readln(Q); 
 
      SetLength(Nums, M); 
      FOR I :=0 TO (M - 1) DO 
           SetLength(Nums[I], N); 
 
      SetLength(Res, N + 1); 
 
      RANDOMIZE; 
 
      FOR I := 0 TO (M - 1) DO 
      begin 
           writeln; 
           WRITE(' '); 
           FOR J := 0 TO (N - 1) DO 
           begin 
                Nums[I, J] := RANDOM(Q); 
                WRITE(Nums[I, J]); 
           END; 
      END; 
 
      ColSum := 0; 
 
      FOR J := N - 1 downto 0 DO 
      begin 
           FOR I := 0 TO (M - 1) DO 
           begin 
                ColSum := ColSum + Nums[I, J]; 
           END; 
           Res[J + 1] := ColSum MOD Q; 
           ColSum := ColSum div Q; 
      END; 
 
      Res[0] := ColSum MOD Q; 
 
      writeln; 
      IF ColSum div Q > 0 THEN 
      begin 
           writeln('Overflow.'); 
      END; 
 
      FOR J := 0 TO N DO 
      begin 
           WRITE('-'); 
      END; 
 
      writeln; 
      FOR J := 0 TO N DO 
      begin 
           WRITE(Res[J]); 
      END; 
      readln; 
END.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2010, 18:00
Ответы с готовыми решениями:

Перевод кода из Паскаля в Бейсик
Есть тут один такой код: Var s,a:string; i:integer; c:char; begin ...

Диалект языка Бейсик - Spectrum-Бейсик
Приветствую всех. Недавно в сети нашла книгу: &quot;Как написать игру для ZX...

Определите что за бейсик?
Всем привет! есть код: Function CountDegist(tmpDump As UInteger Ptr,...

Где можно скачать Бейсик?
Подскажите где можно скачать Бейсик?

Какой бейсик редактирует файлы формата BLD
Какой бейсик редактирует файлы формата BLD ???

27
WolfCF
3292 / 1354 / 108
Регистрация: 28.04.2009
Сообщений: 4,823
24.02.2010, 18:01 2
задание хоть скажите,авось переведут.
0
andjey
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 26
24.02.2010, 18:05  [ТС] 3
вот задание.Пусть m натуральных чисел заданы своими цифрами в q-ичной системе
счисления, хранящимися в строках матрицы K( m ,n). Найти сумму этих чисел в
той же системе, не вычисляя самих чисел ( q ≤ 10 ).
0
кот Бегемот
Платежеспособный зверь
8520 / 3954 / 1544
Регистрация: 28.10.2009
Сообщений: 10,286
24.02.2010, 19:00 4
перевести именно эту программу на Бейсик невозможно, так как в Бейсике нет понятия массив массивов (Nums: array of array of Integer)
хотя, смотря какой Бейсик. Вы-то в каком работаете? QBasic, VisualBasic, VBA?
0
andjey
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 26
24.02.2010, 19:32  [ТС] 5
в том-то и дело,что я работаю только с паскалем.но преподу взбрело в голову,что желательно сделать на бейсике,а на каком,он не уточнил.
0
кот Бегемот
Платежеспособный зверь
8520 / 3954 / 1544
Регистрация: 28.10.2009
Сообщений: 10,286
24.02.2010, 20:13 6
Интересно вы работаете с паскалем. Программа-то на паскале нерабочая!
Это надо из нерабочей программы на паскале сделать рабочую на бейсике?

В программе задаётся количество чисел и их длина. Что, все числа одинаковой длины7
0
andjey
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 26
25.02.2010, 15:02  [ТС] 7
если программа не работает,я очень прошу чтобы ее сделали правильно на бейсике.
0
кот Бегемот
Платежеспособный зверь
8520 / 3954 / 1544
Регистрация: 28.10.2009
Сообщений: 10,286
26.02.2010, 11:57 8
PureBasic
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
INPUT "vvedite kol-vo chisel ", m
INPUT "vvedite kol-vo cifr v chisle ", n
DIM a(m, n), s(n)
DO
INPUT "vvedite systemu schisleniya<=10 ", q
LOOP UNTIL q <= 10
RANDOMIZE TIMER
FOR i = 1 TO m
FOR j = 1 TO n
a(i, j) = INT(RND * q)
NEXT
NEXT
PRINT "chisla:"
FOR i = 1 TO m
FOR j = 1 TO n
PRINT a(i, j);
NEXT
PRINT
NEXT
FOR i = 1 TO m
FOR j = n TO 1 STEP -1
s(j) = s(j) + a(i, j)
IF s(j) >= q THEN s(j - 1) = s(j - 1) + s(j) \ q: s(j) = s(j) MOD q
NEXT
NEXT
PRINT "summa"
FOR i = 0 TO n
PRINT s(i);
NEXT
1
andjey
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 26
26.02.2010, 15:38  [ТС] 9
большое спасибо)))
0
andjey
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 26
10.03.2010, 17:37  [ТС] 10
задачу не приняли((оказалось,числа должны вводится с клавиатуры и иметь произвольное кол-во цифр.помогите,плиз
0
кот Бегемот
Платежеспособный зверь
8520 / 3954 / 1544
Регистрация: 28.10.2009
Сообщений: 10,286
10.03.2010, 18:53 11
раз числа задаются своими цифрами (так в условии), то количество цифр в каждом числе известно
попробуем так:


PureBasic
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
DIM a(100, 100), s(100), c(100)
INPUT "vvedite kol-vo chisel ", m
DO
INPUT "vvedite systemu schisleniya<=10 ", q
LOOP UNTIL q <= 10
max = 0
FOR i = 1 TO m
PRINT "vvedite kolichestvo cifr"; i; "-go chisla"
INPUT c(i)
IF c(i) > max THEN max = c(i)
k = c(i)
FOR j = 1 TO k
DO
PRINT "vvedite"; j; "-yu cifru"; i; "-go chisla"
INPUT a(i, j)
LOOP UNTIL a(i, j) < q
NEXT
NEXT
PRINT "chisla:"
FOR i = 1 TO m
FOR j = 1 TO c(i)
PRINT a(i, j);
NEXT
PRINT
NEXT
FOR i = 1 TO m
FOR j = max TO 1 STEP -1
s(j) = s(j) + a(i, j)
IF s(j) >= q THEN s(j - 1) = s(j - 1) + s(j) \ q: s(j) = s(j) MOD q
NEXT
NEXT
PRINT "summa"
FOR i = 0 TO max
PRINT s(i);
NEXT
0
andjey
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 26
12.03.2010, 17:09  [ТС] 12
спс,все работает.но есть вопрос:как можно сделать так,чтобы цифры записывались разряд под разрядом?
0
кот Бегемот
Платежеспособный зверь
8520 / 3954 / 1544
Регистрация: 28.10.2009
Сообщений: 10,286
12.03.2010, 17:33 13
PureBasic
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
DIM a(100, 100), s(100), c(100)
INPUT "vvedite kol-vo chisel ", m
DO
INPUT "vvedite systemu schisleniya<=10 ", q
LOOP UNTIL q <= 10
max = 0
FOR i = 1 TO m
PRINT "vvedite kolichestvo cifr"; i; "-go chisla"
INPUT c(i)
IF c(i) > max THEN max = c(i)
k = c(i)
FOR j = 1 TO k
DO
PRINT "vvedite"; j; "-yu cifru"; i; "-go chisla"
INPUT a(i, j)
LOOP UNTIL a(i, j) < q
NEXT
NEXT
PRINT "chisla:"
FOR i = 1 TO m
t = max - c(i)
FOR k = 1 TO t
PRINT 0;
NEXT
FOR j = 1 TO c(i)
PRINT a(i, j);
NEXT
PRINT
NEXT
FOR i = 1 TO m
FOR j = max TO 1 STEP -1
s(j) = s(j) + a(i, j)
IF s(j) >= q THEN s(j - 1) = s(j - 1) + s(j) \ q: s(j) = s(j) MOD q
NEXT
NEXT
PRINT "summa"
FOR i = 0 TO max
PRINT s(i);
NEXT
0
andjey
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 26
13.03.2010, 16:12  [ТС] 14
выдает неправильный результат((
0
кот Бегемот
Платежеспособный зверь
8520 / 3954 / 1544
Регистрация: 28.10.2009
Сообщений: 10,286
13.03.2010, 23:51 15
пример пожалуйста приведите
0
andjey
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 26
14.03.2010, 09:38  [ТС] 16
например ввожу в десятичной 620 и 15,ответ выводится 770
0
кот Бегемот
Платежеспособный зверь
8520 / 3954 / 1544
Регистрация: 28.10.2009
Сообщений: 10,286
15.03.2010, 20:21 17
PureBasic
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
DIM a(100, 100), s(100), c(100)
INPUT "vvedite kol-vo chisel ", m
DO
INPUT "vvedite systemu schisleniya<=10 ", q
LOOP UNTIL q <= 10
max = 0
FOR i = 1 TO m
PRINT "vvedite kolichestvo cifr"; i; "-go chisla"
INPUT c(i)
IF c(i) > max THEN max = c(i)
FOR j = 1 TO c(i)
DO
PRINT "vvedite"; j; "-yu cifru"; i; "-go chisla"
INPUT a(i, j)
LOOP UNTIL a(i, j) < q
NEXT
NEXT
FOR i = 1 TO m
 FOR k = 1 TO max - c(i)
 FOR j = c(i) + k TO 2 STEP -1
 a(i, j) = a(i, j - 1)
 NEXT
NEXT
FOR j = 1 TO max - c(i)
a(i, j) = 0
NEXT
NEXT
PRINT "chisla:"
FOR i = 1 TO m
FOR j = 1 TO max
PRINT a(i, j);
NEXT
PRINT
NEXT
FOR i = 1 TO m
FOR j = max TO 1 STEP -1
s(j) = s(j) + a(i, j)
IF s(j) >= q THEN s(j - 1) = s(j - 1) + s(j) \ q: s(j) = s(j) MOD q
NEXT
NEXT
PRINT "summa"
FOR i = 0 TO max
PRINT s(i);
NEXT
1
andjey
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 26
16.03.2010, 15:46  [ТС] 18
огромное спасибо)))
0
andjey
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 26
23.03.2010, 17:13  [ТС] 19
опять не приняли,в связи с тем,что изменилось условие.теперь надо вводить числа сразу,без указания кол-ва цифр.помогите,пожалуйста,на вас последняя надежда.
0
кот Бегемот
Платежеспособный зверь
8520 / 3954 / 1544
Регистрация: 28.10.2009
Сообщений: 10,286
23.03.2010, 18:28 20
Интересно было бы спросить вашего преподавателя:
а как он собирается вводить число в виде отдельных цифр, если их количество не задано?
чем заканчивается ввод каждого числа?
Пусть m натуральных чисел заданы своими цифрами в q-ичной системе
надо ставить задачу конкретнее: либо вводить всё число как число, это понятно,
либо задать количество цифр и вводить цифры,
а иначе должно быть окончание ввода.
Или ваши слова означают изменение условия задачи и надо сразу ввести число?
0
23.03.2010, 18:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2010, 18:28

Где можно скачать Бейсик для ZX Spectrum?
Уважаемые, а не подскажете где Sinclair BASIC можно скачать.Очень надо.

Задача фри Бейсик Определить координаты точки пересечения прямых
Даны числа a1, b1, c1, a2, b2, c2. Определить координаты точки пересечения...

Что делает код описанный в теме? работа в бейсик с com портом
10 OPEN &quot;COM1: 9600, N, 8, 1&quot; AS #1 20 IF LOC(1) = 0 THEN 60 30 A$ =...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru