С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.53/19: Рейтинг темы: голосов - 19, средняя оценка - 4.53
 Аватар для Денис Шиловский
89 / 3 / 0
Регистрация: 18.08.2009
Сообщений: 28

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

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

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

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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.08.2009, 18:46
Ответы с готовыми решениями:

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

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

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

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

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

Добавлено через 42 секунды
Простите, я Бейсик не знаю.
1
 Аватар для dim-hj
28 / 25 / 1
Регистрация: 28.07.2009
Сообщений: 109
19.08.2009, 14:42
В Паскале функциональный аналог — объявлять константы.
1
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
19.08.2009, 19:33
Подробнее распиши что делают твои три строки.
А то я BASIC подзабыл что-то.
DIM вроде массивы объявляет и строки.
READ просто считает значения из оператора DATA.
1
 Аватар для Денис Шиловский
89 / 3 / 0
Регистрация: 18.08.2009
Сообщений: 28
19.08.2009, 22:26  [ТС]
Цитата Сообщение от odip Посмотреть сообщение
Подробнее распиши что делают твои три строки.
А то я BASIC подзабыл что-то.
DIM вроде массивы объявляет и строки.
READ просто считает значения из оператора DATA.
Я вообще-то говоря, это знаю. Но, меня интерисует другое:
какие аналоги этих операторов Бейсика DIM, DATA и READ
имеются в Паскале? Я именно, это хочу узнать.
0
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
19.08.2009, 22:34
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
Сообщений: 28
19.08.2009, 22:35  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
Вы спросили как вывести в Паскале информацию на экран дисплея, я написал. Если еще что-то нужно, спрашивайте. И вообще непонятно зачем переписывать текст программ, если проще все заново написать и быстрее будет и лучше.

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

Добавлено через 2 минуты 11 секунд
И не забываейте о курсоре, которые стрелочными клавишами,
должен перемещатся то вверх, то вниз.
Какой курсор - это о чем вообще ?
0
 Аватар для Денис Шиловский
89 / 3 / 0
Регистрация: 18.08.2009
Сообщений: 28
19.08.2009, 22:49  [ТС]
Цитата Сообщение от 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
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
19.08.2009, 22:52
Сейчас Puporev придет - напишет тебе на Pascal, если не сильно обиделся
1
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
19.08.2009, 22:58
Если бы Вы написали четко, что Вам надо написать в Паскале Вам давно бы все написали. А по очень тонким намекам на какой-то Бейсик трудно догадаться.
Вот вроде понял что
DATA "Место положения нашего курсора", 3, 20
это в Паскале процедура из модуля Crt GotoXY(3,20);

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

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

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

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

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

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

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

В какой-то степени всё это безобразие можно смоделировать, но для этого придётся писать дополнительный код, особенно если моделирование должно быть универсальным для произвольного набора данных.
Ясно.
Тогда ответьте мне, пожалуйста, на такой вопрос:
Вы не знаете, как на Паскале написать программу, которая
вывод на экран компьютера простенькое меню состаящие
из двух-трёх пунктов. При этом, что бы по объёму строк, она
была сравнительно небольшой.
....и как пишется на Паскале, самая простая программка которая
выводит на дисплей, простенькое менюшко, в котором на клавиатуре
можно выбрать нужный пункт. Не говоря, о мыши, которая в ней и не нужна.
Ну, скажем в старом "добром" Borland Pascal эдак версии 7-ой?
....а?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.08.2009, 13:48
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru