Buscar

Introdução à Linguagem C/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 5 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

Prévia do material em texto

1
Primeiros Passos naPrimeiros Passos na
Linguagem C/C++Linguagem C/C++
Prof. Marcelo CohenProf. Marcelo Cohen
flash@flash@infinf..pucrspucrs..brbr
Algoritmos x ProgramaçãoAlgoritmos x Programação
❂❂ Algoritmo é Algoritmo é um conjunto finito deum conjunto finito de
regras, bem definidas, para a soluçãoregras, bem definidas, para a solução
de um problema em um tempo finitode um problema em um tempo finito
((OrthOrth, 2001)., 2001).
❂❂ ProgramaPrograma é um algoritmo codificado é um algoritmo codificado
(escrito) em uma linguagem de(escrito) em uma linguagem de
programação (C/C++)programação (C/C++)
Como traduzir umComo traduzir um
algoritmo ?algoritmo ?
❂❂ Exemplo: algoritmo que lê 3 valores,Exemplo: algoritmo que lê 3 valores,
calcula a média e escreve o resultadocalcula a média e escreve o resultado
na telana tela
❂❂ Para traduzi-Para traduzi-lolo, será necessário, será necessário
conhecer a conhecer a sintaxesintaxe da linguagem C, da linguagem C,
isto é, como escrever corretamente oisto é, como escrever corretamente o
programa de forma que o compiladorprograma de forma que o compilador
entenda.entenda.
Algoritmo originalAlgoritmo original
INÍCIOINÍCIO
 INTEIRO x, y, z INTEIRO x, y, z
 REAL média REAL média
 LER x LER x
 LER y LER y
 LER z LER z
 média = (x+y+z)/3 média = (x+y+z)/3
 ESCREVER média ESCREVER média
FIMFIM
Programa equivalente em C/C++Programa equivalente em C/C++
INÍCIOINÍCIO
 INTEIRO x, y, z INTEIRO x, y, z
 REAL média REAL média
 LER x LER x
 LER y LER y
 LER z LER z
 média = (x+y+z)/3 média = (x+y+z)/3
 ESCREVER média ESCREVER média
FIMFIM
##include include <<iostreamiostream.h>.h>
mainmain()()
{{
 intint x, y, z; x, y, z;
 floatfloat media; media;
 cincin >> x; >> x;
 cincin >> y; >> y;
 cincin >> z; >> z;
 media = (x+y+z)/3; media = (x+y+z)/3;
 coutcout << media; << media;
}}
Olhando o programa de pertoOlhando o programa de perto
##include include <<iostreamiostream.h>.h>
mainmain()()
{{
 intint x, y, z; x, y, z;
 floatfloat media; media;
 cincin >> x; >> x;
 cincin >> y; >> y;
 cincin >> z; >> z;
 media = (x+y+z)/3; media = (x+y+z)/3;
 coutcout << media; << media;
}}
2
Olhando o programa de pertoOlhando o programa de perto
##include include <<iostreamiostream.h>.h>
mainmain()()
{{
 intint x, y, z; x, y, z;
 floatfloat media; media;
 cincin >> x; >> x;
 cincin >> y; >> y;
 cincin >> z; >> z;
 media = (x+y+z)/3; media = (x+y+z)/3;
 coutcout << media; << media;
}}
Indica uso da biblioteca para
entrada e saída padrão (iostream)
Olhando o programa de pertoOlhando o programa de perto
##include include <<iostreamiostream.h>.h>
mainmain()()
{{
 intint x, y, z; x, y, z;
 floatfloat media; media;
 cincin >> x; >> x;
 cincin >> y; >> y;
 cincin >> z; >> z;
 media = (x+y+z)/3; media = (x+y+z)/3;
 coutcout << media; << media;
}}
Corresponde ao INÍCIO do
algoritmo (main – principal em
inglês)
Olhando o programa de pertoOlhando o programa de perto
##include include <<iostreamiostream.h>.h>
mainmain()()
{{
 intint x, y, z; x, y, z;
 floatfloat media; media;
 cincin >> x; >> x;
 cincin >> y; >> y;
 cincin >> z; >> z;
 media = (x+y+z)/3; media = (x+y+z)/3;
 coutcout << media; << 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 pertoOlhando o programa de perto
##include include <<iostreamiostream.h>.h>
mainmain()()
{{
 intint x, y, z x, y, z;;
 floatfloat media; media;
 cincin >> x; >> x;
 cincin >> y; >> y;
 cincin >> z; >> z;
 media = (x+y+z)/3; media = (x+y+z)/3;
 coutcout << media; << media;
}}
Note que no final da cada
comando é necessária a presença
de um ponto-e-vírgula!
Olhando o programa de pertoOlhando o programa de perto
##include include <<iostreamiostream.h>.h>
mainmain()()
{{
 intint x, y, z; x, y, z;
 floatfloat media; media;
 cincin >> x; >> x;
 cincin >> y; >> y;
 cincin >> z; >> z;
 media = (x+y+z)/3; media = (x+y+z)/3;
 coutcout << media; << 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 pertoOlhando o programa de perto
##include include <<iostreamiostream.h>.h>
mainmain()()
{{
 intint x, y, z; x, y, z;
 floatfloat media; media;
 cincin >> x; >> x;
 cincin >> y; >> y;
 cincin >> z; >> z;
 media = (x+y+z)/3; media = (x+y+z)/3;
 coutcout << media; << 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)
3
Olhando o programa de pertoOlhando o programa de perto
##include include <<iostreamiostream.h>.h>
mainmain()()
{{
 intint x, y, z; x, y, z;
 floatfloat media; media;
 cincin >> x; >> x;
 cincin >> y; >> y;
 cincin >> z; >> z;
 media = (x+y+z)/3;media = (x+y+z)/3;
 coutcout << media; << media;
}}
Calcula a média dos 3 números
e armazena o resultado na
variável media
Olhando o programa de pertoOlhando o programa de perto
##include include <<iostreamiostream.h>.h>
mainmain()()
{{
 intint x, y, z; x, y, z;
 floatfloat media; media;
 cincin >> x; >> x;
 cincin >> y; >> y;
 cincin >> z; >> z;
 media = (x+y+z)/3; media = (x+y+z)/3;
 coutcout << media; << media;
}}
Finalmente, ESCREVE na
tela o valor da variável
media, calculado na linha
anterior
Olhando o programa de pertoOlhando o programa de perto
##include include <<iostreamiostream.h>.h>
mainmain()()
{{
 intint x, y, z; x, y, z;
 floatfloat media; media;
 cincin >> x; >> x;
 cincin >> y; >> y;
 cincin >> z; >> z;
 media = (x+y+z)/3; media = (x+y+z)/3;
 coutcout << media; << media;
}}
A chave final equivale ao
FIM do algoritmo
Problema do programa ?Problema do programa ?
❂❂ O programa não informa nada ao usuário: iráO programa não informa nada ao usuário: irá
esperar a digitação dos 3 valores, calcular aesperar a digitação dos 3 valores, calcular a
média e exibi-média e exibi-lala na tela. na tela.
❂❂ Porém, o usuário não tem a menor idéia doPorém, o usuário não tem a menor idéia do
que o programa faz, a não ser que consulte oque o programa faz, a não ser que consulte o
código-fonte.código-fonte.
❂❂ Para resolver o problema, temos que exibirPara resolver o problema, temos que exibir
mensagens que orientem o usuário: isso émensagens que orientem o usuário: isso é
essencialessencial em qualquer programa, por menor em qualquer programa, por menor
que seja!que seja!
Tornando o programa maisTornando o programa mais
“amigável”“amigável”
##include include <<iostreamiostream.h>.h>
mainmain()()
{{
 intint x, y, z; x, y, z;
 floatfloat media; media;
 cout cout << “Digite 3 valores: “;<< “Digite 3 valores: “;
 cincin >> x; >> x;
 cincin >> y; >> y;
 cincin >> z; >> z;
 media = (x+y+z)/3; media = (x+y+z)/3;
 cout cout << “A média é: “ << media;<< “A média é: “ << media;
}}
Outro exemplo:Outro exemplo:
❂❂ Escrever um algoritmo que lê asEscrever um algoritmo que lê as
medidas de um terreno retangular e demedidas de um terreno retangular e de
uma casa sobre este terreno.uma casa sobre este terreno.
❂❂ A seguir, calcula e exibe o percentualA seguir, calcula e exibe o percentual
de área livre no terreno.de área livre no terreno.
❂❂ Algoritmo já resolvido em aula!Algoritmo já resolvido em aula!
❂❂ Codificaremos diretamente em C...Codificaremos diretamente em C...
4
Programa do Terreno e CasaPrograma do Terreno e Casa
##include include <<iostreamiostream.h>.h>
mainmain()()
{{
 float largfloat larg__terrterr, , altalt__terrterr,, larglarg_casa, _casa, altalt_casa;_casa;
 floatfloat areaarea__terrterr, , areaarea_casa, _casa, areaarea_livre;_livre;
 cout cout << “Digite as medidas do terreno: “;<< “Digite as medidas do terreno: “;
 cincin >> >> larglarg__terrterr;;
 cincin >> >> altalt__terrterr;;
 coutcout << “Digite as medidas da casa: “; << “Digite as medidas da casa: “;
 cin cin >> >> larglarg_casa;_casa;
 cin cin >> >> altalt_casa;_casa;
 ......
 continua continua
 ... ...
Programa do Terreno e CasaPrograma do Terreno e Casa
 ... ...
 areaarea__terr terr = = larglarg__terr terr * * altalt__terrterr;;
 areaarea_casa = _casa = larglarg_casa * _casa * altalt_casa;_casa;
 areaarea_livre = _livre = areaarea__terr terr – – areaarea_casa;_casa;
 cout cout << “Percentual de área livre: “;<< “Percentual de área livre: “;
 cout cout << << areaarea_livre / _livre / areaarea__terr terr * 100 << “%\n”;* 100 << “%\n”;
}}
Programa do Terreno e CasaPrograma do Terreno e Casa
 ... ...
 areaarea__terr terr = = larglarg__terr terr * * altalt__terrterr;;
 areaarea_casa = _casa = larglarg_casa * _casa * altalt_casa;_casa;
 areaarea_livre = _livre = areaarea__terr terr – – areaarea_casa;_casa;
 cout cout << “Percentual de área livre: “;<< “Percentual de área livre: “;
 cout cout << << areaarea_livre / _livre / areaarea__terr terr * 100 << “%* 100 << “%\n\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:Outro exemplo:
❂❂ Escrever um algoritmo que lê osEscrever um algoritmo que lê os
coeficientes de uma equação de 2coeficientes de uma equação de 2oo
grau.grau.
❂❂ A seguir, calcula e exibe as raízesA seguir, calcula e exibe as raízes
(através da fórmula de (através da fórmula de BaskaraBaskara).).
❂❂ Ao codificarmos esse algoritmo,Ao codificarmos esse algoritmo,
surgirão alguns problemas...surgirão alguns problemas...
Programa das RaízesPrograma das Raízes
##include include <<iostreamiostream.h>.h>
##include include <<mathmath.h>.h>
mainmain()()
{{
 float float a,b,c;a,b,c;
 floatfloat delta,x1,x2; delta,x1,x2;
 cout cout << “Digite os 3 coeficientes: “;<< “Digite os 3 coeficientes: “;
 cincin >> a; >> a;
 cincin >> b; >> b;
 cin cin >> c;>> c;
 delta = b*b – 4 * a * c; delta = b*b – 4 * a * c;
 x1 = (-b + x1 = (-b + sqrtsqrt(delta)) / (2*a);(delta)) / (2*a);
 x2 = (-b - x2 = (-b - sqrtsqrt(delta)) / (2*a);(delta)) / (2*a);
 cout cout << “As raízes são: “;<< “As raízes são: “;
 cout cout << x1 << “ e “ << x2 << “\n”;<< x1 << “ e “ << x2 << “\n”;
}}
Programa das RaízesPrograma das Raízes
##include include <<iostreamiostream.h>.h>
##include include <<mathmath.h>.h>
mainmain()()
{{
 float float a,b,c;a,b,c;
 floatfloat delta,x1,x2; delta,x1,x2;
 cout cout << “Digite os 3 coeficientes: “;<< “Digite os 3 coeficientes: “;
 cincin >> a; >> a;
 cincin >> b; >> b;
 cin cin >> c;>> c;
 delta = b*b – 4 * a * c; delta = b*b – 4 * a * c;
 x1 = (-b + x1 = (-b + sqrtsqrt(delta)) / (2*a);(delta)) / (2*a);
 x2 = (-b - x2 = (-b - sqrtsqrt(delta)) / (2*a);(delta)) / (2*a);
 cout cout << “As raízes são: “;<< “As raízes são: “;
 cout cout << x1 << “ e “ << x2 << “\n”;<< 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.
5
Programa das RaízesPrograma das Raízes
##include include <<iostreamiostream.h>.h>
##include include <<mathmath.h>.h>
mainmain()()
{{
 float float a,b,c;a,b,c;
 floatfloat delta,x1,x2; delta,x1,x2;
 cout cout << “Digite os 3 coeficientes: “;<< “Digite os 3 coeficientes: “;
 cincin >> a; >> a;
 cincin >> b; >> b;
 cin cin >> c;>> c;
 delta = b*b – 4 * a * c; delta = b*b – 4 * a * c;
 x1 = (-b + x1 = (-b + sqrtsqrt(delta)(delta)) / (2*a);) / (2*a);
 x2 = (-b - x2 = (-b - sqrtsqrt(delta)) / (2*a);(delta)) / (2*a);
 cout cout << “As raízes são: “;<< “As raízes são: “;
 cout cout << x1 << “ e “ << x2 << “\n”;<< x1 << “ e “ << x2 << “\n”;
}}
Função raiz quadrada:
sqrt (square root)
O O que pode dar errado que pode dar errado ??
❂❂ ProgramasProgramas devemdevem preverprever erros erros dodo
usuáriousuário!!
❂❂ No No caso caso do do programa das raízesprograma das raízes::
•• Valor de A Valor de A pode ser negativo pode ser negativo ??
•• Delta Delta pode dar negativo pode dar negativo ??
❂❂ OO que acontece que acontece ??

Continue navegando