Форум программистов, компьютерный форум, киберфорум
QBasic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
 Аватар для Бедел
235 / 31 / 11
Регистрация: 04.06.2010
Сообщений: 293

Перевести с Паскаля на Бейсик

04.06.2010, 10:12. Показов 2731. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здраствуйте ! могли бы вы мне перевести программу с Pascal на QBasic ?Очень нужно для курсовой.У меня ещё куча заданий ,а времени совсем не хватает так что , поможете ?

Добавлено через 10 минут
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
uses crt;
const nmax=100;
var a:array[1..nmax,1..nmax] of real;
    b,x:array[1..nmax] of real;
    n,i,j,k:integer;
    z,r,g:real;
begin
clrscr;
repeat
write('Ââåäèòå êîëè÷åñòâî óðàâíåíèé äî ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Ââåäèòå êîýôôèöèåíòû ñèñòåìû è ñâîáîäíûå ÷ëåíû');
for i:=1 to n do
for j:=1 to n+1 do
read(A[i,j]);
clrscr;
writeln('Ìàòðèöà êîýôôèöèåíòîâ è ñâîáîäíûõ ÷ëåíîâ');
for i:=1 to n do
  begin
    for j:=1 to n+1 do
    write(A[i,j]:6:2);
    writeln;
  end;
readln;
for i:=1 to n do
b[i]:=a[i,n+1];
for k:=1 to n do
     begin
       for j:=k+1 to n do
          begin
            r:=a[j,k]/a[k,k];
            for i:=k to n do
               begin
                 a[j,i]:=a[j,i]-r*a[k,i];
               end;
            b[j]:=b[j]-r*b[k];
          end;
     end;
for k:=n downto 1 do
     begin
       r:=0;
       for j:=k+1 to n do
         begin
           g:=a[k,j]*x[j];
           r:=r+g;
         end;
      x[k]:=(b[k]-r)/a[k,k];
     end;
writeln('Êîðíè ñèñòåìû:');
for i:=1 to n do
write('x[',i,']=',x[i]:0:2,'   ');
readln;
end.
Добавлено через 2 минуты
То,что в скобках (после оператора Writeln или Write) не совсем важно ,т.к. там на русском написано ,а кодировка не поддерживает почему-то.Там я сам допишу Заранее вам СПАСИБОООО !!!!! )))
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.06.2010, 10:12
Ответы с готовыми решениями:

гении программирования! не могли бы перевести программу из паскаля в бейсик, пожалуйста. Очень надо
гении программирования! не могли бы перевести программу из паскаля в бейсик, пожалуйста. Очень надо 1 var 2 N: word; 3 Animal,...

Переод из паскаля в бейсик
Program sd; uses crt; var a,b,c,x,s,y,z,r,p: integer; Begin clrscr; Writeln('Введите номер билета:'); readln(x); s:=x div...

Achtung! Перевод из паскаля в бейсик уже 3 часа сижу
Люди добрые, помогите перевести сие творение ку бейсик. const n=5; var a,b:arrayof integer; c:arrayof integer; ...

8
04.06.2010, 10:15

Не по теме:

судя по почерку программу писал Puporev :)

0
180 / 179 / 163
Регистрация: 30.04.2010
Сообщений: 260
05.06.2010, 17:08
Примерно так:

QBasic/QuickBASIC
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
CONST nmax = 100
DIM a(nmax, nmax) AS SINGLE
DIM b(nmax), x(nmax) AS SINGLE
DIM n, i, s, k AS INTEGER
DIM z, r, g AS SINGLE
CLS
DO
PRINT "Vvedite kolvo uravneniy do"; nmax; "n=";
INPUT n
LOOP UNTIL (n <= nmax) AND (n >= 1)
PRINT "Vvedite koef sistemi i svobodniye chleni"
FOR i = 1 TO n
FOR j = 1 TO n + 1
INPUT a(i, j)
NEXT j
NEXT i
CLS
PRINT "Matrica koef i svobodn chlenov"
FOR i = 1 TO n
 FOR j = 1 TO n + 1
  PRINT a(i, j);
 NEXT j
 PRINT
NEXT i
l$ = INPUT$(1)
FOR i = 1 TO n
b(i) = a(i, n + 1)
NEXT i
FOR k = 1 TO n
 FOR j = k + 1 TO n
  r = a(j, k) / a(k, k)
  FOR i = k TO n
   a(j, i) = a(j, i) - r * a(k, i)
  NEXT i
  b(j) = b(j) - r * b(k)
 NEXT j
NEXT k
FOR k = n TO 1 STEP -1
 r = 0
 FOR j = k + 1 TO n
  g = a(k, j) * x(j)
  r = r + g
 NEXT j
 x(k) = (b(k) - r) / a(k, k)
 NEXT k
PRINT
PRINT "Korny systemi"
FOR i = 1 TO n
 PRINT "X("; i; ")="; x(i)
NEXT i
END
0
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
05.06.2010, 20:48
Это ещё что за странная команда?
PureBasic
1
l$ = INPUT$(1)
0
180 / 179 / 163
Регистрация: 30.04.2010
Сообщений: 260
05.06.2010, 21:15
Цитата Сообщение от кот Бегемот Посмотреть сообщение
Это ещё что за странная команда?
PureBasic
1
l$ = INPUT$(1)
Ждет нажатия заданного количества символов и присваивает их символьной переменной. В моём случае просто ожидает нажатия клавиши. (Другой альтернативы команды паскаля readln без параметров я не знаю). Можно в принципе и без неё.
0
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
05.06.2010, 21:24
а sleep не проще?
1
180 / 179 / 163
Регистрация: 30.04.2010
Сообщений: 260
05.06.2010, 21:33
Цитата Сообщение от кот Бегемот Посмотреть сообщение
а sleep не проще?
Да, вы правы, про команду sleep я забыл.
0
1 / 4 / 0
Регистрация: 03.06.2010
Сообщений: 94
06.06.2010, 03:04
расскажите пожалуйста как Sleep работает ?

Добавлено через 23 секунды
расскажите пожалуйста как Sleep работает ? каким образом можно её вставить в код

Добавлено через 9 минут
и кстати хотел её запустить на VB , поменял Input на соответствующий INputbox но он ругается на l$ = INPUT$ как её это дело можно поправить ?

Добавлено через 44 минуты
Как сказал Puporev , когда писал эту программу, это простая программа без проверки главного элемента на ноль или близость к нему, перестановки строк, смены знака для Решения Слау метод главных элементов . И при n=1 и при вводе коэф. 0, 9 пишет ДЕление на ноль. Значит программа рабоет для заведомо верных коэффициентов. А вот эта которую писал так же Puporev с перестановкой и процедурой может справиться с такой проблемой при вводе таких вот коэф. ?
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
uses crt;
type
   Tmas=array[1..20] of real;
   Tmatr=array[1..20] of Tmas;
procedure Per(k,n:integer;var a:Tmatr; var b:Tmas);
var i,j:integer;z:real;
begin
   z:=a[k,k];i:=k;//если главный элемент строки (a[k,k])=0, z=0; запоминаем эту строку  
                                            ///(i:=k;) 
   for j:=k+1 to n do //от следующей стороки до конца ищем самый большой элемент в том столбце, где 0
     begin
       if abs(a[j,k])>z then //обычный поиск максимального
          begin
            z:=a[j,k];
            i:=j;
          end;
       if i>k then //если нашли больше ноля
          begin     
            for j:=k to n do //то делаем обмен элементами между строкой с нолем и            
               begin    //строкой с максимальным элементом в столбце с нолем
                 z:=a[i,j];a[i,j]:=a[k,j];a[k,j]:=z;
               end;
            z:=b[i];b[i]:=b[k];b[k]:=z; //обмениваем свободные члены
          end;
       end;
     end;
var a:Tmatr; //матрица системы
    b:Tmas;   //массив свободных членов
    x:Tmas;   //массив корней системы
    n,i,j,k:integer; //счетчики циклов
    z,r,g:real;  //вспомогательные переменные при расчетах
begin
clrscr;
write('Введите количество уравнений n=');
readln(n);
writeln('Введите коэффициенты системы и свободные члены');
for i:=1 to n do
for j:=1 to n+1 do
read(A[i,j]);  //вводим в строку через пробел коэффициенты и свободный член первого уравнения, жмем  
                    //Enter, 
                   //вводим следующую строку и так до конца
clrscr;     //очищаем экран
writeln('Матрица коэффициентов и свободных членов'); //выводим матрицу системы
for i:=1 to n do
  begin
    for j:=1 to n+1 do
    write(A[i,j]:6:2);
    writeln;
  end;
//Прямой ход Гаусса, преобразуем квадратную матрицу коэффициентов в треугольную типа
//2,35 -5,36 4,56 16,25
//0,00 -3,25 7,26 25,39
//0,00 0,00 2,35 59,23  //здесь потом найдем 3-ий корень (59,23/2,35), а от него обратным ходом остальные
for i:=1 to n do
b[i]:=a[i,n+1];  //присваиваем значения массиву свободных членов (последний столбец матрицы)
for k:=1 to n do  //начинаем с первой строки
     begin
       if a[k,k]=0 then Per(k,n,a,b);//добавлена процедура
       for j:=k+1 to n do //идем по строке выше главной диагонали до конца
          begin
            r:=a[j,k]/a[k,k]; //вычисляем коэффициент приведения первых коэффициентов, чтобы они были   
                                    //равны и при вычитании давали 0 (освобождаемся от очередного неизвестного), 
                                    //например    
                                    //1-е ур. 2х1+3х1-4х3=12
                                     //2-е ур -3х1+2х2+2х3=25
                                     //r= -3/2, тогда 2х1*-3/2=-3х1 
                                     //вычтем из ур.2-ур.1, х1 исчезнет 
           for i:=k to n do
               begin
                 a[j,i]:=a[j,i]-r*a[k,i]; //сейчас умножив все первое урававнение на -3/2,  вычитаем из первого  
              end;                         //уравнения второе      
           b[j]:=b[j]-r*b[k];             //и свободнгые члены
        end;
     end;
   //система будет 1.    2х1+3х1-4х3=12
   //                         2.   0х1+(2-(3*-3/2))х2 +(2+(4*-3/2)=25-12*(-3/2)
//Обратный ход Гаусса, находим корни
for k:=n downto 1 do //от последней строки к первой
     begin
       r:=0;
       for j:=k+1 to n do //в строке от главной диагонали вправо (где не ноли)
         begin
           g:=a[k,j]*x[j]; //умножаем коэффициенты на  известные уже корни
           r:=r+g;         //суммируем
         end;
      x[k]:=(b[k]-r)/a[k,k];  //из преобразованного прямым ходом свободного члена вычитаем полученную  
                                      //суммму и делим на первый коэффициент (который на главной диагонали)
     end;   
writeln('Корни системы:'); //выводим результат
for i:=1 to n do
write('x[',i,']=',x[i]:0:2,'   ');
readln;
end.
если да , то не могли бы вы её перевести на Бейсик , хотя лучше было б на VB?
0
180 / 179 / 163
Регистрация: 30.04.2010
Сообщений: 260
06.06.2010, 09:40
Цитата Сообщение от Turalll Посмотреть сообщение
расскажите пожалуйста как Sleep работает ?
приостанавливает выполнение программы на число секунд, заданных в параметре или пока не будет нажата любая клавиша. SLEEP без параметров просто ждёт нажатия любой клавиши. Но в VB этой команды нет. Её можно просто пропустить, программа может работать без неё, также как и без l$=INPUT$(1)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.06.2010, 09:40
Помогаю со студенческими работами здесь

Перевести программу с Паскаля на Бейсик
uses crt; const m=10;n=10; var i,j,ind:integer; a:array of integer; b:array of integer; function...

Перевод с паскаля на бейсик
задали сделать программу на бейсике,который я не знаю совсем.прошу помочь в переводе с паскаля на бейсик.var M, N, Q: INTEGER; ...

Перевод кода из Паскаля в Бейсик
Есть тут один такой код: Var s,a:string; i:integer; c:char; begin s:='01234567'; for i:=1 to 3 do begin

c паскаля на бейсик
вот код по задаче, где нужно рассчитать расстояние до горизонта если известен радиус и высота смотрящего program esep; const R=63500;...

переведите из паскаля в бейсик
var decimal: word; function hexadecimal(decimal:word):string; var digit: byte; ch: char; begin while decimal &gt; 0 do...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru