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

Перевести с Pasal на C#

19.02.2019, 09:12. Показов 444. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно перевести с Паскаля на #C

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
program pr4_2_2; 
var 
n,n2,per,sum,usl,min:longint; 
pos:word; 
begin 
n:=1;
writeln(' Для окончания ввода ,напишите "0" '); 
writeln(' Введите n.'); 
readln(n2); 
min:=n2; 
sum:=sum+n2; 
per:=n2; 
 
while (per>10) do 
per:=per div 10; 
if (per=2) then usl:=usl+1; 
while (n<>0) do 
begin 
writeln('Введите n.'); 
readln(n); 
if (n<min) and (n<>0) then min:=n; 
sum:=sum+n; 
per:=n; 
while (per>10) do 
per:=per div 10; 
if (per=2) then usl:=usl+1; 
end; 
writeln(' ~Сумма всех чисел~ — ',sum); 
writeln(' ~Сумма чисел, которые  удовлетворяют условию~ — ',usl); 
writeln(' ~Самое минимальное веденное число~ — ',min); 
end.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.02.2019, 09:12
Ответы с готовыми решениями:

Перевести фиолетовый (105, 62, 151) из RGB в HSB, уменьшить яркость в 2 раза и перевести обратно
Помогите пожалуйста! Перевести фиолетовый (105, 62, 151) из RGB в HSB, уменьшить яркость в 2 раза и перевести обратно

QString перевести в char* || QChar перевести в char*
Подскажите пожалуйста как сделать: Исходники в utf-8, qt4.8 setlocale(LC_ALL, &quot;Russian&quot;); QTextCodec *wincodec =...

Как презентации SWF флэш сайта перевести в HTML5 с сохранением эфектов ) Как правильно и полноценно Перевести SWF в HTML5
программа Sothink SWF Decompiler конвертирует SWF файл в HTML5 разбивая его на HTML и JS ...но она тянет только файл 15kb ...это очень...

5
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
19.02.2019, 09:57
Самый простой способ - декомпилировать. И посмотреть во что на C# развернётся этот код на Паскале.

Добавлено через 3 минуты
Только будет некрасивый код.

Добавлено через 6 минут
C#
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
// Decompiled with JetBrains decompiler
// Type: ToDecompile.Program
// Assembly: ToDecompile, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: E323FCB6-C866-4D2F-974F-2AEF7C133EFD
// Assembly location: C:\Users\Windows\YandexDisk\Программирование\.NET языки\PascalABC.Net\ToDecompile.exe
// Compiler-generated code is shown
 
namespace ToDecompile
{
  public class Program
  {
    public static void Main()
    {
      pr4_2_2.pr4_2_2.\u0024_Init_();
      pr4_2_2.pr4_2_2.\u0024_InitVariables_();
      pr4_2_2.pr4_2_2.\u0024Main();
      PABCSystem_implementation______.PABCSystem_implementation______.\u0024Finalization();
    }
 
    public Program()
    {
      base.\u002Ector();
    }
  }
}
C#
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
94
// Decompiled with JetBrains decompiler
// Type: pr4_2_2.pr4_2_2
// Assembly: ToDecompile, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: E323FCB6-C866-4D2F-974F-2AEF7C133EFD
// Assembly location: C:\Users\Windows\YandexDisk\Программирование\.NET языки\PascalABC.Net\ToDecompile.exe
// Compiler-generated code is shown
 
namespace pr4_2_2
{
  [\u0024GlobAttr]
  public class pr4_2_2
  {
    public static int n;
    public static int n2;
    public static int per;
    public static int sum;
    public static int usl;
    public static int min;
    public static ushort pos;
    public static object[] \u0024intarr1;
    public static object[] \u0024intarr2;
    public static object[] \u0024intarr3;
    public static object[] \u0024intarr4;
    public static object[] \u0024intarr5;
    public static object[] \u0024intarr6;
    public static object[] \u0024intarr7;
    public static object[] \u0024intarr8;
    public static object[] \u0024intarr9;
    public static object[] \u0024intarr10;
    public static object[] \u0024intarr11;
    public static object[] \u0024intarr12;
    public static object[] \u0024intarr13;
    public static object[] \u0024intarr14;
    public static object[] \u0024intarr15;
    public static object[] \u0024intarr16;
    public static object[] \u0024intarr17;
    public static object[] \u0024intarr18;
    public static bool \u0024is_init;
 
    public static void \u0024Main()
    {
      pr4_2_2.pr4_2_2.n = 1;
      PABCSystem.PABCSystem.Writeln((object) " Для окончания ввода ,напишите \"0\" ");
      PABCSystem.PABCSystem.Writeln((object) " Введите n.");
      PABCSystem.PABCSystem.Read(ref pr4_2_2.pr4_2_2.n2);
      PABCSystem.PABCSystem.Readln();
      pr4_2_2.pr4_2_2.min = pr4_2_2.pr4_2_2.n2;
      pr4_2_2.pr4_2_2.sum += pr4_2_2.pr4_2_2.n2;
      pr4_2_2.pr4_2_2.per = pr4_2_2.pr4_2_2.n2;
      while (pr4_2_2.pr4_2_2.per > 10)
        pr4_2_2.pr4_2_2.per /= 10;
      if (pr4_2_2.pr4_2_2.per == 2)
        ++pr4_2_2.pr4_2_2.usl;
      while (pr4_2_2.pr4_2_2.n != 0)
      {
        PABCSystem.PABCSystem.Writeln((object) "Введите n.");
        PABCSystem.PABCSystem.Read(ref pr4_2_2.pr4_2_2.n);
        PABCSystem.PABCSystem.Readln();
        if ((pr4_2_2.pr4_2_2.n >= pr4_2_2.pr4_2_2.min ? 0 : 1 & (pr4_2_2.pr4_2_2.n != 0 ? 1 : 0)) != 0)
          pr4_2_2.pr4_2_2.min = pr4_2_2.pr4_2_2.n;
        pr4_2_2.pr4_2_2.sum += pr4_2_2.pr4_2_2.n;
        pr4_2_2.pr4_2_2.per = pr4_2_2.pr4_2_2.n;
        while (pr4_2_2.pr4_2_2.per > 10)
          pr4_2_2.pr4_2_2.per /= 10;
        if (pr4_2_2.pr4_2_2.per == 2)
          ++pr4_2_2.pr4_2_2.usl;
      }
      PABCSystem.PABCSystem.Writeln((object) " ~Сумма всех чисел~ — ", (object) pr4_2_2.pr4_2_2.sum);
      PABCSystem.PABCSystem.Writeln((object) " ~Сумма чисел, которые  удовлетворяют условию~ — ", (object) pr4_2_2.pr4_2_2.usl);
      PABCSystem.PABCSystem.Writeln((object) " ~Самое минимальное веденное число~ — ", (object) pr4_2_2.pr4_2_2.min);
    }
 
    public static void \u0024_Init_()
    {
      if (pr4_2_2.pr4_2_2.\u0024is_init)
        return;
      pr4_2_2.pr4_2_2.\u0024is_init = true;
      PABCSystem.PABCSystem.IsConsoleApplication = true;
      PABCSystem.PABCSystem.__CONFIG__.Add("locale", (object) "ru");
      PABCSystem.PABCSystem.__CONFIG__.Add("full_locale", (object) "ru-RU");
      PABCSystem_implementation______.PABCSystem_implementation______.\u0024Initialization();
      PABCExtensions_implementation______.PABCExtensions_implementation______.\u0024Initialization();
    }
 
    public static void \u0024_InitVariables_()
    {
    }
 
    public pr4_2_2()
    {
      base.\u002Ector();
    }
  }
}
Но, так лучше не делать. Сами видите - ужас.



Добавлено через 31 секунду
Использовал DotPeek.

Добавлено через 1 минуту
Для компиляции использовал PascalABC.NET.
1
0 / 0 / 0
Регистрация: 03.12.2018
Сообщений: 12
19.02.2019, 09:58  [ТС]
Ну так действительно "ужас", учитывая, что я мало разбираюсь в этом) Но все же спасибо.
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
19.02.2019, 10:04
koesmen, я к чему это. Переходите на C#. И будет Вам счастье.

Добавлено через 3 минуты

Не по теме:

Хотя, наверное, паскалисты меня тапками после этого поста закидают, мол PascalABC.NET - шикарен.

1
Заблокирован
19.02.2019, 10:30
koesmen, не проще рассказать задачу? исходный код ужос

Добавлено через 16 минут
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
                Console.WriteLine("Окончание ввода n=0");
        int n, min, sum, usl;
        min = sum = usl = 0;
        bool first = true;
        do
        {
            Console.Write("Введите n: ");
            int.TryParse(Console.ReadLine(), out n);
            if (n != 0)
            {
                if (first) min = n;
                else
                    if (min > n) min = n;
                sum += n;
                if (n.ToString()[n < 0 ? 1 : 0] == '2') usl++;
                first = false;
            }
        } while (n != 0);
        Console.WriteLine(" ~Сумма всех чисел~ — {0}", sum);
        Console.WriteLine(" ~Сумма чисел, которые  удовлетворяют условию~ —  {0}", usl);
        if(!first)
            Console.WriteLine(" ~Самое минимальное веденное число~ —  {0}", min);
        Console.ReadKey();
0
0 / 0 / 0
Регистрация: 03.12.2018
Сообщений: 12
19.02.2019, 12:10  [ТС]
CoderPC, вообще все верно, спасибо за помощь. А так я тоже подумал написать задачу, но вылетело из головы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.02.2019, 12:10
Помогаю со студенческими работами здесь

Текстовый файл перевести в двоичный, а потом полученный двоичный файл перевести обратно в текстовый
Всем привет. Есть такая задачка: &quot;текстовый файл перевести в двоичный, а потом полученный двоичный файл перевести обратно в текстовый&quot;...

Перевести с С++
#include&lt;iostream&gt; #include&lt;cstdio&gt; #include&lt;cstring&gt; using namespace std; int n; int main() { while (scanf_s(&quot;%d&quot;, &amp;n)...

Перевести из C++ в C
в архиве игра, которую и нужно перевести в C

перевести на C++)
Помогите перевести на C++, или скажите почему если ввожу 3, то бесконечные +++++, а остальные числа всё верно?(задание что добавить + и - к...

Перевести с С++ в С
Кто может помочь перевести с С++ в С? Буду очень признателен #include &lt;iostream&gt; #include &lt;string&gt; #include...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru