Buscar

ALGORITMOS - aula_10

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

AULA 10 – Prof. LUIZ DI MARCELLO
*
ALGORITMOS – AULA 10
Prof. LUIZ DI MARCELLO
Rio de Janeiro, 18 de Junho de 2011
AULA 10 – Prof. LUIZ DI MARCELLO
*
AULA 10 – Acrescentando detalhes
OBJETIVOS
 Construir programas usando funções que manipulam vetores de char, construindo trechos de proteção, conversões e efeitos
TELA 4 de 15: Na aula de hoje, iremos mostrar a importância de oito funções que estão presentes em três bibliotecas.
 
Esperamos que você esteja dominando todo conteúdo trabalhado no curso, visto que alguns exemplos dessa aula apresentam um grau maior de complexidade.
AULA 10 – Prof. LUIZ DI MARCELLO
*
Parte do nosso trabalho pode ser simplificado. 
Existem funções prontas para uso que facilitam a vida.
As funções estão definidas em cabeçalhos e utilizamos a diretiva
 
 #include <cabeçalho> 
para indicar quais serão necessários
Agora é só diversão !!!
AULA 10 – Prof. LUIZ DI MARCELLO
*
	#include <iostream>
	Funções de entrada/saída: cin, cout...
	#include <cstdlib>
 	Funções variadas: rand, system...
	#include <cmath>
	Funções matemáticas: sqrt, pow...
Nós já experimentamos...
AULA 10 – Prof. LUIZ DI MARCELLO
*
#include <cstring>
strlen (str)  retorna o número de caracteres de str que precedem o caractere \0
strcat (str1,str2)  anexa o conteúdo de str2 ao final de str1
strcpy (str1,str2)  copia o conteúdo de str2 em str1
strcmp (str1,str2)  compara o conteúdo de str1 e str2 e o retorno pode ser:
		
AULA 10 – Prof. LUIZ DI MARCELLO
*
#include <cstring>
#include <iostream>
#define TAM 100
using namespace std;
int main ()
{
 char nome1[TAM];		// constante em define
 int t1;
 cout << "Nome1: ";
 cin.getline (nome1,TAM);	// inclui espaços
 t1 = strlen (nome1);
 cout << "Tamanho de nome1: " << t1 <<"\n";
 system ("pause");
}
Exercício 1
Mas... O que faz esse programa?
AULA 10 – Prof. LUIZ DI MARCELLO
*
#include <cstring>
#include <iostream>
using namespace std;
int main () {
 char nome1[100],nome2[100];
 char aux[100];
 int t1, t2;
 cout << "Nome1: ";
 cin.getline (nome1,100); 
 cout << "Nome2: ";
 cin.getline (nome2,100);
 t1=strlen (nome1);
 t2=strlen (nome2);
 cout << "Tamanho de nome1: “;
 cout<< t1<<"\n";
 cout << "Tamanho de nome2: “;
 cout << t2<<"\n";
 if (strcmp(nome1,nome2) > 0){
 strcpy(aux,nome1);
 strcpy(nome1,nome2);
 strcpy(nome2,aux);
 }
 strcat(nome1, " ");
 strcat(nome1,nome2);
 cout << nome1 <<"\n";
system ("pause");
}
Exercício 2
E agora... O que faz esse programa?
AULA 10 – Prof. LUIZ DI MARCELLO
*
#include <cctype>
toupper(carac)  converte minúscula em maiúscula
tolower(carac)  converte maiúscula em minúscula
#include <cstdlib>
atoi(str) converte o que for possível em número inteiro
atof(str)  converte o que for possível em float
		
AULA 10 – Prof. LUIZ DI MARCELLO
*
#include <cstring>
#include <iostream>
#define TAM 100
using namespace std;
int main ()
{
 char nome[TAM];
 int t1,i;
 cout << "Nome: ";
 cin.getline (nome,TAM); 
 t1 = strlen (nome) ;
 for (i=0; i < t1; i++)
 nome[i] = toupper (nome[i]);
 cout << "Novo nome: " << nome <<"\n";
 system ("pause");
}
Exercício 3
Mais um... E esse programa, o que ele faz?
AULA 10 – Prof. LUIZ DI MARCELLO
*
#include <cstring>
#include <iostream>
#define TAM 100
using namespace std;
int main () {
 char nome1[TAM], nome2[TAM];
 int t1,i;
 cout << "Nome: ";
 cin.getline (nome1,TAM); 
 t1 = strlen (nome1) - 1;
 for (i=0; i<=t1; i++)
 nome2[t1-i]= nome1[i];
 nome2[t1+1] = '\0';
 cout << "Nome invertido: " << nome2 <<"\n";
 system ("pause");
}
Exercício 4
Que tal mais um... E o que será que ele faz?
AULA 10 – Prof. LUIZ DI MARCELLO
*
#include <cstring>
#include <iostream>
#define TAM 100
using namespace std;
int main () {
 char nome1[TAM],idade[TAM];
 int anos;
 cout << "Nome: ";
 cin.getline (nome1,TAM); 
 cout << "Idade: ";
 cin.getline (idade,TAM);
 if (strlen(idade) > 2)
 idade[2]='\0';
 anos = atoi(idade);
 cout << nome1 << " tem " << anos << " anos\n";
 system ("pause");
}
Exercício 5
Esse é o último...
AULA 10 – Prof. LUIZ DI MARCELLO
*
1. A função atoi() converte um número inteiro para um vetor de char.
1) Verdade. 
2) Falso. 
3) Não sei responder.  
2. A função strlen() retorna o número de caracteres armazenados na memória principal.
1) Verdade. 
2) Falso.  
3. Vetores de char podem ser comparados usando operadores relacionais.
1) Verdade. 
2) Falso. 
REGISTRO DE FREQUÊNCIA
AULA 10 – Prof. LUIZ DI MARCELLO
*
4. Se o retorno da função strcmp() for um número menor do que 0 significa que o conteúdo do primeiro vetor vem antes na ordem  alfabética do que o segundo vetor de char.
1) Verdade. 
2) Falso. 
 
 
REGISTRO DE FREQUÊNCIA
AULA 10 – Prof. LUIZ DI MARCELLO
*
5. Observe o trecho de programa abaixo e selecione a resposta correta
...  for(x=0; x<4; x++) {  for(y=0; y<4; y++)    if(x < y)     cout<<num[x][y]<<”\t”;    else     cout]<<”\t”;   cout<<”\n”; } ...
Exibe todos os elementos da matriz num. 
Só exibe os elementos fora da Diagonal Principal.
Exibe os números que se encontram no triângulo abaixo da Diagonal Principal.
NRA
REGISTRO DE FREQUÊNCIA
AULA 10 – Prof. LUIZ DI MARCELLO
*
#include <cstring>
#include <iostream>
using namespace std;
int main () {
 
 cout << “					“
 cout << “
 “
system ("pause");
}
BOAS PROVAS!
OBRIGADO  E ATÉ O PRÓXIMO MÓDULO!
*

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais

Materiais relacionados

Perguntas relacionadas

Materiais recentes

Perguntas Recentes