89 / 3 / 0
Регистрация: 18.08.2009
Сообщений: 27
1

Как, мне разобраться с переписыванием программы

18.08.2009, 18:46. Показов 3534. Ответов 21
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Я занимаюсь практическим программированием, уже много лет.
И за это время, я много раз переписывал программые модули
с одного языка на другой, что даёт возможность заниматся
интегрированным программированием. Я много раз переписывал
свои программы с Бейсика на Паскаль, а потом, бывало и обратно
с Паскаля на Бейсик.
Но, у меня всё время, возникает такая проблема:
Вот, простенькая программка на Бейсике, состаящая всего, из трёх
операторов.

PureBasic
1
2
3
DIM menu$(count), nstr(count), npos(count)
DATA "Место положения нашего курсора", 3, 20
READ menu$(i), nstr(i), npos(i)
И я до сих пор, никак не могу найти их аналоги на Паскале или на Си.
Вся беда, здесь в том, что оператор READ в Паскале, имеет совсем
другое значение. Никак не то, что в Бейсике. Если в Бейсике, этот оператор
осуществляет фиксацию и вывод на дисплей значений, заданных оператором
определений DATA. Например, при выводе тестового меню для работы
с прикладной программой. То в Паскале операторы READ и READLN имеют
тоже значение, что в Бейсике оператор INPUT. Для вывода символов с клавиатуры
на дисплей.
Итак, если кто знает, пусть поможет мне разобратся с данной проблемой.
Я надеюсь на Вашу добросовестную помощь.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.08.2009, 18:46
Ответы с готовыми решениями:

косяк с переписыванием программы с дельфи на с++
Переписываю программу с дельфи на с++, вот строчка на дельфи err:=WaveOutOpen(addr(waveOut), 0,...

Как мне разобраться в понятиях?
Всем привет. Наверное, глупый вопрос, но все же, задали мне контрольную по базам данных, а именно...

Как сохранять лог в TextBox с дописыванием текста, а не переписыванием
Ну в принципе тут все просто: Есть кучи кнопок, на каждой из них простая надпись передаваемая в...

Как открыть в проводнике нужный мне каталог и выделить в нем нужный мне файл из программы ?
сабж. собственно про ShellExecute я слышал, а как сделать чтобы было как это например у хрома:...

Ошибки. Обьясните как мне с ними разобраться
#include<stdio.h> #include<math.h> #include<conio.h> void main() { int x_min_1, y_min_1,...

21
Почетный модератор
64301 / 47596 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
18.08.2009, 19:24 2
Вывести на экран без перехода на новую строку write('123') - строковый тип, write(a) - значение параметра. Тоже с переходом на новую строку writeln
1
89 / 3 / 0
Регистрация: 18.08.2009
Сообщений: 27
19.08.2009, 12:21  [ТС] 3
Цитата Сообщение от Puporev Посмотреть сообщение
Вывести на экран без перехода на новую строку write('123') - строковый тип, write(a) - значение параметра. Тоже с переходом на новую строку writeln
Вам есть, ещё чего добавить или это всё, что Вы можете сказать?

Добавлено через 2 минуты 13 секунд
Цитата Сообщение от Денис Шиловский Посмотреть сообщение
Вам есть, ещё чего добавить или это всё, что Вы можете сказать?
Но, лучше конечно, будет если Вы конкретно подскажите
какие операторы Паскаля, анологичны операторам:
DIM, DATA и READ Бейсика
0
Почетный модератор
64301 / 47596 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
19.08.2009, 12:24 4
Вы спросили как вывести в Паскале информацию на экран дисплея, я написал. Если еще что-то нужно, спрашивайте. И вообще непонятно зачем переписывать текст программ, если проще все заново написать и быстрее будет и лучше.

Добавлено через 42 секунды
Простите, я Бейсик не знаю.
1
28 / 25 / 1
Регистрация: 28.07.2009
Сообщений: 109
19.08.2009, 14:42 5
В Паскале функциональный аналог — объявлять константы.
1
Эксперт С++
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
19.08.2009, 19:33 6
Подробнее распиши что делают твои три строки.
А то я BASIC подзабыл что-то.
DIM вроде массивы объявляет и строки.
READ просто считает значения из оператора DATA.
1
89 / 3 / 0
Регистрация: 18.08.2009
Сообщений: 27
19.08.2009, 22:26  [ТС] 7
Цитата Сообщение от odip Посмотреть сообщение
Подробнее распиши что делают твои три строки.
А то я BASIC подзабыл что-то.
DIM вроде массивы объявляет и строки.
READ просто считает значения из оператора DATA.
Я вообще-то говоря, это знаю. Но, меня интерисует другое:
какие аналоги этих операторов Бейсика DIM, DATA и READ
имеются в Паскале? Я именно, это хочу узнать.
0
Эксперт С++
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
19.08.2009, 22:34 8
DIM вроде массивы объявляет и строки.
READ просто считает значения из оператора DATA.
Это вопрос был если что
Значит я угадал правильно.
имеются в Паскале?
Сначала ты просил на Паскале или на Cи.
Я тебе на Си напишу.
C++
1
2
3
4
5
6
7
8
9
10
#define COUNT 100
char menu[COUNT];
int nstr[COUNT];
int npos[COUNT];
 
int i;
 
strcpy( menu, "Место положения нашего курсора" );
nstr[i]= 3;
npos[i]= 20;
0
89 / 3 / 0
Регистрация: 18.08.2009
Сообщений: 27
19.08.2009, 22:35  [ТС] 9
Цитата Сообщение от Puporev Посмотреть сообщение
Вы спросили как вывести в Паскале информацию на экран дисплея, я написал. Если еще что-то нужно, спрашивайте. И вообще непонятно зачем переписывать текст программ, если проще все заново написать и быстрее будет и лучше.

Добавлено через 42 секунды
Простите, я Бейсик не знаю.
Вы, кажется забываете о том, что здесь информация не просто
выводится на экран компьютера, а она вставляется в текстовое меню
программы. И не забываейте о курсоре, которые стрелочными клавишами,
должен перемещатся то вверх, то вниз.
Так, что здесь дело обстоит посложнее.
0
Эксперт С++
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
19.08.2009, 22:40 10
Вообще конечно полного аналога DATA/READ нет в Pascal или C/C++.
Нечто похожее есть в perl.

Добавлено через 2 минуты 11 секунд
И не забываейте о курсоре, которые стрелочными клавишами,
должен перемещатся то вверх, то вниз.
Какой курсор - это о чем вообще ?
0
89 / 3 / 0
Регистрация: 18.08.2009
Сообщений: 27
19.08.2009, 22:49  [ТС] 11
Цитата Сообщение от odip Посмотреть сообщение
Это вопрос был если что
Значит я угадал правильно.

Сначала ты просил на Паскале или на Cи.
Я тебе на Си напишу.
C++
1
2
3
4
5
6
7
8
9
10
#define COUNT 100
char menu[COUNT];
int nstr[COUNT];
int npos[COUNT];
 
int i;
 
strcpy( menu, "Место положения нашего курсора" );
nstr[i]= 3;
npos[i]= 20;
Спасибо за исходник программы.
Я знаю, что Паскаль и Си родственные языки программирования.
Сравнивать Паскаль и Си, всеравно, что сравнивать скажем Русский и
Укранский. В них многие слова, очень похожи и синтактические структуры
схожи.
Так, что знаю эти команды на Си, я обязательно найду их аналоги и на Паскале.
Я так, уже делал. У меня в этом плане, есть определённый опыт.
0
Эксперт С++
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
19.08.2009, 22:52 12
Сейчас Puporev придет - напишет тебе на Pascal, если не сильно обиделся
1
Почетный модератор
64301 / 47596 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
19.08.2009, 22:58 13
Если бы Вы написали четко, что Вам надо написать в Паскале Вам давно бы все написали. А по очень тонким намекам на какой-то Бейсик трудно догадаться.
Вот вроде понял что
DATA "Место положения нашего курсора", 3, 20
это в Паскале процедура из модуля Crt GotoXY(3,20);

Добавлено через 2 минуты 13 секунд
Передвижение курсора вверх-вниз в текстовом режиме это обработка нажатия клавиш + опять GotoXY.

Добавлено через 3 минуты 14 секунд
Меню в Паскале нет, его надо писать самому типа
writeln('Начать!');
writeln('Кончить!');
Передвигать курсор, а по нажатию например Enter выполнять команды.
1
Эксперт С++
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
19.08.2009, 23:00 14
2Puporev: Неправильно все понял.
DATA определяет три значения.
Потом где-то в коде следует READ A,B,C.
Это значит что A будет "Место положения нашего курсора".
Переменная B будет 3.
Переменная C будет 20.
1
Почетный модератор
64301 / 47596 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
19.08.2009, 23:00 15
Я знаю, что Паскаль и Си родственные языки программирования.
Примерно как китайский и ненецкий.
1
89 / 3 / 0
Регистрация: 18.08.2009
Сообщений: 27
19.08.2009, 23:07  [ТС] 16
Цитата Сообщение от odip Посмотреть сообщение
Вообще конечно полного аналога DATA/READ нет в Pascal или C/C++.
Нечто похожее есть в perl.

Добавлено через 2 минуты 11 секунд

Какой курсор - это о чем вообще ?
Самый обыкновенный, каким в любом меню выбирают нужный пункт.

Добавлено через 2 минуты 52 секунды
Цитата Сообщение от Puporev Посмотреть сообщение
Примерно как китайский и ненецкий.
Нет. Как например, русский и укранский.
....или как японский и китайский

Добавлено через 2 минуты 44 секунды
Цитата Сообщение от odip Посмотреть сообщение
Сейчас Puporev придет - напишет тебе на Pascal, если не сильно обиделся
Да, нет. С чего бы то вдруг я стал обижаться.
Когда, мне помогают советами и рекомендациями,
я наоборот радуюсь.
0
Эксперт С++
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
19.08.2009, 23:18 17
Да, нет. С чего бы то вдруг я стал обижаться.
Когда, мне помогают советами и рекомендациями,
я наоборот радуюсь.
Я было сначала подумал что это Puporev написал
0
Evg
Эксперт CАвтор FAQ
21280 / 8302 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
20.08.2009, 09:19 18
Аналогов DATA и READ нету ни в Паскале, ни в Си. DATA по большому счёту обозначает некоторую свалку, в которую свалены константы различных типов. READ соотвественно читает очередную константу из свалки. При этом на программиста возлагается отвественность за соблюдение правильности типа текущего элемента в свалке и переменной, в которую достаётся значение.

В какой-то степени всё это безобразие можно смоделировать, но для этого придётся писать дополнительный код, особенно если моделирование должно быть универсальным для произвольного набора данных.
2
Почетный модератор
64301 / 47596 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
20.08.2009, 09:22 19
но для этого придётся писать дополнительный код, особенно если моделирование должно быть универсальным для произвольного набора данных.
Согласен. Кстати написать свои процедуры для указанных автором целей совсем несложно, только задачу надо поставить конкретно, понятным языком.
1
89 / 3 / 0
Регистрация: 18.08.2009
Сообщений: 27
20.08.2009, 13:48  [ТС] 20
Цитата Сообщение от Evg Посмотреть сообщение
Аналогов DATA и READ нету ни в Паскале, ни в Си. DATA по большому счёту обозначает некоторую свалку, в которую свалены константы различных типов. READ соотвественно читает очередную константу из свалки. При этом на программиста возлагается отвественность за соблюдение правильности типа текущего элемента в свалке и переменной, в которую достаётся значение.

В какой-то степени всё это безобразие можно смоделировать, но для этого придётся писать дополнительный код, особенно если моделирование должно быть универсальным для произвольного набора данных.
Ясно.
Тогда ответьте мне, пожалуйста, на такой вопрос:
Вы не знаете, как на Паскале написать программу, которая
вывод на экран компьютера простенькое меню состаящие
из двух-трёх пунктов. При этом, что бы по объёму строк, она
была сравнительно небольшой.
....и как пишется на Паскале, самая простая программка которая
выводит на дисплей, простенькое менюшко, в котором на клавиатуре
можно выбрать нужный пункт. Не говоря, о мыши, которая в ней и не нужна.
Ну, скажем в старом "добром" Borland Pascal эдак версии 7-ой?
....а?
0
20.08.2009, 13:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.08.2009, 13:48
Помогаю со студенческими работами здесь

Хочу разобраться как работает git и как мне с ним работать
Недавно у меня появилась необходимость иметь возможность писать код с двух устройств, а также в...

Подскажите как мне разобраться с двумя ошибками пожалуйста
Первая ошибка, связанная с radiobutton а вторая с image

Я не могу разобраться как мне правильно подключить исполняемый файл .срр
Доброго всем времени суток. Начал изучать Visual С++. Конечно интерестный язык, но довольно таки...

Как мне сделать так, чтобы данный текстовый файл был открыт один раз при запуске программы и закрыт при закрытии программы?
Привет! Возник следующий вопрос. Программа состоит из основного окна Form1 и нескольких Unit. По...

Как вскрыть текст нужной мне программы?
Уже месяц бьюсь над одной проблемкой: как вскрыть текст нужной мне программы? Подскажите, она явно...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru