Pessoal , tou com um exercício de lógica porem não to conseguindo compreende-lo e de como começar.Se alguem puder ajudar agradesço.
Implementar um sistema de segurança para automóveis que funcione da seguinte forma:
O automóvel possui 3 sensores:
1- Sensor de Velocidade
2- Sensor de Chuva
3- Sensor de distância no para-choque dianteiro
O seu sistema entrará em ação quando o carro chegar a 70km/h no seco e 50km/h na chuva. No caso da chuva, automaticamente será ativado os faróis.
No momento que o sistema entrar em trabalho, irá controlar a velocidade do carro em relação ao carro da frente.
Na chuva o sistema deverá manter o carro entre 15 e 20 metros do carro da frente, caso não haja carro a frente, manter velocidade máxima de 70km.
Em momentos sem chuva, a distância de segurança do carro da frente deve ficar entre 7 e 11 metros, e caso não tenha carro a frente o carro poderá chegar até a velocidade máxima de 100km, caso em algum momento o motorista pise no freio ou acelerador, o sistema deverá dar preferência a ação do motorista e desativar suas funções, caso o condutor fique mais de 5 segundos sem pisar no acelerador e no freio e o carro esteja dentro das condições que ativam o sistema, o mesmo volta a funcionar.
Bom, me desculpe, provavelmente deve haver algum erro de escrita minha nesse algoritmo, pois eu estou a um tempo sem escrever algoritmos rsrs, apenas programando em java, mas eu fiz lógica desse programa, espero que entenda, e caso hajam erros de escrita por favor corrija-os:
Inicio
tempo: Inteiro
velocidade: Inteiro
tempo: char //em programação tratamos como String, pois char guarda apenas uma letra
carro_da_frente: Lógico
i: inteiro
distancia: inteiro
faróis: char
funções: char
enquanto (tempo >= 5) faça
| se (velocidade >= 70 e tempo = "seco") então
| |
| | se (carro_da_frente = verdadeiro) então
| | |
| | | para i de 7 até 11 passo 1 faça
| | | |
| | | |distancia -> i
| | | fimPara
| | |senão
| | | se(carro_da_frente = falso) então
| | | |
| | | |velocidade -> 100
| | | fimSe
| | fimSe
| |
| | senão
| | se (velocidade >= 50 e tempo = "chuvoso") então
| |
| | faróis -> "Ligado"
| | se (carro_da_frente = verdadeiro) então
| | |
| | | para i de 15 até 20 passo 1 faça
| | | |
| | | |distancia -> i
| | | | fimPara
| | |senão
| | | se(carro_da_frente = falso) então
| | | |
| | | |velocidade -> 70
| | | fimSe
| | fimSe
| fimSe
fimEnquanto
se (tempo < 5) então
| funções -> "desativar"
fimSe
Fim
O algoritmo em questão será:
enquanto (tempo >= 5) faça
se (velocidade >= 70 e tempo = "seco") então
se (carro_da_frente = verdadeiro) então
para i de 7 até 11 passo 1 faça
distancia -> i
fimPara
senão
se(carro_da_frente = falso) então
velocidade -> 100
fimSe
fimSe
senão
se (velocidade >= 50 e tempo = "chuvoso") então
faróis -> "Ligado"
se (carro_da_frente = verdadeiro) então
para i de 15 até 20 passo 1 faça
distancia -> i
fimPara
senão
se(carro_da_frente = falso) então
velocidade -> 70
fimSe
fimSe
fimSe
fimEnquanto
se (tempo < 5) então
funções -> "desativar"
fimSe
Fim
O algoritmo em questão será:
enquanto (tempo >= 5) faça
se (velocidade >= 70 e tempo = "seco") então
se (carro_da_frente = verdadeiro) então
para i de 7 até 11 passo 1 faça
distancia -> i
fimPara
senão
se(carro_da_frente = falso) então
velocidade -> 100
fimSe
fimSe
senão
se (velocidade >= 50 e tempo = "chuvoso") então
faróis -> "Ligado"
se (carro_da_frente = verdadeiro) então
para i de 15 até 20 passo 1 faça
distancia -> i
fimPara
senão
se(carro_da_frente = falso) então
velocidade -> 70
fimSe
fimSe
fimSe
fimEnquanto
se (tempo < 5) então
funções -> "desativar"
fimSe
Fim
Para escrever sua resposta aqui, entre ou crie uma conta.
Compartilhar