Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Паскаль] 3 сложные задачи!!!


Автор: Dark89 9.12.2007, 20:20
Ребята помогите очень надо решить задачки я сам не бум бум пожалуйста решите если не трудно!!! (их сдаю вместо сессии)

1) Первая задача:
    Программа. Дана последовательность литер, имеющая следующий вид: d1+-d2+-...+-dn (di -цифры, n>1) за которой следует точка.           Вычислить значение этой алгебраической суммы.

2) Вторая задача:
    Вычислить К-количество точек с целочисленными координатами, пападающих в круг радиуса R (R>0) с центром в начале кординат.

3) Третья задача:
    kurs=(N,E,S,W)
    prikaz=(vpered,vpravo,nazad,vlevo)
    var K1,K2:kurs; pr:prikaz;
    Корабль сначала шел по курсу K1, а затем ег окурс был изменен согласно приказу pr. Определить K2- новый курс корабля.
    Я уже начал делать данную программу,нуждаюсь в ее продолжении,вот ее код:

Program ggas;
uses CRT;
type
  kurs=(N,E,S,W);
  prikaz=(vpered,vpravo,nazad,vlevo);
var
   K1,K2:kurs;
   pr:prikaz;
   i,a,c:integer;
begin
   clrscr;
    K1:=W;
    pr:=nazad;
    i:=ord(K1);
    a:=ord(pr);
end.

Автор: likehood 9.12.2007, 21:00
Цитата(Dark89 @  9.12.2007,  20:20 Найти цитируемый пост)
 имеющая следующий вид: d1+-d2+-...+-dn 

странно, зачем нужны плюсы, если по законам алгебры их можно убрать.

во второй задаче: берешь квадрат с центром в нач. коорд. и длиной = R и проверяешь каждую целую точку в этом квадрате: если расстояние до нач. коорд. <= R, то плюсуешь эту точку к общему числу. Вроде довольно просто.

по третей задаче: можно заранее (на бумаге) посчитать матрицу 4х4, где столбец - курс, строка - комманда, а значение элемента матрицы - новый курс.

Автор: Dark89 9.12.2007, 22:20
По возможности напишите решение задач я просто не знаю как решать и че писать!!!

Автор: likehood 9.12.2007, 22:51
вторая задача:
Код

program prog2;

var
    R: double;
    x, y: integer;
    N, d: integer;

Begin
    Write('Enter radius: ');
    ReadLn(R);
    d := trunc(R);
    for x:=-d to d do
        for y:=-d to d do
            if sqrt(x*x+y*y) <= R then
                inc(N);
    WriteLn('Number of points is ', N);
End.

Автор: Dark89 10.12.2007, 21:59
За вторую огромное спасибо а вот с первой никто не поможет............а то вообще никак не могу smile 

Автор: Rodman 11.12.2007, 10:15

M
Rodman
Модератор: Пожалуйста, один топик - один вопрос.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)