- gustavocruz
- Mensagens : 255
Data de inscrição : 12/05/2019
Idade : 16
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
* 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
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
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
- Mensagens : 255
Data de inscrição : 12/05/2019
Idade : 16
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
- gustavocruz
- Mensagens : 255
Data de inscrição : 12/05/2019
Idade : 16
Re: exercicio 4.8 resolvido
Qua Abr 14, 2021 9:12 am
professor sou o Gustavo não o Alvaro
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.
Permissões neste sub-fórum
Não podes responder a tópicos
|
|