• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите решить две задачки

darkdragon

Новые
Регистрация
8 Апр 2010
Сообщения
38
Реакции
0
Баллы
0
Помогите решить две задачки

Помогите дописать программу
она ток пол круга проезжает


program planeti;
uses graph,crt;
var d,m,x,y,xc,yc,x1,y1,r1,r2,r3:integer;
begin
xc:=320;
yc:=240;
r1:=145;
r2:=45;
r3:=10;
initgraph(d,m,'');
repeat
for x:=xc-r1 to xc+r1 do begin
y:=round(sqrt(sqr(r1)-sqr(xc-x)));;
Y:=yc-y;
circle(x,y,r3);
setfillstyle(1,14);
circle(xc,yc,r1);
circle(xc,yc,r2);
floodfill(320,240,15);
delay(50);
cleardevice;
end;
until keypressed;
end.

надо именно таким способом...через синус и косинус не надо!


и

даны учащиеся на 5 на 4 и на 3 кол-во вводим сами....нужно построить столбцовую диаграмму при этом тот столбик в котором указано наибольшеее число учащихся на ту или иную оценку должен быть на вся высоту оси Y а остальные столбики уже строить в процентном соотношении от этого!
 
Ну вот вариант первой задачи. Программа зациклена, прерывается нажатием клавиши "Esc".
Код:
program planeti;
uses graph,crt;
var
 d,m,x,y,xc,yc,x1,y1,r1,r2,r3:integer;
 Ch:char;
begin
 xc:=320;
 yc:=240;
 r1:=145;
 r2:=45;
 r3:=10;
 initgraph(d,m,'');
 setfillstyle(1,14);
 circle(xc,yc,r1);
 circle(xc,yc,r2);
 floodfill(320,240,15);
 repeat
  for x:=xc-r1 to xc+r1 do
   begin
    y:=round(sqrt(sqr(r1)-sqr(xc-x)));;
    Y:=yc-y;
    setfillstyle(1,9);
    fillellipse(x,y,r3,r3);
    delay(50);
    setcolor(0);
    setfillstyle(1,0);
    fillellipse(x,y,r3,r3);
    setcolor(15);
    circle(xc,yc,r1);
    if keypressed then
     begin
      Ch:=ReadKey;
      if Ch=#27 then 
       begin
         CloseGraph;
         halt(0);
       end;
     end;
   end;
  for x:=xc+r1 downto xc-r1 do
   begin
    y:=round(sqrt(sqr(r1)-sqr(xc-x)));;
    Y:=yc+y;
    setfillstyle(1,9);
    fillellipse(x,y,r3,r3);
    delay(50);
    setcolor(0);
    setfillstyle(1,0);
    fillellipse(x,y,r3,r3);
    setcolor(15);
    circle(xc,yc,r1);
    if keypressed then
     begin
      Ch:=ReadKey;
      if Ch=#27 then
       begin
         CloseGraph;
         halt(0);
       end;
     end;
   end;
 until 0=1;
end.

А вторая задача настолько пустяковая даже по сравнению с первой, что, полагаю, сами справитесь. Подозреваю, что Вам просто лень ее писать.
 
В данной программе не хватает присваивания параметров видеорежима перед вызовом initgraph().
В программу следует добавить одну строку вот таким образом:
r1:=145;
r2:=45;
r3:=10;
d:=detect;
initgraph(d,m,'');
 
Vladimir_S спсибо! да вторую просто не успевал сделать...поэтому попросил помочь...но уже решено!
еще раз огромное спасибо!
 
Назад
Сверху