Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 11.06.2023
Сообщений: 3

Pascal в c#

11.06.2023, 19:47. Показов 813. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, знает кто хорошо синтаксис с#?) не получается код перевести с паскаля на c#
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
VAR 
s: string; 
 
function LastPos(s,s1: string): integer; 
var i: integer; 
begin 
for i := length(s)-length(s1)+1 downto 1 do 
if copy(s,i,length(s1))=s1 
then begin 
LastPos := i; 
exit; 
end; 
LastPos := 0; 
end; 
 
BEGIN 
Writeln(LastPos('утро', 'ро')); 
END.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.06.2023, 19:47
Ответы с готовыми решениями:

Turbo Pascal, Pascal ABC, Free Pascal, PascalABC.NET - в чем разница?
Всем привет, решил изучать Паскаль, но на форуме увидел 4 его версии - Turbo Pascal, Pascal ABC, Free Pascal, PascalABC.NET и не понял, в...

Не знаю как соединить программу с меню! Turbo Pascal 7.0(pascal ABC)
Добавлено через 18 часов 2 минуты Посидел, подумал...сделал...8-)

Нужно перевести код из Turbo Pascal в Pascal ABC.NET
Доброго времени суток. На форуме находил похожие темы, но к сожалению так и не смог разобраться. Помогите пожалуйста перевести код из Turbo...

10
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3430 / 2749 / 575
Регистрация: 04.09.2018
Сообщений: 8,633
Записей в блоге: 3
11.06.2023, 20:04
Цитата Сообщение от maks54313 Посмотреть сообщение
кто хорошо синтаксис с#?
Может, кто хорошо знает синтаксис Pascal?

Здесь кривая функция, которая вернет порядковый номер вхождения первого символа из s1 в исходной строке.

Добавлено через 10 минут
Вернее, начало вхождения подстроки s1 в исходной строке.
Pascal
1
s: string;
вот это тут совершенно не нужно.
0
0 / 0 / 0
Регистрация: 11.06.2023
Сообщений: 3
11.06.2023, 20:08  [ТС]
нет, синтаксис c#) этот код пытаюсь перевести на с#
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3430 / 2749 / 575
Регистрация: 04.09.2018
Сообщений: 8,633
Записей в блоге: 3
11.06.2023, 20:18
Лучший ответ Сообщение было отмечено maks54313 как решение

Решение

Цитата Сообщение от maks54313 Посмотреть сообщение
пытаюсь перевести на с#
А что тут переводить - одна строка будет.
Цитата Сообщение от maks54313 Посмотреть сообщение
нет, синтаксис c#
Ты в ветке языка C#, поэтому явно тех, кто в нем разбирается здесь много народу. А вот паскаль мало кто здесь знает - они тусуются в своем разделе. Так что правильнее все же спросить кто понимает паскаль для перевода в шарпы.

Добавлено через 6 минут
держи:
C#
1
int Foo(string s, string s1) => s.IndexOf(s1) + 1;
C#
1
2
Console.WriteLine(Foo("утро", "ро"));   //3
Console.WriteLine(Foo("утро", "рт"));   //0
3
 Аватар для roach1967
983 / 463 / 233
Регистрация: 27.06.2014
Сообщений: 1,033
12.06.2023, 11:27
Цитата Сообщение от wizard41 Посмотреть сообщение
Вернее, начало вхождения подстроки s1 в исходной строке.
Небольшое уточнение - индекс последнего совпадения:
C#
1
int Foo(string s, string s1) => s.LastIndexOf(s1) + 1;
потому что поиск начинается с конца строки
P.S. и прибавление единицы не нужно, так как в паскале нулевой символ строки - это длина строки и получается, индексация с 1, а в c# индексация символов с 0
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3430 / 2749 / 575
Регистрация: 04.09.2018
Сообщений: 8,633
Записей в блоге: 3
12.06.2023, 11:38
Цитата Сообщение от roach1967 Посмотреть сообщение
Небольшое уточнение
Да, согласен.

Добавлено через 3 минуты
Цитата Сообщение от roach1967 Посмотреть сообщение
прибавление единицы не нужно
Нужно, т.к. ТС хочет получить порядковый номер начала вхождения, а не индекс.
0
 Аватар для roach1967
983 / 463 / 233
Регистрация: 27.06.2014
Сообщений: 1,033
12.06.2023, 11:42
Цитата Сообщение от wizard41 Посмотреть сообщение
кривая
Вроде как рабочая, и выполняет именно так, как называется:
начиная с индекса, отстоящего от конца на длину искомой строки сравниваются строки: искомая и копия, начиная с индекса и длиной, равной искомой. Как только совпадение, прерывается выполнение функции с возвратом найденного индекса.
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3430 / 2749 / 575
Регистрация: 04.09.2018
Сообщений: 8,633
Записей в блоге: 3
12.06.2023, 11:44
Цитата Сообщение от roach1967 Посмотреть сообщение
Вроде как рабочая
Она рабочая, а "кривая" потому что можно написать попроще без лишних движений.
0
 Аватар для roach1967
983 / 463 / 233
Регистрация: 27.06.2014
Сообщений: 1,033
12.06.2023, 11:48
А в паскале нет функции поиска именно последнего совпадения. Поэтому приходится ещё и не так изголяться....
0
Эксперт JavaЭксперт по электроникеЭксперт .NET
 Аватар для wizard41
3430 / 2749 / 575
Регистрация: 04.09.2018
Сообщений: 8,633
Записей в блоге: 3
12.06.2023, 11:53
Цитата Сообщение от roach1967 Посмотреть сообщение
в паскале нет функции поиска
Я знаю что нет. Писали мы эти поиски тоже, но помнится попроще "изголения" были. Лет 20 уж прошло..
1
Модератор
Эксперт CЭксперт С++
 Аватар для Volga_
5209 / 2927 / 1509
Регистрация: 14.12.2018
Сообщений: 5,267
Записей в блоге: 1
12.06.2023, 12:33
roach1967, вроде в Free Pascal есть функция RPos() для поиска именно последнего совпадения.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.06.2023, 12:33
Помогаю со студенческими работами здесь

Нужно перевести программу с Turbo Pascal в Pascal ABC.NET
Вот есть программный код , но он для турбо паскаля, помогите перевести его в АБС.NET Program graphics; uses graph; var...

Различия трансляторов Pascal ABC.Net и Turbo/Borland Pascal
Пожалуйста, объясните различия между компиляторами Pascal ABC.Net и Turbo/Borland Pascal

Список слов распечатать в алфавитном порядке. В Turbo Pascal или Pascal ABC
Дана непустая последовательность слов, в каждом из которых содержится от 1 до 6 заглавных латинских букв; соседние слова разделены запятой,...

Нужно перевести код с Pascal ABC на Turbo Pascal - рисование работающей мельницы
Вот код, он должен рисовать работающею мельницу. uses graphABC,crt; type point=record x,y:integer; end; ...

Есть ли аналог модуля tpdate.tpu (Turbo Pascal) для Free Pascal
Внимание! Нужно срочно узнать название юнита для freepascal, который выполняет функции tpdate.tpu для турбопаскаля!!! Помогите!!!


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru