Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/29: Рейтинг темы: голосов - 29, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 05.02.2016
Сообщений: 38
1

Запрограммировать работу светофора

05.02.2016, 10:31. Показов 5571. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Работа светофора для водителей запрограммирована следующим образом: в начале каждого часа в течение трех минут горит зеленый сигнал, затем в течение одной минуты — желтый, в течение двух минут — красный, в течение трех минут — опять зеленый и т. д. Дано вещественное число t, означающее время в минутах, прошедшее с начала очередного часа. Определить, сигнал какого цвета горит для водителей в этот момент.

решить эту задачу в C#
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.02.2016, 10:31
Ответы с готовыми решениями:

Работа светофора для пешеходов запрограммированна следующим образом
Работа светофора для пешеходов запрограммированна следующим образом: в начале каждого часа в...

Как на консольном приложении сделать принцип работы светофора с пешеходом?
На консольном приложении принцип светофора и пешеход. Пешеход переходит когда горит зелёный и стоит...

Смоделировать работу светофора
Нужна помощь Смоделировать работу светофора. Изобразить светофор в виде трех окружностей на черном...

Создать программу, которая имитирует работу светофора
Создать программу, которая имитирует работу светофора. Через некоторый отрезок времени, которое...

4
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
05.02.2016, 11:22 2
C#
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
 
namespace ConsoleTestApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            int TimeYellow = 1,
                TimeRed    = 2,
                TimeGreen  = 3;
            
            int t = int.Parse(Console.ReadLine());
 
            t = t%(TimeYellow + TimeRed + TimeGreen);
 
            String Answer;
 
            if (t < TimeGreen)
                Answer = "Green";
            else if (t < TimeGreen + TimeYellow)
                Answer = "Yellow";
            else Answer = "Red";
 
 
            Console.WriteLine(Answer);
            
            System.Console.Read();
        }
    }
}
0
0 / 0 / 0
Регистрация: 05.02.2016
Сообщений: 38
05.02.2016, 11:37  [ТС] 3
спасибо
0
0 / 0 / 0
Регистрация: 15.01.2014
Сообщений: 11
05.02.2016, 11:38 4
Еще как вариант

C#
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Светофор
{
    class Program
    {
        static void Main(string[] args)
        {
            int t = Int32.Parse(Console.ReadLine()); // Ввод значения
            
                string[] array = new string[60];
                int j = 0;
                for (int i = 0; i < 10; i++)
                {
 
                    int n = 0;
                    while (n < 6)
                    {
                        switch (n)
                        {
                            case 0: array[j] = "Зеленый";
                                n++;
                                j++;
                                break;
                            case 1: array[j] = "Зеленый";
                                n++;
                                j++;
                                break;
                            case 2: array[j] = "Зеленый";
                                n++;
                                j++;
                                break;
                            case 3: array[j] = "Желтый";
                                n++;
                                j++;
                                break;
                            case 4: array[j] = "Красный";
                                n++;
                                j++;
                                break;
                            case 5: array[j] = "Красный";
                                n++;
                                j++;
                                break;
                        }
                    }
 
                }
                Console.WriteLine(array[t - 1]);
                Console.ReadLine();
            
        }
    }
}
0
10 / 10 / 7
Регистрация: 29.08.2014
Сообщений: 84
05.02.2016, 12:05 5
SatanaXIII, не так считает исходя из условия должно TimeGreen 3 TimeYellow 1 TimeRed 2 и снова по кругу а у вас считает TimeGreen 2 TimeYellow 1 TimeRed 1 первый круг т.е на 6-ю минуту у вас уже зеленый хотя должен быть красный
Изменил немного код, вроде так правильно

C#
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
  int TimeYellow = 1,
                TimeRed = 2,
                TimeGreen = 3;
 
 
            do
            {
                int t = int.Parse(Console.ReadLine());
 
                t = t%(TimeYellow + TimeRed + TimeGreen);
 
                String Answer = null;
 
                if (t <= TimeGreen && t != 0)
                    Answer = "Green";
                else if (t <= TimeGreen + TimeYellow && t != 0)
                    Answer = "Yellow";
                else 
                    Answer = "Red"; 
 
 
                Console.WriteLine(Answer);
            } while (true);
            System.Console.Read();
        }
1
05.02.2016, 12:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.02.2016, 12:05
Помогаю со студенческими работами здесь

Смоделировать работу светофора пешеходного перехода через дорогу
Смоделировать работу светофора пешеходного перехода через дорогу. Светофор должен останавливать...

Запрограммировать контроллер на работу от одной кнопки
Учусь программировать микроконтроллеры AVR, Столкнулся с проблеммой, не могу запрограммировать...

Как можно запрограммировать работу микроконтроллера, задавая входные воздействия, если на входы влиять нельзя?
Привет, помогите пожалуйста. Я нуб. Есть Datasheet на Ethernet controller фирмы WIZNet (W5100). ...

Цикл светофора
Добрый день! Пытаюсь сделать светофор на основе этого, только он должен включаться по кнопке старт...


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

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