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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2009, 00:06   #1
AFA
Пользователь
 
Регистрация: 19.04.2009
Сообщений: 69
По умолчанию Решите пожалуйста 2 задачки на Паскале!!

Помогите с задачами, очень надо!!!...
1) Составить программу, которая ведёт учёт очков, набранных каждой командой при игре в баскетбол.После любого изменения счёт выводить.После окончания игры выдать итоговое сообщение.Предусмотреть ввод названий команд в символьных и напечатать их на экране!!

2) На плоскости заданы 10 точек с координатами (4,1); (5,18); (-44;7); (19,4); (-1,1); (15,6); (66,0); (15,3); (4,0); (5,15).
Все точки последовательно соединены между собой. Найти длину полученной ломанной и среднего её звена. Какие точки отстоят от начала координат на расстоянии не более 10 единиц? Сколько отрезков имеют длину более 5 единиц??

Заранее благодарен!!!!
AFA вне форума Ответить с цитированием
Старый 20.04.2009, 01:24   #2
VadEr
Форумчанин
 
Аватар для VadEr
 
Регистрация: 24.03.2009
Сообщений: 375
По умолчанию

Задача №1: Счёт нужно вводить в ручную

Код:
Program Basket;
uses crt;
var
 c1,c2 :string;
 n1,n2,gol,i1,i2,x,y :byte;
begin
  Write('Введите название первой команды: '); Readln(c1);
  Write('Введите название второй команды: '); Readln(c2);
  clrscr;
  Writeln('                  !!!ИГРА!!!');
  Writeln;
  gol:=0; n1:=0; n2:=0;
  i1:=Length(c1); i2:=Length(c2);
  Repeat
    Writeln('                  !!!ИГРА!!!');
    Writeln; Writeln; Writeln;
    Writeln('**Команда 1 : Команда 2**');
    Writeln('*************************');
    Writeln('***',c1,'**',c2,'***');
    Writeln('***',n1:i1,'**',n2:i2,'***');
    Writeln; Writeln;
    Writeln('Какая команда забросила мяч? ');
    Writeln('Если ',c1,' нажмите "0", если ',c2,' нажмите "1"');
    Readln(x);
    Writeln;
    Writeln('Сколько очков получает команда(1, 2 или 3)?');
    Write('Введите кол-во очков и нажмите <Enter> ');
    Readln(y); {определяем победителя и плюсуем очки}
    if x=0 then n1:=n1+y else n2:=n2+y;
    if n1 > n2 then gol:=n1 else gol:=n2;
    Clrscr;
  until gol>=100; {выходим из цикла когда игроки набирают 100 очков}
  writeln('Игра завершена со счётом:');
  Writeln;
  Writeln('**Команда 1 : Команда 2**');
  Writeln('*************************');  
  Writeln('**',c1,'**',c2,'**');
  Writeln('**',n1:i1,'**',n2:i2,'**');
  Readln;
end.

Последний раз редактировалось VadEr; 20.04.2009 в 01:50.
VadEr вне форума Ответить с цитированием
Старый 20.04.2009, 01:26   #3
Allen Iverson
Пользователь
 
Аватар для Allen Iverson
 
Регистрация: 15.04.2009
Сообщений: 28
По умолчанию

про баскетбол....если все правильно понял то вот...попробуй так например...
program basketball;
uses crt;
var nazv1,nazv2:string;
i,ball_1,ball_2:integer;
x1,x2:integer;
begin
clrscr;
write ('Nazvanie pervoy komandy - ');
readln (nazv1);
write ('Nazvanie vtoroy komandy - ');
readln (nazv2);
randomize;
clrscr;
writeln (nazv1,' vs. ',nazv2,' - ',ball_1,':',ball_2);
writeln;
for i:=1 to 20 do
begin
x1:=random(3);
x2:=random(3);
{dlya pervoy komandy}
if x1=0 then
begin
ball_1:=ball_1+x1;
writeln (nazv1,' ne zabrosil');
writeln (nazv1,' vs. ',nazv2,' - ',ball_1,':',ball_2);
writeln ('Nazhmite ENTER...');
readln;
end;
if x1=1 then
begin
ball_1:=ball_1+x1;
writeln (nazv1,' zabrosil 1 ochko');
writeln (nazv1,' vs. ',nazv2,' - ',ball_1,':',ball_2);
writeln ('Nazhmite ENTER...');
readln;
end;
if x1=2 then
begin
ball_1:=ball_1+x1;
writeln (nazv1,' zabrosil 2 ochka');
writeln (nazv1,' vs. ',nazv2,' - ',ball_1,':',ball_2);
writeln ('Nazhmite ENTER...');
readln;
end;
if x1=3 then
begin
ball_1:=ball_1+x1;
writeln (nazv1,' zabrosil 3 ochka');
writeln (nazv1,' vs. ',nazv2,' - ',ball_1,':',ball_2);
writeln ('Nazhmite ENTER...');
readln;
end;
{dlya vtoroy komandy}
if x2=0 then
begin
ball_2:=ball_2+x2;
writeln (nazv2,' ne zabrosil');
writeln (nazv1,' vs. ',nazv2,' - ',ball_1,':',ball_2);
writeln ('Nazhmite ENTER...');
readln;
end;
if x2=1 then
begin
ball_2:=ball_2+x2;
writeln (nazv2,' zabrosil 1 ochko');
writeln (nazv1,' vs. ',nazv2,' - ',ball_1,':',ball_2);
writeln ('Nazhmite ENTER...');
readln;
end;
if x2=2 then
begin
ball_2:=ball_2+x2;
writeln (nazv2,' zabrosil 2 ochka');
writeln (nazv1,' vs. ',nazv2,' - ',ball_1,':',ball_2);
writeln ('Nazhmite ENTER...');
readln;
end;
if x2=3 then
begin
ball_2:=ball_2+x2;
writeln (nazv2,' zabrosil 3 ochka');
writeln (nazv1,' vs. ',nazv2,' - ',ball_1,':',ball_2);
writeln ('Nazhmite ENTER...');
readln;
end;
end;
if ball_1>ball_2 then writeln ('Pobeditel - ',nazv1);
if ball_1<ball_2 then writeln ('Pobeditel - ',nazv2);
readln;
end.
Allen Iverson вне форума Ответить с цитированием
Старый 20.04.2009, 01:27   #4
Allen Iverson
Пользователь
 
Аватар для Allen Iverson
 
Регистрация: 15.04.2009
Сообщений: 28
По умолчанию

необязательно счет вводить вручную как было ранее сказано...он генерируется в моей программе сам....
Allen Iverson вне форума Ответить с цитированием
Старый 20.04.2009, 01:36   #5
Allen Iverson
Пользователь
 
Аватар для Allen Iverson
 
Регистрация: 15.04.2009
Сообщений: 28
По умолчанию

еще в предыдущем варианте(не моем....) почему то результат не обноаляется....исправьте кто писал прогу....
Allen Iverson вне форума Ответить с цитированием
Старый 20.04.2009, 01:37   #6
Allen Iverson
Пользователь
 
Аватар для Allen Iverson
 
Регистрация: 15.04.2009
Сообщений: 28
По умолчанию

пересмотрите программу пожалуйста....она почему то не выводит у вас результат....он необновляется...
Allen Iverson вне форума Ответить с цитированием
Старый 20.04.2009, 01:50   #7
VadEr
Форумчанин
 
Аватар для VadEr
 
Регистрация: 24.03.2009
Сообщений: 375
По умолчанию

Allen Iverson, - согласен, у вас код лучше.
Незнал, что существует Randomize, теперь знаю.

У меня результат обновляется и выводится. Ошибка толко в коде:
Writeln('**',n1:i1,'**',n2:12,'**') ; где не 12, а i2 (исправил).
VadEr вне форума Ответить с цитированием
Старый 20.04.2009, 03:10   #8
VadEr
Форумчанин
 
Аватар для VadEr
 
Регистрация: 24.03.2009
Сообщений: 375
По умолчанию

Задача №2:
Код:
program Line;
const {Координаты}
  x: array[1..10] of integer = (4,5,-44,19,-1,15,66,15,4,5);
  y: array[1..10] of integer = (1,18,7,4,1,6,0,3,0,15);
var
  L: array[1..9] of real;
  i,k: byte;
  Lin: real;
begin
   Lin := 0; k := 0;
   writeln('1) Points on distance more than 10:');
   for i:=1 to 9 do
     begin
       L[i] := sqrt(sqr(x[i+1]-x[i])+sqr(y[i+1]-y[i])); {длина одной линии}
       if sqrt(sqr(x[i])+sqr(y[i]))<=10 then {если длина линии от начала координат не более 10}
          writeln('   #',i,')-> (',x[i],',',y[i],')');
       if L[i]>5 then Inc(k); {если длина линии > 5}
       Lin := Lin + L[i]; {длина ломанной линии}
     end;
   writeln('2) Length of a line: ',Lin:3);
   writeln('3) Average link of a line: ',L[5]:3);
   writeln('4) Pieces more than 5: ',k);
   readln;
end.
VadEr вне форума Ответить с цитированием
Старый 21.04.2009, 10:54   #9
AFA
Пользователь
 
Регистрация: 19.04.2009
Сообщений: 69
По умолчанию

Спасибо большое всем за помощь!!!!!
AFA вне форума Ответить с цитированием
Старый 18.01.2012, 11:42   #10
Xandero
Новичок
Джуниор
 
Регистрация: 18.01.2012
Сообщений: 1
По умолчанию

а вот можно было бы ту де самую задачу про баскетбол сделать поменьше в размерах, а то мне не поверят что я сам сделалюПрост тоже таую задачку решить надо!!!Заранее благодарен!!!
Xandero вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решите пожалуйста мои задачки (их две) matrix8325 Помощь студентам 2 20.04.2009 14:24
Решите пожалуйста задачки по паскалю darika Помощь студентам 7 28.03.2009 16:51
решите пожалуйста программу на паскале BERT Помощь студентам 4 23.01.2009 12:14
Решите задачки по паскалю пожалуйста xxxBITxxx Паскаль, Turbo Pascal, PascalABC.NET 2 20.05.2008 16:48
Решите пожалуйста на Паскале Bagsi Помощь студентам 4 30.10.2007 22:36