Перевести код с C++ - Free Pascal (101)
Формулировка задачи:
У меня есть код программы на C++, помогите написать такой же на паскале пожалуйста)
P.S Преобразовывать код не надо, просто помогите перевести это на Pascal)
P.S/ P.S: Заранее очень благодарен
#pragma once
#include <iostream>
#include <stdio.h>
#include <locale.h>
using namespace std;
int y,i,p,v,A[1000],B[1000],l;
bool prost(int x)
{
bool k;
int i;
k=true;
for (i=2;i<=x/2;i++)
if (x % i == 0)
k=false;
return(k);
}
int main()
{
setlocale( LC_ALL,"Russian" );
cout<<"Введите первое число: "<<endl;
cin>>p;
cout<<"Введите второе число: "<<endl;
cin>>v;
y=p;
for (i=p;i<=v;i++)
{
A[i]=y;
y=y+1;
}
l=1;
for (i=p;i<=v;i++)
if (prost(A[i])==true)
{
B[l]=A[i];
l=l+1;
}
for (i=2;i<=l;i++)
if (B[i]-B[i-1]==2)
cout<<"Пара близнецов: "<<B[i-1]<<" "<<B[i]<<endl;
}Решение задачи: «Перевести код с C++»
textual
Листинг программы
type
color=(red,white,magenta,dark_blue,green,brown,cyan,black);
rgb=record
r,g,b:real;
end;
var
colors:array[color] of rgb=((r:1; g:0; b:0),
(r:1; g:1; b:1),
(r:1; g:0; b:1),
(r:0; g:0; b:0.5),
(r:0; g:1; b:0),
(r:0.5;g:0.5;b:0),
(r:0; g:1; b:1),
(r:0; g:0; b:0));
begin
{glColor3f(
colors[color].r,
colors[color].g,
colors[color].b); //что это такое я не знаю}
writeln(colors[black].r:5:0,colors[black].g:5:0,colors[black].g:5:0);
end.
Объяснение кода листинга программы
- Объявлен тип данных
color, который представляет собой перечисление возможных цветов. - Объявлен тип данных
rgb, который представляет собой запись с полямиr,gиbдля хранения значений цвета. - Объявлена переменная
colorsтипаarray[color] of rgb, которая содержит массив значений цветов. - Каждый элемент массива
colorsинициализируется значением цвета. - В строке кода
glColor3f(colors[color].r, colors[color].g, colors[color].b);используется функцияglColor3fдля установки цвета, где аргументами являются значенияr,gиbиз соответствующего элемента массиваcolors. - В строке кода
writeln(colors[black].r:5:0,colors[black].g:5:0,colors[black].b:5:0);выводится значениеr,gиbдля цветаblack.