Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
sQyOs
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 13
#1

Надо переписать код C++ на Pascal - Turbo Pascal

22.05.2012, 01:53. Просмотров 444. Ответов 4
Метки нет (Все метки)

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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
#include <iostream>
#include <math.h>
#include <vector>
using namespace std;
vector<double> a, x, y, xx, p, tp, ksi;
vector<int> d;
 
int n, x0;
 
int seed(int x)
{
    x0 = x;
    return x0;
}
 
int rand_i()
{
    int a = 21404, c = 253565757;
    int m = pow(2.0, 32);
    int x;
 
    x = (a*x0 + c) % m;
    if(x < 0) 
        x *= -1;
    x0 = x;
 
    return x;
}
 
double rand_f()
{
    double a1 = 8, c1 = 65, y;
    int m = 100000;
 
    y = (int) (a1*x0 + c1) % m;
    x0 = y;
 
    return y / (double) m;
}
 
double RavnQuant(double x, double alpha, double beta)       // равномерное
{
    return alpha + (beta - alpha) * x;
}
 
double NormQuant(double z1, double z2, double s, double Mx, double Dx)      // нормальное 
{
    double x1;
    x1 = z1 * sqrt(2 * log(s) / s);
    return x1*Dx + Mx;
}
 
double ExpQuant(double x)      // экспоненциальное
{
    double lambda = 0.5;
    return log(1 - x) / (-lambda);
}
 
int DiskretQuant(double y)      // дискретное
{
    d.resize(5);
    p.resize(5);
    d[0] = 1; d[1] = 2; d[2] = 3; d[3] = 4; d[4] = 5;
    p[0] = 0.05; p[1] = 0.3; p[2] = 0.1; p[3] = 0.5; p[4] = 0.05;
    if (y > 0 && y <= 0.05)
        return d[0];
    else
        if (y > 0.05 && y <= 0.35)
            return d[1];
        else
            if (y > 0.35 && y <= 0.45)
                return d[2];
            else
                if (y > 0.45 && y <= 0.95)
                    return d[3];
                    else
                        if (y > 0.95 && y <= 1.0)
                            return d[4];
}
 
double F(double x, double alpha, double beta)
{
    return (x - alpha) / (beta - alpha);
}
 
int main()
{
    int i;
    double S;
 
    /////////// X^2 ////////////////////////////////
    int r = 0, k;
    double xi = 0, alpha = 1, beta = 1000;
    printf("Enter count of number = ");
    scanf("%d", &n);
    ksi.resize(n);
    x.resize(n);
    printf("\n");
    for(i = 0; i < n; i++)
    {
        ksi[i] = rand_f();
        printf("%0.3f ", ksi[i]);
        x[i] = RavnQuant(ksi[i], alpha, beta);
    }
    printf("\n");
    for(i = 0; i < n; i++)
        printf("%0.3f ", x[i]);
    printf("\n\n");
    printf("Enter count of groups = ");
    scanf("%d", &k);
    printf("\n");
    p.resize(k);
    tp.resize(k);
    xx.resize(k);
    a.resize(k+1);
    for(i = 0; i < k; i++)
    {
        p[i] = 0;
        a[0] = alpha;
        a[i+1] = a[i] + (beta - alpha) / k;
    }
    for(i = 0; i < n; i++)
        for(int j = 0; j < k; j++)
            if(x[i] >= a[j] && x[i] < a[j+1])
                p[j] += 1;
            else
                p[j] += 0;
    printf("Experimental p\n");
    for(i = 0; i < k; i++) {
        p[i] /= n;
        printf("%0.3f ", p[i]);
    }
    printf("\n");
    for(i = 0; i < k; i++)
    {
        tp[i] = F(a[i+1], alpha, beta) - F(a[i], alpha, beta);
    }
    printf("Teoretical p\n");
    for(i = 0; i < k; i++)
        printf("%0.2f ", tp[i]);
    printf("\n");
    for(i = 0; i < k; i++) {
        xi += pow(p[i] - tp[i], 2) / tp[i];
    }
    xi *= n;
    printf("\nX^2 = %0.3f", xi);
    printf("\n\n");
 
    return 0;
}

http://www.cyberforum.ru/turbo-pascal/thread1446349.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.05.2012, 01:53
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Надо переписать код C++ на Pascal (Turbo Pascal):

Переписать код с C# на pascal
using System; public class Test { public static void Main() { //...

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

Переписать задачу на Pascal
Товарищи, пожалуйста помогите переписать задачи с С++ на Pascal. Хотя бы...

Переписать программу с Basic на Pascal
Доброго времени суток! Перепишите, пожалуйста, программу на Паскаль... Я не...

срочно надо сдать контрольную Pascal !!
Помогите пожалуйста осталась неделя до сдачи контрольной ! 2е задачи сам смог...

4
Demsol
43 / 43 / 14
Регистрация: 16.11.2011
Сообщений: 125
22.05.2012, 12:59 #2
Напомните завтра в личку, займусь этим, сегодня просто времени нет
0
sQyOs
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 13
23.05.2012, 04:37  [ТС] #3
Demsol, Не могу найти как на этом форуме отправлять личные сообщения...
0
ermolay
3430 / 2369 / 2131
Регистрация: 04.12.2011
Сообщений: 3,965
23.05.2012, 09:52 #4
Цитата Сообщение от sQyOs Посмотреть сообщение
Demsol, Не могу найти как на этом форуме отправлять личные сообщения...
рядом с ником Demsol маленький белый треугольник, нажать на него - всплывает менюшка
0
sQyOs
0 / 0 / 0
Регистрация: 22.05.2012
Сообщений: 13
23.05.2012, 10:53  [ТС] #5
ermolay, в треугольничек заглянул в первую очередь и там после других поисков перетыкал всё, но так и не нашел как отправить ЛС
0
23.05.2012, 10:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.05.2012, 10:53
Привет! Вот еще темы с решениями:

Pascal надо работать с файлами из интернета
Вообщем вот такая задача мне надо работать с файлами из интернета в Борланд...

Мне лишь нужно переписать эту задачу из С# на язык Pascal.
private string Programm(string input, string progress) { var result = input;...

Переписать код с использованием подпрограмм
Мне тут помог модер &quot;КонецСвета&quot; написать, но теперь нужно написать с...

Переписать код без Function
program p; function prost(a:integer):boolean; var i:integer; begin...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru