Logo Passei Direto
Buscar

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

OPERADORES 
ARITMÉTICOS ESPECIAIS 
UTILIZANDO OPERADORES 
ARITMÉTICOS EM C++ 
 Operadores de Incremento e Decremento 
 Padrão: 
x = x + 1  x++ ou ++x 
x++ => Formato pós-fixado 
++x => Formato pré-fixado 
 
x = x - 1  x-- ou --x 
x-- => Formato pós-fixado 
--x => Formato pré-fixado 
UTILIZANDO OPERADORES 
ARITMÉTICOS EM C++ 
 Operadores aritméticos que abreviam atribuições 
também podem ser utilizados: 
 x+=3  x = x + 3 
 X-=5  x = x – 5 
 x*=3  x = x * 3 
 x/=3  x = x / 3 
 x%=3  x = x % 3 
ESTRUTURAS DE REPETIÇÃO 
 Def.: Permitem que determinados blocos de código 
sejam repetidos enquanto certas condições forem 
obedecidas 
 Em C ocorrem em três formatos: 
 while 
 do...while 
 for 
ESTRUTURAS DE REPETIÇÃO 
while: Repete determinado bloco de código 
enquanto um teste for verdadeiro 
 Sintaxe em L.A.: 
Enquanto <teste> faça 
Início 
 ... 
Fim_Enquanto 
 Sintaxe em C: 
while (teste) 
{ 
 ... 
} 
 
WHILE - EXEMPLO 
 Implemente um algoritmo que liste os valores inteiros 
entre 1 e 1000. 
#include <iomanip.h> 
main() 
{ 
 int i=1; 
 while(i<=1000) 
 { 
 cout << i << “ “; 
 i++; 
 } 
} 
DO...WHILE 
Repete determinado bloco de código enquanto 
um teste for verdadeiro. Este teste, entretanto, 
é verificado no final do bloco de repetição, o 
que garante que a repetição ocorrerá sempre 
pelo menos uma vez 
 Sintaxe em L.A.: 
Faça 
 ... 
Enquanto <teste> 
 Sintaxe em C: 
do{ 
 ... 
}while(teste); 
DO...WHILE - EXEMPLO 
 Implemente um algoritmo que liste os valores inteiros 
entre 1 e 1000. 
#include <iomanip.h> 
main() 
{ 
 int i=1; 
 do{ 
 cout << i << “ “; 
 i++; 
 } while(i<=1000); 
} 
FOR 
 Repete determinado bloco de código enquanto uma condição 
for verdadeira 
 Sintaxe em L.A.: 
Para(Área_Inicialização;Área_Teste;Área_Incremento) 
Início 
 ... 
Fim_Para 
 Sintaxe em L.A.: 
for(Área_Inicialização;Área_Teste;Área_Incremento) 
{ 
 ... 
} 
 Área_Inicialização: Sempre executada uma únca vez e como primeira 
operação da execução da repetição “for” 
 Área_Teste: É sempre executada imediatamente antes do início de cada 
repetição e, caso a sua execução resulte em um valor verdadeiro, a 
repetição ocorrerá novamente. Caso contrário, a repetição será finalizada 
 Área_Incremento: É sempre executada imediatamente após o término de 
cada repetição e imediatamente antes da área de teste 
FOR - EXEMPLO 
 Implemente um algoritmo que liste os valores 
inteiros entre 1 e 1000. 
#include <iomanip.h> 
main() 
{ 
 int i; 
 for(i=1;i<=1000;i++) 
 { 
 cout << i << “ “; 
 } 
} 
FOR – OUTROS EXEMPLOS 
Nenhuma das áreas do “for” é obrigatória 
#include <iomanip.h> 
main() 
{ 
 int i=1; 
 for(;i<=1000;) 
 { 
 cout << i << “ “; 
 i++; 
 } 
} 
FOR – OUTROS EXEMPLOS 
É possível ter mais de uma instrução em cada 
área do “for”, desde que separadas por vírgulas 
#include <iomanip.h> 
main() 
{ 
 int a,b; 
 for(a=1,b=1;a+b<=100;a++,b++) 
 { 
 cout << a+b << “ “; 
 } 
} 
FOR – OUTROS EXEMPLOS 
Cuidado com o uso da área de testes... Você 
pode gerar repetições infinitas (loops infinitos) 
#include <iomanip.h> 
main() 
{ 
 for(;;) 
 { 
 cout << “LOOP INFINITO“; 
 } 
} 
VARIÁVEIS COMPOSTAS E HOMOGÊNEAS 
VETORES 
MATRIZES 
E 
STRINGS 
VARIÁVEIS COMPOSTAS E UNIFORMES 
VETORES E MATRIZES 
 São variáveis capazes de armazenar mais de um 
valor ao mesmo tempo, guardando a restrição de 
que estes valores devem ser do mesmo tipo 
 Sintaxe de declaração: 
 tipo varivel[DIM1][DIM2]…[DIMn] 
 Ex.: 
 int v[10]; 
VARIÁVEIS COMPOSTAS E UNIFORMES 
VETORES E MATRIZES 
No exemplo dado, “v” é uma variável composta 
e homogênea capaz de armazenar 10 
elementos, sendo todos eles do tipo int 
Graficamente poderíamos visualizar esta 
variável da forma que se segue: 
 
 
A variável “v” possui todos estes valores que 
podem ser acessados através do padrão 
definido a seguir: 
10 21 1 -2 11 -9 0 12 40 99 
0 1 2 3 4 5 6 7 8 9 
VARIÁVEIS COMPOSTAS E UNIFORMES 
VETORES E MATRIZES 
 v[0] => 10 
 v[4] => 11 
 v[9] => 99 
 Os valores entre os colchetes são chamados de 
índices ou posições e indicam a posição do 
elemento que se deseja acessar de “v”. Em C, a 
primeira posição de um elemento de um vetor 
sempre é zero 
 Variáveis Compostas e Homogêneas com uma 
dimensão (como a variável “v”) são comumente 
chamadas de VETORES 
10 21 1 -2 11 -9 0 12 40 99 
0 1 2 3 4 5 6 7 8 9 
VARIÁVEIS COMPOSTAS E UNIFORMES 
VETORES E MATRIZES 
Vamos agora a dois exemplos de variáveis 
compostas e homogêneas de mais de uma 
dimensão: 
 float m1[3][3]; 
 int m2[3][3][2]; 
Representando graficamente, teríamos: 
2.1 6.4 4.1 
3.45 -34 -2.3 
-6.7 51.2 10.4 
0 1 2 
0 
 
 
1 
 
 
2 
80 970 481 
3.45 -34 6 
-6.7 51.2 9 
0 1 2 
0 
 
 
1 
 
 
2 
8 6 -11 
7 34 34 
0 -1 -45 
m1 m2 
Pg. 0 
Pg. 1 
VARIÁVEIS COMPOSTAS E UNIFORMES 
VETORES E MATRIZES 
 O acesso a cada um dos valores de “m1” e “m2”se dá pelos padrões 
abaixo: 
 m1[0][0] => 2.1 m2[0][0][0] => 8 
 m1[2][1] => -2.3 m2[2][1][0] => 34 
 m1[1][2] => 51.2 m2[0][0][1] => 80 
 m1[2][2] => 10.4 m2[2][2][1] => 9 
 Neste exemplo foi convencionado que a primeira dimensão seria a 
coluna, a segunda seria a linha e a terceira seria a página, 
entretanto isto é a penas uma convenção. Para a máquina não 
existe representação gráfica, e sim quantidade de elementos. Sendo 
assim, quem define o que significa cada dimensão é o desenvolvedor 
 Variáveis compostas e homogêneas de mais de uma dimensão são 
comumente chamadas de MATRIZES 
EXEMPLO 
#include <iomanip.h> 
main() 
{ 
 float m[3][3], s=0; 
 int i,j; 
 for(i=0;i<3;i++) 
 { 
 for(j=0;j<3;j++) 
 { 
 cout << “Entre com um valor:”; 
 cin >> m[i][j]; 
 s+=m[i][j]; 
 } 
 } 
 cout <<”Soma de todos os valores é:”<<s; 
} 
VARIÁVEIS COMPOSTAS E UNIFORMES 
VETORES E MATRIZES 
 Em C, vetores e matrizes podem ser inicializadas 
no momento de suas declarações. Por exemplo: 
 int v[5] = {1,3,5,7,8}; 
 int m[2][2] = { {2,2}, {3,4} }; 
 Também é possível inicializar apenas parte dos 
elementos. Por exemplo: 
 int v[5] = {5}; 
 Inicializa apenas o primeiro elemento (índice = 0) com 5. 
Os demais elementos são inicializados com ZEROS. 
 Para inicializarmos todos os elementos com 
ZEROS, podemos fazer: 
 int v[100] = {0}; 
VARIÁVEIS COMPOSTAS E UNIFORMES 
STRINGS 
Uma string é uma variável especial que 
hora se comporta como variável simples, 
quando recebe um texto como entrada, por 
exemplo, hora se comporta como variáves 
composta, quando acessamos e/ou 
manipulamos cada caractere do texto 
individualmente 
Em C uma string é um vetor de 
caracteres: 
 char s[10]; 
 
VARIÁVEIS COMPOSTAS E UNIFORMES 
STRINGS 
 Toda string em C++ é finalizada com um caractere de 
escape que referencia o valor nulo: „\0‟. Por exemplo, 
seja a string “s” com o texto a seguir: 
 
 Quando se comporta como variável simples, 
analisamos a string pelo seu texto inteiro: 
 “CASA” 
 Observe que o mesmo é finalizado com o „\0' 
 Quando se comporta como um vetor, analisamos a 
string caractere a caractere: 
 s[0] => „C‟
 s[3] => „A‟ 
 s[4] => „\0‟ 
‘C’ ‘A’ ‘S’ ‘A’ ‘\0’ ‘x’ ‘2’ ‘$’ ‘^’ ‘&' 
VARIÁVEIS COMPOSTAS E UNIFORMES 
STRINGS 
 É importante observarmos que o caractere „\0‟ 
ocupa uma posição válida da string. 
 Sendo assim, se você precisa criar uma string que irá 
ocupar 100 bytes, lembre-se de reservar um a mais 
para o „\0‟, o que daria 101 bytes 
 Ex.: char s[101]; 
VARIÁVEIS COMPOSTAS E UNIFORMES 
STRINGS 
É possível realizar a inicialização de 
strings no momento de sua declaração. 
Por exemplo: 
 char x[10] = “Xyz”; 
 
Também é possível criarmos uma string 
sendo inicializada com uma dimensão do 
tamanho da string para ela inicializada. 
 char z[] = “ABC”; 
 Esta variável terá 4 bytes (considerando o byte 
para o „\0‟) 
‘X’ ‘y’ ‘z’ ‘\0' ‘a’ ‘x’ ‘2’ ‘$’ ‘^’ ‘&' 
FUNÇÕES DE MANIPULAÇÃO DE STRINGS 
Existem em grande quantidade e 
encontram-se definidas na biblioteca 
string.h 
Para os nossos propósitos vamos analizar 
as listadas abaixo: 
 puts 
 gets 
 strlen 
 strcat 
 strcpy 
 strcmp 
FUNÇÕES DE MANIPULAÇÃO DE STRINGS 
 puts: Escreve uma string na tela e provoca uma 
quebra de linha ao término da escrita 
 Sintaxe: puts(string) 
 Ex.: puts(“Entre com 10 valores:”); 
 Provoca a saída do texto entre aspas na tela 
FUNÇÕES DE MANIPULAÇÃO DE STRINGS 
 gets: Pára a execução de um programa e espera 
pela entrada de um texto qualquer a ser 
armazenado em uma string 
 Sintaxe: gets(variável_string) 
 Ex.: 
… 
char s[200]; 
puts(“Entre com um texto qualquer:”); 
gets(s); 
… 
FUNÇÕES DE MANIPULAÇÃO DE STRINGS 
 strlen: Conta o número de caracteres de uma 
string 
 Sintaxe: NumCaracteres = strlen(string) 
Ex.: 
… 
char s[200]; 
int i; 
puts(“Entre com um texto qualquer:”); 
gets(s); 
n=strlen(s); // n será igual ao número de caracteres 
de s 
… 
 
FUNÇÕES DE MANIPULAÇÃO DE STRINGS 
 strcat: Junta ou concatena duas strings 
 Sintaxe: strcat(string_dest, string_origem) 
 Ex.: 
… 
char s1[30] = “abc”, s2[30]=“def”; 
strcat(s1,s2); // s1 passa a valer “abcdef” 
… 
FUNÇÕES DE MANIPULAÇÃO DE STRINGS 
 strcpy: Copia o conteúdo de uma string sobre o 
conteúdo de outra string 
 Sintaxe: strcpy(string_dest, string_origem) 
 Ex.: 
… 
char s1[30] = “111”, s2[30]=“222”; 
strcpy(s1,s2); // o texto de s1 é sobreposto 
 // e passa a ser “222” 
… 
FUNÇÕES DE MANIPULAÇÃO DE STRINGS 
 strcmp: Compara o conteúdo de duas strings. Se as duas forem 
iguais, esta função retornará ZERO. Se elas forem diferentes, ela 
retornará um valor diferente de zero. 
 Sintaxe: strcmp(string1, string2) 
 Ex.: 
… 
char s1[200], s2[200]; 
puts(“Entre com um texto qualquer:”); 
gets(s1); 
puts(“Entre com outro texto qualquer:”); 
gets(s2); 
if(strcmp(s1,s2)==0) 
 puts(“Textos iguais”); 
else 
 puts(“Textos diferentes”); 
…

Teste o Premium para desbloquear

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

Mais conteúdos dessa disciplina

Mais conteúdos dessa disciplina