Robótica Livre
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Ir para baixo
gustavocruz
gustavocruz
Mensagens : 255
Data de inscrição : 12/05/2019
Idade : 16

exercicio 4.8 resolvido Empty exercicio 4.8 resolvido

Qui Out 15, 2020 4:55 pm
/*
* CURSO DE ROBOTICA 2020
*
* Exercicio: 4.08
* Tema: Basico de String como variavel
* Atividade: Concatenar duas strings
* Descrição: Realizar a concatenação de duas strings usando o metodo com rotinas for() e depois usando o strcat(), usar as strings 2 e depois a 1
* Hardware: Montar o display e a porta serial para as entradas e saídas de dados
* Comandos:
* Dica1: string é uma cadeia de caracteres, podemos até mesmo dizer um vetor de caracteres. Trás a linguagem C a capacidade de lidar com frases e palavras.
* Dica2: Quando declaramos string com s minusculo refere-se a uma variável, e quando String está com S maiusculo refere-se a objeto
* Dica3: Declaração da variavel string char nome_vetor[tamanho]{'a','b','c'}; tipo dos dados, sempre char. Nome do vetor identifica a variável. Entre conchetes vai o tamanho do vetor, depois
* Dica4: Lembrando que na linguagem C caractere é colocado entre ' ' (aspas simples), frases podem ser declaradas usando " " (aspas duplas)
* Dica5: Toda string termina com um caractere nulo no final(código ASCII 0), por isso na declaração deve considerar um elemento a mais no tamanho,
* strcat(string_destino, string_origem); // Realiza a concatenação do conteúdo de uma variável a outra.
* strncat(string_destino, string_origem, tamanho); //Realiza a concatenação do conteúdo de uma variável a outra, porém, deve ser especificado o tamanho a ser concatenado.
* variável tipo inteiro = strlen(string); // Determina o tamanho de uma string.
*/

//EFINICOES INICIAIS


//DECLARAcAO DE VARIAVEIS GLOBAIS
char string1[] = {'a','M','o',' ','m','E','u','s','\0'};   // declaração de uma string sem tamanho definido, declarado cada caractere, o nulo e o tamanho serão colocados automaticamente
char string2[6] = {'p','a','i','s',' ','\0'};           // declaração de string com tamanho definido e o nulo inserido no final
char string3[] = {"primeiRa frAse tEste"};        // declaração de string usando uma frase entre aspas duplas, o tamanho e o nulo são colocados automaticamente
char string4[4] = {'1','2','3'};                  // declaração de string com tamanho e definido  e o nulo será colocado automáticamente, ao definir o tamanho terá que reservar o espaço para o nulo
char string5[] = {"Curso de C"};                  // declaração de string
char stringFinal[30];                             // declaração de uma string com 30 posições, vazia. Pode ser colocado até 29 caracteres que estão previamente alocados na memória
int i = 0;                                        // contador para as funções for()
 
//INICIALIZAÇÃO DO HARDWARE
void setup() {
Serial.begin(9600);               //Inicializa porta serial
}

//FUNÇÕES COMPLEMENTARES


//PROGRAMA PRINCIPAL
void loop() {
//metodo 1 usando for()
for(i = 0; i < strlen(string2); i++){  //i vai ser igual a zero e se i for menor que strlen(string2)
stringFinal[i] = string2[i];  //o valor da stringFinsl vsi se igual a string2
}
for(i = 0; i < strlen(string1); i++){   //i vai ser igual a zero e se i for menor que strlen(string2)
stringFinal[i + strlen(string2)] = string1[i]; //faz i + strlen(string2) que vai ser igual a string1
}
Serial.print("\n"); //pula um linha
Serial.println("Resultado unsando for()");//escreve algo no Monitor serial
Serial.println(stringFinal);//escreve o valor de stringFinal
delay(1500);//intervalo

//metodo 2 usando strcat
stringFinal[0] = '\0'; //apagou toda a stringFinal
strcat(stringFinal, string2);//vai passar o valor da string2 na stringFinal na possição 1
strcat(stringFinal, string1);//vai colocar o valor de string1 também dentro da stringFinal
Serial.print("\n");//pula um linha
Serial.println("Metodo usando strcat()");//escreve algo no Monitor serial
Serial.println(stringFinal);//escreve o valor de stringFinal
delay(1500);//intervalo
}
//com um pequeno toque meu


Última edição por gustavocruz em Seg Nov 30, 2020 2:36 pm, editado 1 vez(es)
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5715
Data de inscrição : 11/02/2019
Idade : 53
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

exercicio 4.8 resolvido Empty Re: exercicio 4.8 resolvido

Sáb Nov 21, 2020 12:20 pm
Oi Gustavo,
Viu que o resultado deu
pais amo meus pais
Isso deve-se a um erro na declaração da string1 , falta o caractere \0 no final. E isso está explicado na videoaula.
Apesar da criatividade concluo que não assistiu a videoaula ou não prestou atenção aos detalhes.
Nota 6.0
gustavocruz
gustavocruz
Mensagens : 255
Data de inscrição : 12/05/2019
Idade : 16

exercicio 4.8 resolvido Empty Re: exercicio 4.8 resolvido

Seg Nov 30, 2020 2:38 pm
agora eu corrigi essa parte, mas confesso que não assisti o final aonde o senhor faz os testes
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5715
Data de inscrição : 11/02/2019
Idade : 53
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

exercicio 4.8 resolvido Empty Re: exercicio 4.8 resolvido

Dom Abr 11, 2021 11:50 pm
Oi Alvaro, está correto. Nota 10.0
gustavocruz
gustavocruz
Mensagens : 255
Data de inscrição : 12/05/2019
Idade : 16

exercicio 4.8 resolvido Empty Re: exercicio 4.8 resolvido

Qua Abr 14, 2021 9:12 am
professor sou o Gustavo não o Alvaro
Paulo Augusto Batista
Paulo Augusto Batista
Admin
Mensagens : 5715
Data de inscrição : 11/02/2019
Idade : 53
Escola : Colegio Lindaura
https://roboticalivre.forumeiros.com

exercicio 4.8 resolvido Empty Re: exercicio 4.8 resolvido

Seg Abr 19, 2021 11:37 pm
Opa, desculpe o equivoco. Pelo menos na hora de dar a nota foi para você mesmo, hehe.
Conteúdo patrocinado

exercicio 4.8 resolvido Empty Re: exercicio 4.8 resolvido

Ir para o topo
Permissões neste sub-fórum
Não podes responder a tópicos