Buscar

programação logica

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 84 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 84 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 84 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

INTRODUÇÃO À LOGICA DE PROGRAMAÇÃO 
Eduardo Luiz Pareto 
RAV2 – RAV3 
RAV2 – RAV3 
if simples if composto 
ifs encadeados 
RAV2 – RAV3 
Obs: !(nao) tem maior hierarquia, seguido do &&(and) e, depois, ||(ou) 
Obs: Todos têm a mesma hierarquia 
RAV2 – RAV3 
switch() 
RAV2 – RAV3 
for 
while 
do...while 
RAV2 – RAV3 
while 
-Ideal quando o úmero de repetições for desconhecido, sendo o teste executado 
no início. 
 
-Uma vantagem é que o usuário pode decidir quando finaliza a repetição. 
 
-Pode simular a estrutura do for, mas, nesse caso, o usuário não decide quando 
parar e também a estrutura do…while, embora duplique o número de testes. 
float num; 
cout << "\nNumero positivo. Qualquer outro sai:"; 
cin >> num; 
while( num > 0) 
{ 
 //bloco 
 cout << "\nNumero positivo. Qualquer outro sai:"; 
 cin >> num; 
} 
RAV2 – RAV3 
char resp; 
resp='S'; 
while(resp == 'S') 
{ 
 //bloco 
 cout << "Pressione S para continuar: "; 
 cin >> resp; 
 resp=toupper(resp); 
} 
while 
-Ideal quando o úmero de repetições for desconhecido, sendo o teste executado 
no início. 
 
- Uma vantagem é que o usuário pode decidir quando finaliza a repetição. 
 
-Pode simular a estrutura do for, mas, nesse caso, o usuário não decide quando 
parar e também a estrutura do…while, embora duplique o número de testes. 
RAV2 – RAV3 
int conta; 
conta = 1; 
while( conta <= 10 ) 
{ 
 //bloco 
 conta++; // conta = conta +1; ou conta += 1; 
} 
while 
-Ideal quando o úmero de repetições for desconhecido, sendo o teste executado 
no início. 
 
- Uma vantagem é que o usuário pode decidir quando finaliza a repetição. 
 
-Pode simular a estrutura do for, mas, nesse caso, o usuário não decide quando 
parar e também a estrutura do…while, embora duplique o número de testes. 
RAV2 – RAV3 
Uma 
Um comando cin, ou de atribuição, antes da estrutura while para entrar na 
repetição e um comando cin, ou de atribuição, antes de fechar a estrutura 
while, para repetir ou sair da repetição. 
RAV2 – RAV3 
do…while 
 
-É uma estrutura de fácil construção e muito usada para programas com menus. 
 
-O teste acontece ao final, significando que executa o bloco pelo menos uma 
vez. 
 
- Assim como a estrutura while, é usada quando o número de repetições for 
desconhecido. 
 
-Pode simular a estrutura do for e a estrutura while, embora nessa última dobre 
o número de testes. 
int resp; 
do{ 
 //Bloco com cout 
 cout << "\n5- Sair: "; 
 cin >> resp; 
 //switch(){} 
}while( resp != 5 ); 
RAV2 – RAV3 
do…while 
 
-É uma estrutura de fácil construção e muito usada para programas com menus. 
 
-O teste acontece ao final, significando que executa o bloco pelo menos uma 
vez. 
 
- Assim como a estrutura while, é usada quando o número de repetições for 
desconhecido. 
 
-Pode simular a estrutura do for e a estrutura while, embora nessa última dobre 
o número de testes. 
int conta=1; 
do{ 
 //Bloco com cout onde existem algumas linhas e 
 conta++; // conta = conta +1; ou conta += 1; 
}while( conta <= 10 ); 
RAV2 – RAV3 
for 
-Ideal quando o número de repetições for conhecido durante a elaboração do 
programa ou quando puder ser fornecido durante a execução. 
 
- Controlada, na sintaxe padrão, por uma variável contadora. 
 
- Simula com facilidade as estruturas do while e do do...while. 
 
int conta; 
for( conta=1; conta <=10 ; conta ++) 
{ 
 //Bloco 
} 
RAV2 – RAV3 
for 
-Ideal quando o número de repetições for conhecido durante a elaboração do 
programa ou quando puder ser fornecido durante a execução. 
 
- Controlada, na sintaxe padrão, por uma variável contadora. 
 
- Simula com facilidade as estruturas do while e do do...while. 
 
float num; 
for( ; ; ) 
{ 
 cout << "\nNumero positivo. Qualquer outro sai:"; 
 cin >> num; 
 if( num <= 0) break; 
 //Bloco 
} 
RAV2 – RAV3 
for 
-Ideal quando o número de repetições for conhecido durante a elaboração do 
programa ou quando puder ser fornecido durante a execução. 
 
- Controlada, na sintaxe padrão, por uma variável contadora. 
 
- Simula com facilidade as estruturas do while e do do...while. 
 
float num; 
for( ; ; ) 
{ 
 cout << "\nNumero positivo. Qualquer outro sai:"; 
 cin >> num; 
 //Bloco 
 if( num <= 0) break; 
} 
RAV2 – RAV3 
for(var= vi; var operadorR vf; var=var operadorA r) 
var += r / var -= r / var *= r / var /= r 
r = razão 
ou var++ / var -- 
for(c= 1; c <= 5; c=c + 1) 
for(c= 1; c <= 5; c++) 
for(c= 5; c >= 1; c=c - 1) 
for(c= 5; c >= 1; c- -) 
for(c= 2; c <= 20; c+= 2) 
for(c 64; c >= 2; c=c /2) for(c= 3; c <= 243; c*=3) 
for(c= 20; c >= 2; c-= 2) 
RAV2 – RAV3 
#include <iostream> 
#include <cstdlib> 
using namespace std; 
int main() 
{ 
 for( int c= 5 ; c <= 50 ; c += 5) 
 cout << c << " "; 
 system("pause>NULL"); 
 return 0; 
} 
5 10 15 20 25 30 35 40 45 50 
-------------------------------- 
Process exited with return value 0 
Press any key to continue . . . 
Exibindo a série 5 : 10:...: 495 : 500. 
RAV2 – RAV3 
Praticando 
RAV2 – RAV3 
Vamos treinar – Onde está o erro? 
if( a=5) -> 
if(a <> 8) -> 
if(num mod 2 == 0) -> 
if(a> b && > c) -> 
if( nota>10 && nota<0) -> 
RAV2 – RAV3 
if( a=5) -> == 
if(a <> 8) -> != 
if(num mod 2 == 0) -> if(num % 2 == 0) 
if(a> b && > c) -> if(a> b && a > c) 
if( nota>10 && nota<0) -> if( nota>10 || nota < 0) 
Vamos treinar – Onde está o erro? 
RAV2 – RAV3 
Se o sexo for feminino e a idade maior ou igual a 18, ACEITA, caso contrário, 
RECUSADA 
char sexo='f'; int idade=17; 
if(sexo == 'f' || sexo == 'F' && idade >=18) -> 
 
 
 
Vamos treinar – Onde está o erro? 
RAV2 – RAV3 
Se o sexo for feminino e a idade maior ou igual a 18, ACEITA, caso contrário, 
RECUSADA 
char sexo='f'; int idade=17; 
if(sexo == 'f' || sexo == 'F' && idade >=18) -> 
 
 
 
ACEITA 
Vamos treinar – Onde está o erro? 
RAV2 – RAV3 
Se o sexo for feminino e a idade maior ou igual a 18, ACEITA, caso contrário, 
RECUSADA 
char sexo='f'; int idade=17; 
if(sexo == 'f' || sexo == 'F' && idade >=18) 
if( ( sexo == 'f' || sexo == 'F' ) && idade >=18) -> RECUSADA 
 
 
 
 
Vamos treinar – Onde está o erro? 
RAV2 – RAV3 
O programa do maior de três números e suas variações. 
RAV2 – RAV3 
#include <iostream> 
#include <cstdlib> 
using namespace std; 
int main() 
{ double a,b,c; 
 cout<<"\n1o numero: "; cin>>a; 
 cout<<"\n2o numero: "; cin>>b; 
 cout<<"\n3o numero: "; cin>>c; 
 if( a > b && a > c ) 
 cout<<a<<"\n"; 
 else if( b > c ) 
 cout<<b<<"\n"; 
 else 
 cout<<c<<"\n"; 
 system("pause"); return 0; 
} 
Maior 
RAV2 – RAV3 
cout << b << " "<< c; 
cout << a << " " << c; 
cout << a << " " << b; 
 
 
#include <iostream> 
#include <cstdlib> 
using namespace std; 
int main() 
{ double a,b,c; 
 cout<<"\n1o numero: "; cin>>a; 
 cout<<"\n2o numero: "; cin>>b; 
 cout<<"\n3o numero: "; cin>>c; 
 if( a > b && a > c ) 
 cout<<a<<"\n"; 
 else if( b > c ) 
 cout<<b<<"\n"; 
 else 
 cout<<c<<"\n"; 
 system("pause"); return 0; 
} 
Dois menores 
RAV2 – RAV3 
if( a < b && a < c ) 
else if( b < c) 
Menor 
#include <iostream> 
#include <cstdlib> 
using namespace std; 
int main() 
{ double a,b,c; 
 cout<<"\n1o numero: "; cin>>a; 
 cout<<"\n2o numero: "; cin>>b; 
 cout<<"\n3o numero: "; cin>>c; 
 if( a > b && a > c ) 
 cout<<a<<"\n"; 
 else if(b > c ) 
 cout<<b<<"\n"; 
 else 
 cout<<c<<"\n"; 
 system("pause"); return 0; 
} 
RAV2 – RAV3 
cout << b << " "<< c; 
cout << a << " " << c; 
cout << a << " " << b; 
 
 
Dois maiores 
#include <iostream> 
#include <cstdlib> 
using namespace std; 
int main() 
{ double a,b,c; 
 cout<<"\n1o numero: "; cin>>a; 
 cout<<"\n2o numero: "; cin>>b; 
 cout<<"\n3o numero: "; cin>>c; 
 if( a < b && a < c ) 
 cout<<a<<"\n"; 
 else if( b < c ) 
 cout<<b<<"\n"; 
 else 
 cout<<c<<"\n"; 
 system("pause"); return 0; 
} 
RAV2 – RAV3 
Critério da ESTACIO 
#include <iostream> 
#include <cstdlib> 
using namespace std; 
int main() 
{ double a,b,c, m1,m2, media; 
 cout<<"\n1o numero: "; cin>>a; 
 cout<<"\n2o numero: "; cin>>b; 
 cout<<"\n3o numero: "; cin>>c; 
 if( a < b && a < c ) 
 { m1 = b; m2 = c;} 
 else if( b < c ) 
 { m1 = a ; m2 = c; } 
 else 
 { m1 = a; m2 = b; } 
 media = (m1 + m2 ) /2; 
 if(m1 >= 4 && m2 >= 4 && media >= 6 ) 
 cout <<"\nAPROVADO\n"; 
 else cout <<"\nREPROVADO\n"; 
 system("pause"); return 0; 
} 
RAV2 – RAV3 
O programa que, ao se digitar uma das sete letras do Sistema Romano, exibe 
o valor correspondente no Sistema Decimal, usando swtich() . 
RAV2 – RAV3 
#include <iostream> 
#include <cstdlib> 
#include <cctype> 
using namespace std; 
int main() 
{ 
 char letra; 
 cout<<"\nDigite letra do Sistema Romano: "; 
 cin>>letra; 
 letra=toupper(letra); 
 
RAV2 – RAV3 
switch(letra) 
 { 
 case 'I': cout<<"\nEquivale a 1\n"; break; 
 case 'V': cout<<"\nEquivale a 5\n"; break; 
 case 'X': cout<<"\nEquivale a 10\n"; break; 
 case 'L': cout<<"\nEquivale a 50\n"; break; 
 case 'C': cout<<"\nEquivale a 100\n"; break; 
 case 'D': cout<<"\nEquivale a 500\n"; break; 
 case 'M': cout<<"\nEquivale a 1000\n"; break; 
 default: cout<<"\nNao e´uma letra do Sistema Romano\n"; 
 } 
 cout<<"\n\n"; system("pause"); return 0; 
} 
RAV2 – RAV3 
O programa que acumula valores de 10 depósitos e, ao final, exibe a 
soma de todos os depósitos. 
RAV2 – RAV3 
#include <iostream> 
#include <cstdlib> 
using namespace std; 
int main () 
{ int i; 
 float deposito, soma = 0; 
 for (i = 1; i <= 10; i++) 
 { cout << "\nDigite deposito: "; cin >> deposito; 
 soma += deposito; 
 } 
 cout<<"\nSoma: "<<soma<<endl; 
 system("pause"); 
 } 
RAV2 – RAV3 
Observe o programa #include <iostream> 
#include <cstdlib> 
using namespace std; 
int main() 
{ 
 int C; 
 for(C = 1; C <= 10; C++) 
 cout << "*"; 
 cout << "\n\n"; 
system("pause"); 
return 0; 
} 
RAV2 – RAV3 
Observe o programa #include <iostream> 
#include <cstdlib> 
using namespace std; 
int main() 
{ 
 int C; 
 for(C = 1; C <= 10; C++) 
 cout << "*"; 
 cout << "\n\n"; 
system("pause"); 
return 0; 
} 
RAV2 – RAV3 
Vamos colocar um for dentro de um for 
#include <iostream> 
#include <cstdlib> 
using namespace std; 
int main() 
{ 
 int C, L; 
 for(L = 1; L<=10; L++) 
 { 
 for(C = 1; C <= 10; C++) 
 cout << "*"; 
 cout << "\n"; 
 } 
 cout << "\n\n"; 
system("pause");return 0; 
} 
RAV2 – RAV3 
Vamos colocar um for dentro de um for 
#include <iostream> 
#include <cstdlib> 
using namespace std; 
int main() 
{ 
 int C, L; 
 for(L = 1; L<=10; L++) 
 { 
 for(C = 1; C <= 10; C++) 
 cout << "*"; 
 cout << "\n"; 
 } 
 cout << "\n\n"; 
system("pause");return 0; 
} 
RAV2 – RAV3 
Vamos alterar o valor final do for interno 
#include <iostream> 
#include <cstdlib> 
using namespace std; 
int main() 
{ 
 int C, L; 
 for(L = 1; L<=10; L++) 
 { 
 for(C = 1; C <= L ; C++) 
 cout << "*"; 
 cout << "\n"; 
 } 
 cout << "\n\n"; 
system("pause");return 0; 
} 
RAV2 – RAV3 
Vamos alterar o valor final do for interno 
#include <iostream> 
#include <cstdlib> 
using namespace std; 
int main() 
{ 
 int C, L; 
 for(L = 1; L<=10; L++) 
 { 
 for(C = 1; C <= L ; C++) 
 cout << "*"; 
 cout << "\n"; 
 } 
 cout << "\n\n"; 
system("pause");return 0; 
} 
RAV2 – RAV3 
#include <iostream> 
#include <cstdlib>//Necessário em alguns Compiladores 
#include <clocale> //PARA ACENTUAR 
using namespace std; 
int main() 
{ 
 setlocale(LC_ALL, "Portuguese");//PARA ACENTUAR 
 int x; 
 long long num, fatorial; 
 cout << "\nDigite número positivo. Qualquer outro sai: "; 
 cin >> num; 
 while( num > 0 ) 
 { 
 fatorial = 1; //inicializando o acumulador de produto 
 for(x= 1; x <= num ; x++ ) //Pode ser de num até 1 
 fatorial *= x; 
 cout << "\nFatorial de "<< num << " = " << fatorial<< endl; 
 cout << "\nDigite número positivo. Qualquer outro sai: "; 
 cin >> num; 
 } 
 system("pause"); return 0; 
} 
O programa do fatorial 
A estrutura do for dentro 
da estrutura while 
RAV2 – RAV3 
#include <iostream> 
#include <cstdlib>//Necessário em alguns Compiladores 
#include <clocale> //PARA ACENTUAR 
using namespace std; 
int main() 
{ 
 setlocale(LC_ALL, "Portuguese");//PARA ACENTUAR 
 int x; 
 long long num, fatorial; 
 cout << "\nDigite número positivo. Qualquer outro sai: "; 
 cin >> num; 
 while( num > 0 ) 
 { 
 fatorial = 1; //inicializando o acumulador de produto 
 for(x= 1; x <= num ; x++ ) //Pode ser de num até 1 
 fatorial *= x; 
 cout << "\nFatorial de "<< num << " = " << fatorial<< endl; 
 cout << "\nDigite número positivo. Qualquer outro sai: "; 
 cin >> num; 
 } 
 system("pause"); return 0; 
} 
O programa do fatorial 
A estrutura do for dentro 
da estrutura while 
RAV2 – RAV3 
Acumulador 
Regras 
 
1- Declarar a variável com o mesmo tipo do dado que irá receber. 
 
2- Inicializar com elemento neutro da operação na maioria das vezes. 
Soma ou Subtração: 0 e Multiplicação e Divisão: 1 
 
3- Incluir na repetição o comando que representa o acumulador. 
 
4- Após a repetição,exibir , testar ou fazer algo que o inclua. 
Contar elementos de um conjunto ou somar( - * / ) elementos de um 
conjunto que atendam, ou não a uma condição. 
RAV2 – RAV3 
Regras 
 
1- float soma; 
 
2- soma=0; 
 
3- soma += nota; ou soma= soma + nota; 
 
4- cout << soma; // cout << soma / 30; -> média 
Calcular a média da turma de ILP com 30 alunos. 
Acumulador 
RAV2 – RAV3 
Regras 
 
1- int conta; 
 
2- conta=0; 
 
3- conta ++; ou conta +=1; ou conta = conta +1; 
 
4- cout << conta; ou (float) conta/ 40 * 100; -> percentual 
Contar as idades de 40 pessoas no intervalo 18 29 
Acumulador 
RAV2 – RAV3 
O programa que recebe idade de 50 pessoas e exibe, ao final, quantas têm 
idade maior ou igual a 60 anos. 
RAV2 – RAV3 
#include <iostream> 
#include <cstdlib> 
using namespace std; 
int main () 
{ 
 int i, idade, conta = 0; 
 for (i = 1; i <= 50; i++) 
 { 
 cout << "\nDigite idade: "; cin >> idade; 
 if(idade >= 65) conta++; 
 } 
 cout<<"\nTotal: "<<conta<<endl; 
 system("pause"); 
} 
RAV2 – RAV3 
#include <iostream> 
#include <cstdlib> 
#include <cmath> 
using namespace std; 
int main() 
{ int c=0, n; 
 while(c < 20 ) 
 { 
 cout<<"\nDois Numero maior que 0: "; cin>>n; 
 if( n >= 0 ) cout<<"\nRaiz: "<< sqrt(n)<<endl; 
 c += 2; 
 } 
 cout<<"\n\n"; system("pause"); return 0; 
} 
Observe o programa 
RAV2 – RAV3 
#include <iostream> 
#include <cstdlib> 
#include <cmath> 
using namespace std; 
int main() 
{ int c=0, n; 
 while(c < 20 ) 
 { 
 cout<<"\nDois Numero maior que 0: "; cin>>n;if( n >= 0 ) cout<<"\nRaiz: "<< sqrt(n)<<endl; 
 c += 2; 
 } 
 cout<<"\n\n"; system("pause"); return 0; 
} 
Observe o programa 
Qual estrutura está sendo 
simulada pelo while? 
RAV2 – RAV3 
for 
#include <iostream> 
#include <cstdlib> 
#include <cmath> 
using namespace std; 
int main() 
{ int c=0, n; 
 while(c < 20 ) 
 { 
 cout<<"\nDois Numero maior que 0: "; cin>>n; 
 if( n >= 0 ) cout<<"\nRaiz: "<< sqrt(n)<<endl; 
 c += 2; 
 } 
 cout<<"\n\n"; system("pause"); return 0; 
} 
Observe o programa 
Qual estrutura está sendo 
simulada pelo while? 
RAV2 – RAV3 
#include <iostream> 
#include <cstdlib> 
#include <cmath> 
using namespace std; 
int main() 
{ int c=0, n; 
 while(c < 20 ) 
 { 
 cout<<"\nDois Numero maior que 0: "; cin>>n; 
 if( n >= 0 ) cout<<"\nRaiz: "<< sqrt(n)<<endl; 
 c += 2; 
 } 
 cout<<"\n\n"; system("pause"); return 0; 
} 
Observe o programa 
Qual estrutura está sendo 
simulada pelo while? 
Quantas vezes o bloco será repetido? 
for 
RAV2 – RAV3 
#include <iostream> 
#include <cstdlib> 
#include <cmath> 
using namespace std; 
int main() 
{ int c=0, n; 
 while(c < 20 ) 
 { 
 cout<<"\nDois Numero maior que 0: "; cin>>n; 
 if( n >= 0 ) cout<<"\nRaiz: "<< sqrt(n)<<endl; 
 c += 2; 
 } 
 cout<<"\n\n"; system("pause"); return 0; 
} 
Observe o programa 
Qual estrutura está sendo 
simulada pelo while? 
Quantas vezes o bloco será repetido? 
for 
10 
0 2 4 6 8 10 12 14 16 18 
RAV2 – RAV3 
O programa que conta os algarismos de um número. 
RAV2 – RAV3 
#include <iostream> 
#include <cstdlib> 
using namespace std; 
int main() 
{ 
 int c = 0, num=319507 ; 
 while( num > 0 ) 
 { 
 c++; 
 num /= 10; 
 } 
 cout << c; 
 system("pause>NULL"); 
 return 0; 
} 
RAV2 – RAV3 
Aprendemos a criar 
RAV2 – RAV3 
cout<<"\nDigite idade: "; 
cin >>idade; 
while( idade < 0 || idade > 120 ) 
{ 
 cout<<"\nInvalida. Digite idade:"; 
 cin>>idade; 
} 
Proteção para entrada de idades válidas 
 
RAV2 – RAV3 
cout<<"\nDigite sexo (m ou f): "; 
cin >>sexo; sexo= tolower(sexo); 
while( sexo != 'm' && sexo != 'f' ) 
{ 
 cout<<"\nInvalido. Digite sexo (m ou f):"; 
 cin>>sexo; sexo= tolower(sexo); 
} 
Proteção para sexo M ou F 
 
RAV2 – RAV3 
Unidimensional 
Bidimensional 
 
2 
3 
1 
13 
A4x1 
2 3 1 13 A1x4 
a11 a12 a13 ... a1n 
a21 a22 a23 ... a3n 
a31 a32 a33 ... a3n 
... ... ... ... ... 
am1 am1 am2 ... amn 
Amxn 
ESTRUTURAS HOMOGÊNEAS 
RAV2 – RAV3 
Operação – Multiplicar por um escalar 
 
Aplicação: Gerar os novos salários 
 
Salarios 
 2415 
 1890 
 1155 
 2100 
Nsalarios 
 2300 
 1800 
 1100 
 2000 
X 1.05 = 
RAV2 – RAV3 
Operação – Somar duas matrizes 
Loja 
 25 
 38 
 120 
 13 
 40 
 50 
 150 
 20 
Total + = 
 15 
 12 
 30 
 7 
Estoque 
Aplicação: Controle de material 
 
RAV2 – RAV3 
Operação: somar os elementos da matriz 
 
 4200 
 5800 
 3000 
 7000 
Salarios Soma = 20000 
Aplicação: Total da Folha de Pagamento 
 
RAV2 – RAV3 
int 
float 
double 
char 
long long int 
... 
DECLARANDO Matriz - unidimensional (vetor) 
 
tipo nomeMatriz[tamanho]; 
RAV2 – RAV3 
1) Guardar 10 idades. 
2) Duas notas e a média de 50 alunos. 
3) Matrícula e CR de 60 alunos. 
4) Sexo de 30 pessoas. 
5) Nome de uma pessoa. 
DECLARANDO Matriz - unidimensional (vetor) 
 
RAV2 – RAV3 
1) Guardar 10 idades. 
2) Duas notas e a média de 50 alunos. 
3) Matrícula e CR de 60 alunos. 
4) Sexo de 30 pessoas. 
5) Nome de uma pessoa. 
DECLARANDO Matriz - unidimensional (vetor) 
 
RAV2 – RAV3 
Numérico ou vetor de char 
DECLARAÇÃO / ATRIBUIÇÃO 
int mat[]={9, 10, 10, 7, 8, 9, 9, 10, 6, 7, 8}; 
char sexo[]={'m' , 'f', 'f', 'f', 'f', 'm' ,'m' }; 
char frase[]="Linguagem C++"; 
RAV2 – RAV3 
Vetor de tamanho 5 e do tipo inteiro de quatro bytes 
Armazenamento na Memória Principal 
RAV2 – RAV3 
Armazenamento na Memória Principal 
RAV2 – RAV3 
endereço-base + deslocamento * tamanho do tipo 
O nome de uma matriz corresponde ao primeiro endereço do conjunto de endereços da 
Memória Principal. Para localizarmos um elemento da matriz, usamos a fórmula abaixo. 
 
Armazenamento na Memória Principal 
RAV2 – RAV3 
10000 
endereço-base + deslocamento * tamanho do tipo 
endereço-base 
Armazenamento na Memória Principal 
RAV2 – RAV3 
10000 
endereço-base + 2 * 4 = 1008 
10008 
endereço-base + deslocamento * tamanho do tipo 
Armazenamento na Memória Principal 
RAV2 – RAV3 
10000 10012 10016 10004 10008 
Armazenamento na Memória Principal 
RAV2 – RAV3 
Então, conclui-se que 0 significa que não existe 
deslocamento em relação ao endereço-base! 
 
RAV2 – RAV3 
TRECHOS DE ENTRADA 
 
Numérico ou char de um caracter Uma palavra 
Mais de uma palavra 
for (var = 0 ; var < tamanho ; var ++ ) 
{ 
 cout << "\nMensagem: "; 
 cin >> nomeVetor[ var] ; 
} 
cout<< "\nMensagem: "; 
cin >> nomeVetor; 
cout<< "\nMensagem: "; 
cin .getline( nomeVetor, tamanho); 
// para i tipo vetor char 
cout<< "\nMensagem: "; 
getline(cin, nomeVetor); 
// tipo o tipo string 
RAV2 – RAV3 
Numérico ou char (Matriz Coluna) 
Numérico ou char (Matriz Linha) 
Vetor de char 
TRECHOS DE SAÍDA 
 
cout << "\nTÍTULO\n"; 
for (var = 0 ; var < tamanho ; var ++ ) 
 cout << nomeMatriz [var] << "\n"; 
cout << "\nTÍTULO\n"; 
for (var = 0 ; var < tamanho ; var ++ ) 
 cout << nomeMatriz [var] << "\t"; 
cout << nomeMatriz << "\n"; 
RAV2 – RAV3 
for(x=0; x<10; x++) 
 { 
 cout<<"\nIdade: "; 
 cin>>idades[x]; 
 } 
 
cout<<"\n\nIdades\n\n"; 
 for(x=0; x<10; x++) 
 cout<<idades[x]<<"\t"; 
int idades[10] , x; 
 
Os três trechos da matriz linha 
 
RAV2 – RAV3 
Os três trechos da matriz coluna 
 
for(x=0; x<10; x++) 
 { 
 cout<<"\nIdade: "; 
 cin>>idades[x]; 
 } 
 
cout<<"\n\nIdades\n\n"; 
 for(x=0; x<10; x++) 
 cout<<idades[x]<<"\n"; 
int idades[10] , x; 
 
RAV2 – RAV3 
 for(x=0; x<TAM; x++) 
 soma[x]= A[x] + B[x]; 
 
Gerando o vetor soma de dois vetores 
 
RAV2 – RAV3 
for(x=0; x<TAM; x++) 
 media[x]=(A[x] + B[x])/2; 
 
Gerando o vetor media de dois vetores 
 
 for(x=0; x<TAM; x++) 
 soma[x]= A[x] + B[x]; 
 
Gerando o vetor soma de dois vetores 
 
RAV2 – RAV3 
soma=0; 
for(x=0; x<TAM; x++) 
 soma += vet[x]; 
Trecho que soma todos os elementos de um vetor 
RAV2 – RAV3 
Trecho que calcula a média todos os elementos de um vetor 
soma=0; 
for(x=0; x<TAM; x++) 
 soma += vet[x]; 
media = soma/TAM; 
soma=0; 
for(x=0; x<TAM; x++) 
 soma += vet[x]; 
Trecho que soma todos os elementos de um vetor 
RAV2 – RAV3 
Trecho que exibe os números múltiplos de 6 de um vetor 
 
for(x=0; x<TAM; x++) 
 if( vet[x] % 6 == 0) 
 cout << vet[x] << endl; 
RAV2 – RAV3 
Trecho que exibe total de números múltiplos de 6 de um vetor 
 
conta=0; 
for(x=0; x<TAM; x++) 
 if( vet[x] % 6 == 0) conta ++; 
cout << conta << endl; 
 
Trecho que exibe os números múltiplos de 6 de um vetor 
 
for(x=0; x<TAM; x++) 
 if( vet[x] % 6 == 0) 
 cout << vet[x] << endl; 
RAV2 – RAV3 
Programa que espelha uma string 
 
#include <iostream> 
#include <cstdlib> 
#include <cstring> 
using namespace std; 
int main ( ) 
{ 
 char frase[]="Linguagem C++"; 
 cout<< endl; 
 for(intx = strlen(frase) -1; x>=0; x--) 
 cout << frase[x]; 
 system("pause>NULL");return 0; 
}

Outros materiais