Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.07.2010, 09:34   #1
andresan
Пользователь
 
Регистрация: 08.11.2009
Сообщений: 33
По умолчанию перевести код паскаль в C#

напишите программу выполняющую следущие действия, с клавиатуры задаются размеры A, B прямоугольного отверстия и размеры x, y, z кирпича. Определить пройдёт ли кирпич через отверстие.
есть код в паскале
Код:
uses crt;
var a,b,x,y,z:real;
begin
writeln('введите значение A');
readln(a);
writeln('введите значение B');
readln(b);
writeln('введите значение x');
readln(x);
writeln('введите значение y');
readln(y);
writeln('введите значение z');
readln(z);
if ((x<=a) or (x<=b)) and ((y<=b) or (y<=a)) then writeln('пройдет') else
if ((x<=a) or (x<=b)) and ((z<=b) or (z<=a)) then writeln('пройдет') else
if ((z<=a) or (z<=b)) and ((y<=b) or (y<=a)) then writeln('кирпич пройдет') else writeln('кирпич не пройдет');
readln
end.
как перевести его в C#?
andresan вне форума Ответить с цитированием
Старый 12.07.2010, 09:57   #2
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

Код:
using System;
 
namespace QQ
{
    class Program
    {
        static void Main()
        {
            int a,b,x,y,z;
            Console.WriteLine("введите значение А");
            a = Convert.ToInt32( Console.ReadLine() );

            Console.WriteLine("введите значение В");
            b = Convert.ToInt32( Console.ReadLine() );

            Console.WriteLine("введите значение X");
            x = Convert.ToInt32( Console.ReadLine() );

            Console.WriteLine("введите значение Y");
            y = Convert.ToInt32( Console.ReadLine() );

            Console.WriteLine("введите значение Z");
            z = Convert.ToInt32( Console.ReadLine() );
            Console.ReadKey(true);

             if ((x<=a) || (x<=b)) && ((y<=b) || (y<=a)) Console.WriteLine("пройдет");
             else if ((x<=a) || (x<=b)) && ((z<=b) || (z<=a)) Console.WriteLine("пройдет");
             else if ((z<=a) || (z<=b)) && ((y<=b) || (y<=a)) Console.WriteLine("пройдет") else Console.WriteLine("кирпич не пройдет");
        }
    }
}
не проверял
NiCola999 вне форума Ответить с цитированием
Старый 12.07.2010, 10:05   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            double a,b,x,y,z;
            string s;
             Console.WriteLine("введите значение A");            a=Convert.ToDouble(Console.ReadLine());
             Console.WriteLine("введите значение B");            b=Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("введите значение x");            x=Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("введите значение y");            y=Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("введите значение z");            z=Convert.ToDouble(Console.ReadLine());

            if (((x<=a)||(x<=b))&&((y<=b)||(y<=a))){ Console.WriteLine("пройдет");} else
             if (((x<=a)||(x<=b)) && ((z<=b) || (z<=a))) {Console.WriteLine("пройдет");} else
              if (((z<=a) || (z<=b)) && ((y<=b) || (y<=a))) {Console.WriteLine("кирпич пройдет");} 
                    else {Console.WriteLine("кирпич не пройдет");}
            Console.ReadKey();
        }
    }
}
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.07.2010, 10:06   #4
andresan
Пользователь
 
Регистрация: 08.11.2009
Сообщений: 33
По умолчанию

Спасибо огромное!
andresan вне форума Ответить с цитированием
Старый 11.04.2011, 17:52   #5
Roman.91
Новичок
Джуниор
 
Регистрация: 01.02.2011
Сообщений: 1
По умолчанию Перевод

Пожалуйста помогите. Перевести на C# надо

unit Boules;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ExtCtrls,variables ;

procedure nouvelle_position(n:integer); {calcule tout }
procedure collision(n1,n2 :integer); {calcul des vitesses aprиs chocs}
procedure bande(n:integer);


implementation

procedure nouvelle_position(n:integer);
var i,j:integer;
begin
boule[n].xold := boule[n].x;
boule[n].yold := boule[n].y;


for i:=1 to 16 do
if boule[i].etat<>0 then
begin
bande(i);trou(i);
for j:=i+1 to 16 do
begin
if boule[j].etat<>0 then
begin
if test_collision(i,j) then
begin
collision(i,j);
{si collision on assigne la couleur de la premiйre boule touchйe}
if casse then
begin
if (i=1) and (jr[main].first=clblue) then jr[main].first:=boule[j].couleur;
if (j=1) and (jr[main].first=clblue) then jr[main].first:=boule[i].couleur;
end
else casse:=true;
end;
end;
end;

boule[n].x:=boule[n].xold+boule[n].vx;
boule[n].y:=boule[n].yold+boule[n].vy;
end;
ralentir(n);

end;

function test_collision(n1,n2:integer):boole an; {renvoie vrai s'il y collision entre les deux boules, sinon renvoie non}
var dx,dy,dx2,dy2:single;
begin
dx:=(boule[n1].x+boule[n1].vx-boule[n2].x-boule[n2].vx); {ecart sur x entre les 2 boules}
dy:=(boule[n1].y+boule[n1].vy-boule[n2].y-boule[n2].vy);{ecart sur y}
dx2:=(boule[n1].x-boule[n2].x);
dy2:=(boule[n1].y-boule[n2].y);
if ((dx*dx+dy*dy)<={390}324) and ((dx2*dx2+dy2*dy2)>=320) {formule de pythagore}
then result:=true
else result:=false;
end;

function test_collision2(n1,n2:integer):bool ean; {renvoie vrai s'il y collision entre les deux boules, sinon renvoie non}
var dx,dy:single;
begin
dx:=(boule[n1].x-boule[n2].x); {ecart sur x entre les 2 boules}
dy:=(boule[n1].y-boule[n2].y); {acart sur y}
if (dx*dx+dy*dy)<={390}320 {formule de pythagore}
then result:=true
else result:=false;
end;


procedure collision(n1,n2 :integer);
var dy,dx,v1x,v1y,v2x,v2y,a,stock:singl e;

begin
if test_collision2(n1,n2) then begin stock:=boule[n1].vx;
boule[n1].vx:=boule[n2].vx*3/4+stock*1/4;
boule[n2].vx:=stock*3/4+boule[n2].vx*1/4;
stock:=boule[n1].vy;
boule[n1].vy:=boule[n2].vy*3/4+stock*1/4;
boule[n2].vy:=stock*3/4+boule[n2].vy*1/4
end;

if test_collision(n1,n2) then
dx:=(boule[n1].x+boule[n1].vx-boule[n2].x-boule[n2].vx); {idem}
dy:=(boule[n1].y+boule[n1].vy-boule[n2].y-boule[n2].vy); {idem}
a:=arctan(dy/(dx+0.00000001)); {angle formй par l'axe passant par les centres des boules et l'axe x}
v1x:=boule[n1].vx; {0.000000001 pour enlever la division par 0}
v2x:=boule[n2].vx;
v1y:=boule[n1].vy;
v2y:=boule[n2].vy;
{nouvelles vitesses donnйes par les relations simplificatrices des chocs entre boules}
boule[n1].vx:=(v2x*cos(a)+v2y*sin(a))*cos(a) +(v1x*sin(a)-v1y*cos(a))*sin(a) ;
boule[n1].vy:=(v2x*cos(a)+v2y*sin(a))*sin(a) +(-v1x*sin(a)+v1y*cos(a))*cos(a) ;
boule[n2].vx:=(v1x*cos(a)+v1y*sin(a))*cos(a) +(v2x*sin(a)-v2y*cos(a))*sin(a) ;
boule[n2].vy:=(v1x*cos(a)+v1y*sin(a))*sin(a) +(-v2x*sin(a)+v2y*cos(a))*cos(a) ;
end;

procedure bande(n:integer);
var a,xx,yy:single;
begin
xx:=boule[n].x+boule[n].vx;
yy:=boule[n].y+boule[n].vy;
{bandes horizontales}
if (( (xx>=xb) and (xx<=xc) ) or ( (xx>=xd) and (xx<=xe) )) and ( (yy<=yb) or (yy>=yk) )
then boule[n].vy:=-boule[n].vy;

{bandes verticales}
if ( (yy>=ya) and (yy<=yl) and ( (xx<=xa) or (xx>=xf) ) )
or ( (((xx>=xc) and (xx<=xcp)) or ((xx>=xdp) and (xx<=xd))) and ((yy<=ycp) or (yy>=yjp)) )
then boule[n].vx:=-boule[n].vx;

{droites а 45 degrй montantes}
if ( (xx+yy<=xc+yb) and (xx>=xc) and (yy>=ycp) )
or ( (xx+yy>=xd+yk) and (xx<=xd) and (yy<=yjp) )
or ( (xx+yy<=xa+yl) and (yy>=yl) )
or ( (xx+yy>=xb+yk) and (xx<=xb) )
or ( (xx+yy<=xe+yb) and (xx>=xe) )
or ( (xx+yy>=xf+ya) and (yy<=ya) )
then begin a:=boule[n].vx;
boule[n].vx:=-boule[n].vy;
boule[n].vy:=-a;
exit
end;

{droites а 45 degrйs descendantes}
if ( (xx-xd>=yy-yb) and (xx<=xd) and (yy>=ycp) )
or ( (xx-xc<=yy-yk) and (xx>=xc) and (yy<=yjp) )
or ( (xx-xa<=yy-ya) and (yy<=ya) )
or ( (xx-xb>=yy-yb) and (xx<=xb) )
or ( (xx-xe<=yy-yk) and (xx>=xe) )
or ( (xx-xf>=yy-yl) and (yy>=yl) )
then begin a:=boule[n].vx;
boule[n].vx:=boule[n].vy;
boule[n].vy:=a;
exit
end;
end;
Roman.91 вне форума Ответить с цитированием
Старый 20.10.2013, 21:46   #6
serzmerz
 
Регистрация: 20.10.2013
Сообщений: 7
По умолчанию Переведите код паскаль в С#, очень нужно.

program pr1_9;
uses crt;
var
mas: array[1..100] of integer ;
n,i,j,k: integer;
begin
clrscr;

writeln('Bvedite kol elementov posled (ne bolshe 100); ');
read(n);

writeln('Bvedite posledov');
for i:=1 to n do
read(mas[i]);

k:=0;
for j:=1 to 20 do
for i:=1 to n do
if (mas[i]=(2*j*2*j) ) then k:=k+1;

writeln('Kol = ',k);
readln;
readln;
end.
serzmerz вне форума Ответить с цитированием
Старый 20.10.2013, 21:51   #7
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

вы читали название форума?
читайте - "Помощь студентам", ну и где тут "Сделаем за студента"
eval вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевести код на C++ mela Помощь студентам 3 01.06.2010 22:35
Перевести код с VB на C# LT. Общие вопросы .NET 2 25.05.2010 19:21
Перевести код на Делфи Superlotles Помощь студентам 7 30.03.2010 20:18
Перевести код с Pascal в C++ gigaman Общие вопросы C/C++ 1 26.03.2008 12:18