Ir ao conteúdo

Posts recomendados

Postado

Oi boa noite alguém pode me ajudar com esse exercício,  eu comecei a fazer dando só a definição de esquerda, direita,  frente e trás depois eu me perdi não sei o que fazer se alguém puder me ajudar ,no que eu devo fazer, me dar uma luz pfv :' desde já deixo meu obrigada.

 

Você foi convidado para a oficina de robótica e terá de implementar
um algoritmo para decidir o movimento de um carro automático. Ele tem 3 sensores 
que medem distância a obstáculos: um na frente, um à esquerda e outro à direita 
(aqui na questão você simulará a leitura dos sensores usando 3 comandos scanf). 
Os comandos que você pode dar aos motores do carro são “frente”, “esquerda”, 
“direita” e “trás (ré)” (aqui na questão você simulará os comandos para os 
motores através de printfs apenas). Implemente um programa em C que simule 
a seguinte lógica: o carro anda para frente caso o sensor da frente 
indique obstáculo a mais de 50 cm; caso contrário, o sensor da direita é
examinado: o carro vira à direita caso o sensor da direita indique obstáculo 
a mais de 50 cm; caso contrário, o sensor da esquerda é examinado: o carro vira
à esquerda caso o sensor da esquerda indique obstáculo a mais de 50 cm; caso 
contrário,o carro andará para trás (marcha à ré), nesta situação em que todos 
os sensores indicam obstáculos próximos (<= 50 cm).

  • Curtir 1
Postado
46 minutos atrás, Gabi_gabis disse:

Oi boa noite alguém pode me ajudar com esse exercício,  eu comecei a fazer dando só a definição de esquerda, direita,  frente e trás depois eu me perdi não sei o que fazer se alguém puder me ajudar ,no que eu devo fazer, me dar uma luz pfv :' desde já deixo meu obrigada.

 

Você foi convidado para a oficina de robótica e terá de implementar
um algoritmo para decidir o movimento de um carro automático. Ele tem 3 sensores 
que medem distância a obstáculos: um na frente, um à esquerda e outro à direita 
(aqui na questão você simulará a leitura dos sensores usando 3 comandos scanf). 
Os comandos que você pode dar aos motores do carro são “frente”, “esquerda”, 
“direita” e “trás (ré)” (aqui na questão você simulará os comandos para os 
motores através de printfs apenas). Implemente um programa em C que simule 
a seguinte lógica: o carro anda para frente caso o sensor da frente 
indique obstáculo a mais de 50 cm; caso contrário, o sensor da direita é
examinado: o carro vira à direita caso o sensor da direita indique obstáculo 
a mais de 50 cm; caso contrário, o sensor da esquerda é examinado: o carro vira
à esquerda caso o sensor da esquerda indique obstáculo a mais de 50 cm; caso 
contrário,o carro andará para trás (marcha à ré), nesta situação em que todos 
os sensores indicam obstáculos próximos (<= 50 cm).

você fez o que já? pelo menos já fez o labirinto de testes? mostre o que já tem pronto.
 

  • Curtir 2
Postado

@codigo rápido Eu comecei aqui, esta incompleto, não sei se esse modo esta certo 

#include <stdio.h>

int main()
{   float frente, esquerda, direita, tras
    printf("Entre com o valor a: ");
     scanf("%f", &frente);
      printf("Entre com o valor b: ");
     scanf("%f", &esquerda);
      printf("Entre com o valor c: ");
     scanf("%f", &direita);
    
    if(a>50);
    printf("frente")
    
     if(b<50);
    printf("direita")
       if(c>50);
    printf("esquerda")
    return 0;
}

 

  • Curtir 1
Postado

@Gabi_gabis      tem erros de syntaxe ,   na linguagem c  ou c++  precisa colocar um ponto_e_vírgula no final da linha de comando ,   e   corrigindo  , esse código ficou assim  :

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
    float frente, esquerda, 
          direita , tras  ,
          a=0 , b=0 , c=0 ;               /// faltou o pnto_e_vitgula
    printf("Entre com o valor a --: ");
    scanf("%f", &frente);
    printf("Entre com o valor b --: ");
    scanf("%f", &esquerda);
    printf("Entre com o valor c ---: ");
    scanf("%f", &direita);
    if (a > 50)
        printf("frente");                 /// faltou o ponto_e_virgula
    if (b < 50)                           /// if não precisa e nem pode ter ponto_e_virgula;
        printf("direita");                /// faltou o ponto_e_virgula
        if (c > 50)                       /// if não precisa e nem pode ter ponto_e_virgula;
        printf("esquerda");               /// faltou o ponto_e_virgula
        return 0;                         /// retorna o valor zero para o windows
}

 

  • Curtir 1
  • Obrigado 1
Postado

#include <stdio.h>

int main()
{
	float frente, esquerda, direita; 
	//, tras; atras talvez nem precise porque 
	// não entrando nessas condição, automaticamente 
	// irá imprimir atras... 

	// se tem 3 sensores, então obrigatoriamente você deve ter 3 scanfs pra similar
	printf("Entre com o valor a: ");
	scanf("%f", &frente);
	printf("Entre com o valor b: ");
	scanf("%f", &esquerda);
	printf("Entre com o valor c: ");
	scanf("%f", &direita);

	// acho que deveria ser assim, porque a condição prioritaria é pra frente
	if(a>50.0);
		printf("frente");
	// se não testa a segunda condicao
	else if(b>50.0);
		printf("direita");
	// se não testa a terceira
	else if(c>50.0);
		printf("esquerda");
	else
		printf("atras");
	return 0;
}

/*
	// agora olha só... existe diferenças... 
	// seu robo, se decidir ir pra frente ou ir pra tras, ele vai sair do lugar. 
	// mas se decidir ir pra direita ou esquerda, ele só vai girar, depois que 
	// ele vai decidir ir pra frente ou pra tras

	// você pode simular o labirinto assim:
	int array[10][10] = {	{1,1,1,1,1,1,1,1,1,1},
				{1,0,0,0,0,0,0,0,0,1},
				{1,0,0,0,0,0,0,0,0,1},
				{1,0,0,0,0,0,0,0,0,1},
				{1,0,0,0,0,0,0,0,0,1},
				{1,0,0,0,0,0,0,0,0,1},
				{1,0,0,0,0,0,0,0,0,1},
				{1,0,0,0,0,0,0,0,0,1},
				{1,0,0,0,0,0,0,0,0,1},
				{1,1,1,1,1,1,1,1,1,1}
	};

	// ai, você coloca seu robo em algum ponto qualquer no lugar de 0. Pode usar random pra isso.
	// cada quadrado como 50 cm, cada 1 como parede, e cada 0 com espaço vazio
	// é melhor que digitar no seu scanf toda hora alem de deixar mais bonitinho... 

	// aqui você encontra um exemplo legal de codigo como deixar mais bonitinho e até como 
	// fazer aparecer o seu robo e as paredes:

	// https://en.wikipedia.org/wiki/ANSI_escape_code
	// ate postei o exemplo do codigo aqui:
	// https://www.clubedohardware.com.br/forums/topic/1562726-ubuntu-gcc-e-interfaces-gr%C3%A1ficas/

	// se usar gotoxy, vai mover seu robo
*/


 

  • Obrigado 2

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...