Witamy na forum PC Format Zapraszamy do REJESTRACJI


Użytkownicy przeglądający ten wątek: 1 gości

BASH symulator silnika

#1
BASH symulator silnika
Mam problem z napisaniem programu w bashu na wątkach. Ma to być maszyna stanów.
symulator silnika:
3 stany: stop, kręci się w prawo, kręci się w lewo
z prawo na lewo bez zatrzymania nie możemy przejść
zaczynamy od stanu stop
jeżeli wciśniemy r to stan lewo
jeśli p to praco

Nie mam pojęcia jak się na to zabrać. Proszę o pomoc.

Kod:
#include "stdafx.h"
#include<stdio.h>

int main() {
    int stop=0;
    int lewo=0;
    int prawo=0;
    int exit=0;
    int stan;

    printf("Podaj stan: 1-lewo, 2-stop, 3-prawo, 4-zakoncz");
    scanf("%d" , &stan);

    while (exit==0) {

    if (stan=1)  { lewo=1; prawo=0; stop=0;};
    if (stan=2)  { stop=1; lewo=0; prawo=0;};
    if (stan=3)  { prawo=1; stop=0; lewo=0;};
    if (stan=4)  { exit=1;};
    }

}
Mam tyle w c. Muszą być wątki i w bash . Proszę o pomoc.
 System operacyjny: windows_ten Przeglądarka: firefox
#2
RE: BASH symulator silnika
Czy mógłbyś nieco jaśniej napisać, bo nie bardzo widzę, gdzie tu można zastosować wątki (chyba że każdy wątek to osobny stan i mają się przełączać między sobą). Poza tym w BASH-u nie ma wątków (można co najwyżej uruchomić proces w tle).
 System operacyjny: linux_ubuntu Przeglądarka: firefox
#3
RE: BASH symulator silnika
Być może o to chodzi. Dostałem takie zadanie, że zrobić program na wątkach z wykorzystaniem maszyny stanów i ma działać na Linuksie.
Taki przykład dostałem w bashu
Kod:
#!/bin/bash
#set -x

N=2
State[1]=0
State[2]=0

while [ 1 ]
do
   for i in {1..2}
   do  
      if [[ (${State[$i]} == 3) ]]; then
         echo "State Wait [$i]"
         State[$i]=2
         sleep 2
         read -n 1 keypress
         if [[ ($keypress == 0) ]]
         then
            State[$i]=0
         fi
      fi

      if [[ (${State[$i]} == 2) ]]; then
         echo "State Failed [$i]"
         State[$i]=3
      fi
  
      if [[ (${State[$i]} == 1) ]]; then
         echo "State Testing...[$i]"
         State[$i]=2
      fi

      if [[ (${State[$i]} == 0) ]]; then
         echo "State OK [$i]"
         State[$i]=1
      fi
   done
  
  
   sleep 2
done
 System operacyjny: android Przeglądarka: chrome
#4
RE: BASH symulator silnika
A czy masz może treść tego zadania, bo może coś zostało przeinaczone (z tymi wątkami)? Patrząc po przykładowym kodzie domyślam się, że ma być kilka niezależnie działających silników (chyba że ma być tylko jeden).
 System operacyjny: linux_ubuntu Przeglądarka: firefox
Programy: Polecane / Nowe / Inne




Podobne wątki (BASH symulator silnika)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Instalacja silnika viaa na wlasnym pc olszak 7 8800 08.04.2016, 13:25
Ostatni post: vipdavid
  [Bash] Prośba o pomoc w napisaniu skryptu buger 3 6172 02.01.2015, 22:46
Ostatni post: Szachista
  [Bash] Sprawdzanie ilości wywoływanych parametrów dpolak154 0 4945 26.05.2014, 20:23
Ostatni post: dpolak154

Skocz do:


Wybrane wątki (BASH symulator silnika)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Skrypt, który szuka i zamienia armen10 2 10042 23.04.2018 10:04
Ostatni post: armen10
  Liniowa regresja w Pythonie a budowanie modelu Trojan3000 2 10200 16.04.2018 13:26
Ostatni post: Trojan3000
  Początki z bashem - jak napisać skrypty: wysłanie maila i kalkulator? Kristov81 4 14007 21.03.2018 18:32
Ostatni post: Szachista
Ściana Zadanie cmd.... Yanke$ 2 11068 16.03.2018 17:20
Ostatni post: FireBytes
  Poszukuj kogoś do pomocy FireBytes 0 9565 16.03.2018 16:58
Ostatni post: FireBytes
  Program liczący liczby pierwsze Mersenne'a raistin 2 9882 12.03.2018 12:51
Ostatni post: Szachista
  Wykres Funkcji w Javie wanhelsing 4 10454 17.02.2018 22:27
Ostatni post: wanhelsing
  [SQL]procedura zliczania czasu CTRL85 0 9534 17.02.2018 12:58
Ostatni post: CTRL85
  [VBA Excel] Zaokrąglanie liczby w górę Pioro 2 11020 13.02.2018 21:25
Ostatni post: Pioro
  Sumowanie czasu excel. Cixi 7 9682 13.02.2018 11:52
Ostatni post: Cixi
  Sap i power bi książki Cixi 1 9420 09.02.2018 21:46
Ostatni post: Cixi
  Pomoc w VBA excel Woof 3 9881 19.01.2018 09:36
Ostatni post: Woof
Ściana [CMD] Dwa zadanka które mnie przerosły MihuJ 0 9176 11.01.2018 15:52
Ostatni post: MihuJ
  Czy programowanie jest dla mnie? Co powinienem robić? Kumiku 2 9505 05.01.2018 20:14
Ostatni post: broda99
  SQL zapisanie w rekordzie nazwy zalogowanego użytkownika karlos1323 11 3519 30.12.2017 11:08
Ostatni post: koneton