Buscar

Notas sobre C++

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 30 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 30 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 30 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

Primeiros Passos na Linguagem C/C++ 
A 1
Enquanto
n <= 20
Se
Fim
Prof. Raimundo J. Macário Costa 
(Estácio) 
2011 
Algoritmo 
 Algoritmo é um conjunto finito de regras, bem 
definidas, para a solução de um problema em 
um tempo finito (Orth Orth, 2001). 
 
 Programa é um algoritmo codificado (escrito) 
em uma linguagem de programação (C/C++) 
 
Como traduzir um algoritmo? 
 Exemplo: algoritmo que lê 3 valores, 
calcula a média e escreve o resultado na 
tela. 
 
 Para traduzi-lo, será necessário conhecer 
a sintaxe da linguagem C, isto é, como 
escrever corretamente o programa de 
forma que o compilador entenda. 
 
Algoritmo original 
INÍCIO 
 INTEIRO x, y, z 
 REAL média 
 LER x 
 LER y 
 LER z 
 média = (x+y+z)/3 
 ESCREVER média 
FIM 
 
Programa equivalente em C/C++ 
INÍCIO 
 INTEIRO x, y, z 
 REAL média 
 LER x 
 LER y 
 LER z 
 média = (x+y+z)/3 
 ESCREVER média 
FIM 
 
 
 
 
#include <iostream.h> 
main () 
{ 
 int x, y, z; 
 float media; 
 cin >> x; 
 cin >> y; 
 cin >> z; 
 media = (x+y+z)/3; 
 cout << media; 
} 
 
 
Olhando o programa de perto 
#include <iostream.h> 
main () 
{ 
 int x, y, z; 
 float media; 
 cin >> x; 
 cin >> y; 
 cin >> z; 
 media = (x+y+z)/3; 
 cout << media; 
} 
 
Olhando o programa de perto 
#include <iostream.h> 
main () 
{ 
 int x, y, z; 
 float media; 
 cin >> x; 
 cin >> y; 
 cin >> z; 
 media = (x+y+z)/3; 
 cout << media; 
} 
 
Indica uso da biblioteca para 
entrada e saída padrão (iostream) 
Olhando o programa de perto 
#include <iostream.h> 
main () 
{ 
 int x, y, z; 
 float media; 
 cin >> x; 
 cin >> y; 
 cin >> z; 
 media = (x+y+z)/3; 
 cout << media; 
} 
 
Corresponde ao INÍCIO do 
algoritmo (main – principal em 
inglês) 
Olhando o programa de perto 
#include <iostream.h> 
main () 
{ 
 int x, y, z; 
 float media; 
 cin >> x; 
 cin >> y; 
 cin >> z; 
 media = (x+y+z)/3; 
 cout << media; 
} 
 
Declaração de 3 variáveis do 
tipo inteiro (int) – x, y e z 
 
 
Observe que TODAS AS 
VARIÁVEIS devem ser 
declaradas antes de serem 
Usadas. 
Olhando o programa de perto 
#include <iostream.h> 
main () 
{ 
 int x, y, z; 
 float media; 
 cin >> x; 
 cin >> y; 
 cin >> z; 
 media = (x+y+z)/3; 
 cout << media; 
} 
 
Note que no final da cada 
comando é necessária a 
presença de um ponto-e-vírgula. 
Olhando o programa de perto 
#include <iostream.h> 
main () 
{ 
 int x, y, z; 
 float media; 
 cin >> x; 
 cin >> y; 
 cin >> z; 
 media = (x+y+z)/3; 
 cout << media; 
} 
 
Declaração da variável media, 
cujo tipo é real (float) 
 
Atenção! Repare que os nomes das 
variáveis não podem ter acentuação. 
Olhando o programa de perto 
#include <iostream.h> 
main () 
{ 
 int x, y, z; 
 float media; 
 cin >> x; 
 cin >> y; 
 cin >> z; 
 media = (x+y+z)/3; 
 cout << media; 
} 
 
Equivale ao LER: espera a digitação 
de um valor inteiro e armazena 
na variável x 
 
(Idem para as variáveis y e z) 
Olhando o programa de perto 
#include <iostream.h> 
main () 
{ 
 int x, y, z; 
 float media; 
 cin >> x; 
 cin >> y; 
 cin >> z; 
 media = (x+y+z)/3; 
 cout << media; 
} 
 
Calcula a média dos 3 números 
e armazena o resultado na 
variável media 
Olhando o programa de perto 
#include <iostream.h> 
main () 
{ 
 int x, y, z; 
 float media; 
 cin >> x; 
 cin >> y; 
 cin >> z; 
 media = (x+y+z)/3; 
 cout << media; 
} 
 
Finalmente, ESCREVE na tela 
o valor da variável media, 
calculado na linha anterior 
Olhando o programa de perto 
#include <iostream.h> 
main () 
{ 
 int x, y, z; 
 float media; 
 cin >> x; 
 cin >> y; 
 cin >> z; 
 media = (x+y+z)/3; 
 cout << media; 
} 
 
A chave final equivale ao 
FIM do algoritmo 
Problemas do programa? 
• O programa não informa nada ao usuário: irá 
esperar a digitação dos 3 valores, calcular a média e 
exibi-la na tela. 
 
• Porém, o usuário não tem a menor idéia do que o 
programa faz, a não ser que consulte o código-
fonte. 
 
• Para resolver o problema, temos que exibir 
mensagens que orientem o usuário: isso é essencial 
em qualquer programa, por menor que seja! 
Problemas do programa? 
#include <iostream.h> 
main () 
{ 
 int x, y, z; 
 float media; 
 cout << “Digite 3 valores: “; 
 cin >> x; 
 cin >> y; 
 cin >> z; 
 media = (x+y+z)/3; 
 cout << “A média é: “ << media; 
} 
 
Problemas do programa? 
• Escrever um algoritmo que lê as medidas de um 
terreno retangular e de uma casa sobre este 
terreno. 
 
• A seguir, calcula e exibe o percentual de área livre 
no terreno. 
 
• Codificaremos diretamente em C... 
 
 
 
 
Programa do Terreno e Casa 
 
 
 
 
 #include <iostream.h> 
main () 
{ 
 float larg_terr, alt_terr, larg_casa, alt_casa 
 float area_terr, area_casa, area_livre; 
 cout << “Digite as medidas do terreno: “; 
 cin >> larg_terr; 
 cin >> alt_ terr; 
 cout << “Digite as medidas da casa: “; 
 cin >> larg_casa; 
 cin >> alt_casa; 
 ... 
 continua 
 ... 
Programa do Terreno e Casa 
 
 
 
 
... 
 area_ terr = larg_ terr * alt_ terr; 
 area_casa = larg_casa * alt_casa; 
 area_livre = area_ terr – area_casa; 
 cout << “Percentual de área livre: “; 
 cout << area_livre / area_ terr * 100 << “%\n”; 
} 
Programa do Terreno e Casa 
 
 
 
 
... 
 area_ terr = larg_ terr * alt_ terr; 
 area_casa = larg_casa * alt_casa; 
 area_livre = area_ terr – area_casa; 
 cout << “Percentual de área livre: “; 
 cout << area_livre / area_ terr * 100 << “%\n”; 
} 
 
• O caractere \n significa “ir para a linha seguinte”, isto 
• é, faz com que a próxima mensagem seja exibida na 
• próxima linha da tela. 
• Observe que o resultado será exibido na mesma linha 
• do texto “Percentual de área livre” 
Outro exemplo: 
 
 
 
 
• Escrever um algoritmo que lê os coeficientes de 
uma equação de 2º grau. 
• A seguir, calcula e exibe as raízes (através da 
fórmula de Baskara). 
• Ao codificarmos esse algoritmo, surgirão alguns 
problemas... 
 
Programa das raízes 
 
 
 
 
#include <iostream.h> 
# include <math.h> 
main () 
{ 
 float a,b,c; 
 float delta,x1,x2; 
 cout << “Digite os 3 coeficientes: “; 
 cin >> a; 
 cin >> b; 
 cin >> c; 
 delta = b*b – 4 * a * c; 
 x1 = (-b + sqrt(delta)) / (2*a); 
 x2 = (-b - sqrt(delta)) / (2*a); 
 cout << “As raízes são: “; 
 cout << x1 << “ e “ << x2 << “\n”; 
} 
Programa das raízes 
 
 
 
 
#include <iostream.h> 
# include <math.h> 
main () 
{ 
 float a,b,c; 
 float delta,x1,x2; 
 cout << “Digite os 3 coeficientes: “; 
 cin >> a;cin >> b; 
 cin >> c; 
 delta = b*b – 4 * a * c; 
 x1 = (-b + sqrt(delta)) / (2*a); 
 x2 = (-b - sqrt(delta)) / (2*a); 
 cout << “As raízes são: “; 
 cout << x1 << “ e “ << x2 << “\n”; 
} 
Inclusão da biblioteca 
matemática (math.h) para que 
seja possível usar funções 
matemáticas, como raiz 
quadrada, potência, etc. 
Programa das raízes 
 
 
 
 
#include <iostream.h> 
# include <math.h> 
main () 
{ 
 float a,b,c; 
 float delta,x1,x2; 
 cout << “Digite os 3 coeficientes: “; 
 cin >> a; 
 cin >> b; 
 cin >> c; 
 delta = b*b – 4 * a * c; 
 x1 = (-b + sqrt(delta)) / (2*a); 
 x2 = (-b - sqrt(delta)) / (2*a); 
 cout << “As raízes são: “; 
 cout << x1 << “ e “ << x2 << “\n”; 
} 
Função raiz quadrada: 
sqrt (square root) 
Programa das raízes 
 
 
 
 
• Programas devem prever erros do usuário! 
• No caso do programa das raízes: 
• Valor de A pode ser negativo? 
• Delta pode dar negativo? 
• O que acontece? 
Exercício 
 
 
 
 
• Construa um programa que calcule a quantidade 
de latas de tinta necessárias e o custo para pintar 
tanques cilíndricos de combustível , em que são 
fornecidas a altura e o raio dos cilindros. 
• Sabendo que: 
• A lata de tinta custa R$ 50,00; 
• Cada lata contém 5 litros; 
• Cada lata de tinta pinta 3 metros quadrados. 
• Dados de entrada: altura (H) e raio (R). 
• Dados de saída: custo (C) e quantidade (QTDE). 
Exercício 
 
 
 
 
• Utilizando o planejamento reverso, sabemos que: 
• O custo é dado pela quantidade de latas * R$ 50,00; 
• A quantidade de latas é dada pela quantidade total de litros / 5; 
• A quantidade total de litros é dada pela área do cilindro / 3; 
• A área do cilindro é dad pela área da base + área lateral; 
• A área da base é (PI * pot(R,2); 
• A área lateral é altura * comprimento: (2 * PI * R * H); 
• Sendo que R (raio) e H (altura) são dados de entrada e PI é 
uma constante de valor conhecido: 3,14. 
Construção do algoritmo 
 
 
 
 
Algoritmo: Quantidade de latas de tintas 
Inicio 
 real: H, R; 
 real: C, Qtde, Area, Litro; 
 leia (H, R); 
 Area  (3,14 * pot(R,2)) + (2* 3,14 * R * H); 
 Litro  Area/3; 
 Qtde  Litro/5 
 C  Qtde * 50,00 
 escreva (C, Qtde); 
Fim. 
 
Construção de Pseudocódigo 
 
 
 
 
• Desenvolver um pseudocódigo para ler o nome, a idade, o 
cargo e o salário de 50 pessoas e verificar quantas possuem 
idade inferior a 30 anos e um salário superior a R$ 3.000,00. 
Algoritmo1 
Var nome, cargo: literal 
 idade, n_pessoa,s tot_pessoas: inteiro 
 salario: real 
Inicio 
 n_pessoas  1 
 tot_pessoas  0 
 
 enquanto (n_pessoas <= 50) Faça 
 Ler (nome, idade, cargo, salario) 
 se (idade <= 30) e (salario >= 3000,00) Então 
 tot_pessoas  tot_pessoas + 1 
 Fim-se 
 n_pessoas  n_pessoas +1 
 Fim-Enquanto 
 Motrar (“Total de pessoas que atendem a condição é ”, tot_pessoas 
Fim

Outros materiais

Materiais relacionados

Perguntas relacionadas

Materiais recentes

Perguntas Recentes