2 / 2 / 0
Регистрация: 27.02.2010
Сообщений: 7
1

Написать программу, которая выводит на экран изображение работающего светофора

06.04.2010, 19:59. Показов 10568. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите решить что-нибудь из этого)) а лучше всё если можно.

1.написать программу, которая выводит на экран изображение работающего светофора:
Красный==> красный и желтый ==> зеленый ==> мигающий зеленый.так в цикле

2.Написать программу, которая выводит на экран график функции y=2sin(x)e^(x/5)

3. Написать программу, которая вычерчивает на экране узор из 1-- окружностей случайного диаметра и цвета.

4.Написать программу, которая выводит на экран гистограмму успеваемости учеников класса, на пример по итогам контрольной работы. Исходные данные следует ввести в алфавитно-цифровом режиме работы. Рекомендуемый вид экрана:
Введиет данные:
пятерок - 5
четверок 10
троек - 5
двоек - 5

Вывести диаграмму типа такой


30%
| | 20%
| | | |
| | | |
|_|___|_|_____ и тд...

Добавлено через 50 минут
Помогите пожалуйста

Добавлено через 3 часа 37 минут
напишите плиз как это все описать хотябы
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.04.2010, 19:59
Ответы с готовыми решениями:

Написать программу, которая выводит на экран изображение четырехугольной звезды
Написать программу, которая выводит на экран изображение четырехугольной звезды на желтом фоне....

Написать программу, которая выводит на экран произвольное графическое изображение
Написать программу, которая выводит на экран произвольное графическое изображение. По нажатию на...

Написать программу, которая выводит на экран изображение шахматной доски
Написать программу, которая выводит на экран изображение шахматной доски. Используйте желтый и...

Написать программу, которая выводит на экран изображение снеговика на голубом фоне
Написать программу, которая выводит на экран изображение снеговика на голубом фоне. При нажатии на...

5
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
08.04.2010, 11:00 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

3. Рисовать окружности
https://www.cyberforum.ru/pascal/thread114017.html

Добавлено через 35 минут
2.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
uses graph;
function F(x:real):real;
begin
F:=2*sin(x)*exp(x/5);
end;
const
x1=-5;{начало и конец графика в реальных значениях}
x2=5;
var e,x,dx,mx,my,a,y:real;
    x0,y0,grD,px,py,grM,i,k:integer;
    s,s1:string;
begin
grD:=detect;
initgraph(grD,grM,'');
X0:=getmaxX div 2;{начало координат в центре экрана}
Y0:=getmaxY div 2;
{коэффициенты по осям для перевода реальных координат в экранные}
mx:=600/(x2-x1);{длина в пикселах по оси Х/реальная длина}
my:=(y0-20)/(abs(F(x2))+1);{половина длины оси по У/(макс. значение ф-ции}
SetBkColor(7); {цвет фона}
setlinestyle(0,0,1);{сплошная линия}
SetColor(1);{цвет линий осей}
line(0,y0,getmaxX,y0); {ось Х}
line(x0,getmaxy,x0,0); {ось У}
setlinestyle(1,0,0);  {пунктирная линия}
Setcolor(9);  {цвет сетки}
for i:=1 to round(abs(F(x2)))+1 do   {максимальное количество засечек в одну сторону}
   begin
    line(10,y0-round(i*my),630,y0-round(i*my));{засечки на оси У}
    line(10,y0+round(i*my),630,y0+round(i*my));
    line(x0+round(i*mx),0,x0+round(i*mx),getmaxY); {засечки на оси Х}
    line(x0-round(i*mx),0,x0-round(i*mx),getmaxY);
    str(i,s);
    {подпись оси У}
    outtextXY(x0-10,y0-round(i*my),s);{соответственно засечкам}
    outtextXY(x0-15,y0+round(i*my),'-'+s);
    {подпись оси Х}
    outtextXY(x0+round(i*mx),y0+10,s);
    outtextXY(x0-round(i*mx),y0+10,'-'+s);
  end;
{центр}
outtextXY(x0+5,y0+10,'0');
{подписи концов осей}
outtextXY(getmaxX-10,y0-10,'X');
outtextXY(x0+10,10, 'Y');
dx:=0.001;
{график}
x:=x1;
while x<=x2 do
 begin
  px:=x0+round(x*mx); {изменение по оси Х}
  y:=F(x); {график в реальных координатах}
  py:=y0-round(y*my);{в экранных}
  putpixel(px,py,10);
  x:=x+dx; {наращиваем х}
 end;
setcolor(10);
setlinestyle(0,0,1);
outtextXY(55,30,'Grafik functii Y=2sinx*e^(x/5)');
readln
end.
1
2 / 2 / 0
Регистрация: 27.02.2010
Сообщений: 7
08.04.2010, 21:40  [ТС] 3
Спасибо огромное! а что такое x2 и x1 и че их нет в описании переменных как так о_О
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
08.04.2010, 21:51 4
Либо Вы читать не умеете, либо что...
const
x1=-5;{начало и конец графика в реальных значениях}
x2=5;
x1,x2 объявлены как константы, а что они означают написано по русски в комментарии
0
2 / 2 / 0
Регистрация: 27.02.2010
Сообщений: 7
09.04.2010, 00:32  [ТС] 5
извиняюсь вот теперь понял просто в константы не посмотрел

Добавлено через 1 час 39 минут
про светофор я решил.. вот если кому надо

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
program p1;
uses graph,crt;
 
var
gd,gm,i,b:integer;
 
begin
b:=0;
initgraph(gd,gm,'D:\Lexa\TP\BGI');
repeat
setcolor(0);
setfillstyle(1,0);
bar(0,0,getmaxx,getmaxy);
setcolor(15);
setfillstyle(1,15);
line(250,50,390,50);
line(390,50,390,470);
line(250,50,250,470);
line(250,470,390,470);
 
 
setcolor(4);
setfillstyle(1,4);
if (b=0)or(b=1) then fillellipse(320,120,70,70)
       else circle(320,120,70);
 
setcolor(14);
setfillstyle(1,14);
if b=1 then fillellipse(320,260,70,70)
       else circle(320,260,70);
 
setcolor(2);
setfillstyle(1,2);
if b=2 then fillellipse(320,400,70,70)
       else circle(320,400,70);
 
if b=3 then
        for i:=1 to 5 do begin
         if i mod 2=0 then setfillstyle(1,2)
                       else setfillstyle(1,0);
         fillellipse(320,400,70,70);
         delay(50000);
         end;
b:=(b+1) mod 4;
delay(50000);
until keypressed;
closegraph;
end.

Помогите решить 4-ую пожалуйста

Добавлено через 23 секунды
проверьте про светофор))))

Добавлено через 53 минуты
Сделал кое как проверте плиз

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
program p1;
uses graph,crt;
 
var
gd,gm,s,i:integer;
x:array[1..5] of integer;
p:real;
s1:string;
 
begin
writeln('Vvedite ishodnie dannie:');
write('pyaterok -> ');readln(x[5]);
write('4etverok -> ');readln(x[4]);
write('troek -> ');readln(x[3]);
write('dvoek -> ');readln(x[2]);
 
initgraph(gd,gm,'D:\Lexa\TP\BGI');
 
setcolor(15);
line(0,400,getmaxx,400);
s:=x[2]+x[3]+x[4]+x[5];
for i:=2 to 5 do begin
setfillstyle(1,i*2);
p:=100*x[i]/s;
str(p:2:1,s1);
bar(i*40,400,i*40+30,400-3*round(p));
outtextxy(i*40,385-3*round(p),s1+'%');
str(i,s1);
bar(300,50+i*30,330,i*30+65);
outtextxy(330,65+i*30,s1+'ki');
end;
readln;
closegraph;
end.
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
09.04.2010, 09:02 6
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Я так понял что №4 нужно в текстовом режиме псевдографикой.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
uses crt;
Var a,b:array[1..4] of byte;
    x,y:string;
    i,j,k,mx,h:integer;
    msh:real;
begin
clrscr;
writeln('Введите количество каждой  оценки от 5 до 2:');
write('Пятерок - ');readln(a[1]);
write('Четверок - ');readln(a[2]);
write('Троек - ');readln(a[3]);
write('Двоек - ');readln(a[4]);
k:=0;
for i:=1 to 4 do
k:=k+a[i];
for i:=1 to 4 do
b[i]:=round(a[i]*100/k);
clrscr;
gotoxy(1,25);{низ экрана}
for i:=1 to 4 do
 begin
  gotoxy(i*6,wherey);{через 3 позиции}
  textcolor(10+i);
  write(6-i);{выводим оценки}
 end;
mx:=0;{найдем максимальное значение}
for i:=1 to 4 do
if b[i]>mx then mx:=b[i];
msh:=20/mx;{вертикальный масштаб}
for i:=1 to 4 do
 begin
  h:=i*6;{горизонтальный масштаб}
  for j:=24 downto 24-round(b[i]*msh) do
   begin
    gotoxy(h,j);{идем вверх}
    textcolor(10+i);
    write(#219);{рисуем квадратики}
   end;
  gotoxy(h,wherey-1);{на 1 вверх}
  textcolor(10+i);
  write(b[i],'%');{выводим значение}
 end;
readln;
end.
Добавлено через 7 минут
Если в графическом, то у тебя все правильно, только массив не нужно [1..5], а можно [2..5]
1
09.04.2010, 09:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.04.2010, 09:02
Помогаю со студенческими работами здесь

Написать программу, которая выводит на экран изображение заданного графического объекта
Написать программу, которая выводит на экран изображение заданного графического объекта (с...

Написать программу, которая выводит на экран изображение движущегося кораблика на голубом фоне
Написать программу, которая выводит на экран изображение движущегося кораблика на голубом фоне.

Написать программу, которая выводит на экран изображение работающего светофора
Есть работающий светофор, но нужно чтобы он работал по алгоритму, который я прикрепил ниже. (СМ....

Написать программу, которая выводит на экран изображение светофора
2.Написать программу, которая выводит на экран изображение светофора. Кто нибудь помогите)=)


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru