Você está na página 1de 12

$OJRUtWLPRVH3URJUDPDomR

Autoria: Jeanne Dobgenski

Tema 02
Variveis, Constantes, Operadores e Expresses

7HPD
Variveis, Constantes, Operadores e Expresses
Autoria: Jeanne Dobgenski
Como citar esse documento:
DOBGENSKI, Jeanne. Algoritmos e Programao: Variveis, Constantes, Operadores e Expresses. Caderno de Atividades. Valinhos: Anhanguera
Educacional, 2014.

ndice

CONVITELEITURA PORDENTRODOTEMA
Pg. 3 Pg. 3

ACOMPANHENAWEB
Pg. 14 Pg. 15

Pg. 18 Pg. 18

Pg. 19 Pg. 20

 $QKDQJXHUD (GXFDFLRQDO 3URLELGD D UHSURGXomR QDO RX SDUFLDO SRU TXDOTXHU PHLR GH LPSUHVVmR HP IRUPD LGrQWLFD UHVXPLGD RX PRGLFDGD HP OtQJXD
SRUWXJXHVDRXTXDOTXHURXWURLGLRPD
CONVITELEITURA
Sempre que necessrio resolver algum problema, importante analisar quais so as informaes (ou dados)
TXHHOHDSUHVHQWDHLGHQWLFDUFODUDPHQWHRTXHSUHFLVDVHUIHLWRSDUDVROXFLRQiOR(PSURJUDPDomRRVGDGRVVmR
representados por variveis ou constantes, e a forma de resolver o problema o algoritmo a ser implementado. Por sua
vez, os algoritmos sempre envolvem operaes matemticas e lgicas para efetuar os passos necessrios soluo do
problema.

1HVWHWHPDYRFrDSUHQGHUiFRPRGHQLUDVYDULiYHLVHRWLSRGHLQIRUPDomRTXHHODVSRGHPDUPD]HQDUFRQKHFHUiRV
principais operadores matemticos usados na linguagem C e ver os conceitos iniciais para usar as funes de leitura
HHVFULWD(VWHHVWXGRR D KDELOLWDUiDGHVHQYROYHUVHXVSULPHLURVSURJUDPDVFRPSXWDFLRQDLVRVTXDLVSRGHUmRXVDU
GLYHUVDVRSHUDo}HVPDWHPiWLFDVQDVROXomRLPSOHPHQWDGD(QWmRDSURYHLWHDRSRUWXQLGDGHHDSUHQGDVHPSUHPDLV

PORDENTRODOTEMA
Variveis,
V i i Constantes,
C t t Operadores
O d e Expresses
E

Para desenvolver e implementar algoritmos, voc precisar usar operadores matemticos e lgicos para obter os
resultados necessrios para a soluo do problema que estiver tratando. No entanto, fundamental conhecer os tipos
de dados que podem ser usados para armazenar as informaes necessrias para os procedimentos do algoritmo,
assim como a forma de obt-las por leitura e como apresent-las pela escrita.

importante que voc saiba corretamente que tipo de informao precisar armazenar e qual operao ser realizada
com ela, pois sua adequada representao permitir a otimizao dos recursos computacionais e de processamento.

Lembre-se de que o computador, ao executar um programa, precisar trabalhar com muitas informaes que devero
estar guardadas em algum lugar. Por isso, necessrio, no incio do programa, determinar quais so os dados do
DOJRULWPR GHQLORV H DUPD]HQDU HVSDoR HP PHPyULD SDUD TXH HOHV SRVVDP VHU XVDGRV GXUDQWH R SURFHVVDPHQWR

PORDENTRODOTEMA
Alm disso, eles podem ser constantes (no alteram seu contedo ou valor no decorrer da execuo do algoritmo) ou
variveis (alteram seu contedo ou valor durante a execuo do programa).

2VWLSRVGHGDGRVXVDGRVQDOLQJXDJHP&VmRDTXHOHVGHVFULWRVQR7HPDFKDULQWRDW'RXEOHHYRLG1RSULPHLUR
captulo do Livro-Texto da disciplina (MIZRAHI, 2007, p. 15), a autora indica o espao de armazenamento necessrio
para cada tipo de dado. importante que voc conhea o quanto de espao usado pelos tipos de dados para auxili-
OR D DGHQLUFRUUHWDPHQWHTXDOpRPDLVHFLHQWHSDUDDVLWXDomRTXHSUHFLVDUiLPSOHPHQWDU

A Tabela 2.1 apresenta uma compilao dos tipos de dados, sua interpretao e quanto de espao em memria
necessitam.
Tabela 2.1 Tipos de dados.

Tipo de dado 'HQLomR (VSDoRHPPHPyULD

So os nmeros pertencentes ao
conjunto dos Inteiros, isto , que no Ocupa 4 bytes na
int
possuem parte fracionria. Podem memria.
ser positivos, nulos ou negativos.

So os nmeros pertencentes ao
conjunto dos Reais, isto , que
podem possuir parte fracionria. Ocupa 4 bytes na
RDW
Tambm so chamados de pontos memria.
XWXDQWHV SRU FDXVD GD PDQHLUD
como o computador os armazena.


PORDENTRODOTEMA
So os valores pertencentes ao
conjunto de todos os caracteres
numricos (0...9), alfabticos (a...z,
$= HHVSHFLDLV #B  
(VVHFRQMXQWRWDPEpPpFRQKHFLGR
Ocupa 1 byte na
char como conjunto de caracteres
memria.
DOIDQXPpULFRV. Os caracteres
alfanumricos so armazenados
internamente no computador na
forma numrica (binria) utilizando
o padro ASCII3.
So nmeros reais armazenados
Ocupa 8 bytes na
double com maior preciso (maior nmero
memria.
de casas).
eXPWLSRHVSHFLFDGRSDUDLQGLFDU No ocupa espao em
void
que a funo no retorna valor. memria.
Fonte: adaptada de Mizrahi (2007, p. 15)

&RPRYRFrSHUFHEHXDGHQLomRGRWLSRGHGDGRVTXHVHUmRXVDGRVQRSURJUDPDpPXLWRLPSRUWDQWHPDVDLQGDp
preciso dar nome s variveis ou s constantes TXHRVDUPD]HQDUmRRXVHMDQRPHDURVLGHQWLFDGRUHV4XDQWRPDLV
claro o nome do LGHQWLFDGRU, mais fcil ser ler o programa escrito. Por exemplo, uma varivel que, no decorrer
do processamento do algoritmo, armazenar o resultado de uma soma, poder ser nomeada por soma simplesmente.
$JRUDVHIRUQRPHDGDSRU;RHQWHQGLPHQWRGHVHXVLJQLFDGRQmRpGLUHWRGHSHQGHUiGHXPDDQiOLVHGRFyGLJR
GLFXOWDQGRDOHLWXUDGRDOJRULWPR

Considere as seguintes regras para criar um LGHQWLFDGRU:

 6mRFRQVLGHUDGRVLGHQWLFDGRUHVRVQRPHVGDVYDULiYHLVIXQo}HVUyWXORVHRXWURVREMHWRVGHQLGRVSHORXVXiULR
'HYHPLQLFLDUFRPXPDOHWUDRXXPVXEOLQKDGRVHJXLGRVGHOHWUDVQ~PHURVRXVXEOLQKDGRV

 2VSULPHLURVVHLVFDUDFWHUHVVmRVLJQLFDWLYRVTXDQGRKRXYHUOLQNHGLomRH[WHUQDRXVHMDVHDFRPSLODomRpIHLWD
entre vrios arquivos, deve-se garantir que os seis primeiros caracteres sejam diferentes dos demais. A seguir,
apresentado um exemplo que mostra o que ocorreria na compilao simultnea de dois arquivos em C. Cada linha,
a seguir, mostra o nome do arquivo e uma varivelTXHIRLGHQLGDQRDUTXLYR

PORDENTRODOTEMA
 $UTXLYRLQWWHVWHB

 $UTXLYRLQWWHVWHB

 Sendo o Arquivo 1 e o Arquivo 2 compilados em conjunto, isso gerar um erro, pois nos dois arquivos existe
uma varivelLQWHLUDWHVWHBFXMRVVHLVSULPHLURVFDUDFWHUHVVmRLJXDLV/RJRSDUDHYLWDUHVVHWLSRGHVLWXDomR
SRGHULDWHUVLGRXWLOL]DGRLQWWHVWHHLQWWHVWHVHQGRTXHRVDOJDULVPRVHID]HPFRPTXHHVVHVLGHQWLFDGRUHV
VHMDPGLIHUHQWHVFDVRSDUDOLQNHGLomRH[WHUQD

 Se o LGHQWLFDGRUQmRHVWLYHUHQYROYLGRHPXPSURFHVVRH[WHUQRGHOLQNHGLomRHQWmRRVSULPHLURVFDUDFWHUHV
VHUmRVLJQLFDWLYRVVHXOWUDSDVVDUHVVHQ~PHURRH[FHVVRVHUiLJQRUDGR

 Letras maisculas e minsculas so tratadas de formas diferentes.

 Um LGHQWLFDGRU no pode ser igual a uma palavra-chave em C (tabela apresentada no Tema 1) ou a uma funo
GHELEOLRWHFDSDGUmRRXDLQGDDIXQo}HVTXHMiWHQKDPVLGRGHQLGDVSHORSURJUDPDGRU

 Podem ser seguidas por mais caracteres alfabticos e/ou numricos.

 eSHUPLWLGRRXVRGRFDUDFWHUHHVSHFLDOVXEOLQKD B 

 No permitido o uso de outros caracteres especiais.

Uma varivel p XPD SRVLomR GH PHPyULD QRPHDGD SHOR SURJUDPDGRU VHJXLQGR DV HVSHFLFDo}HV SDVVDGDV SDUD
LQGLFDGRU  H TXH JXDUGDUi XP YDORU TXH SRGHUi VHU PRGLFDGR GXUDQWH D H[HFXomR GR SURJUDPD$V YDULiYHLV VmR
fundamentais em qualquer algoritmo, sendo que suas caractersticas, descritas a seguir, precisam ser conhecidas.

 Todas as variveis devem ser declaradas antes de seu uso.

 6mRGHFODUDGDVHPWUrVOXJDUHVEiVLFRVGHQWURGHIXQo}HVQDGHQLomRGRVSDUkPHWURVGDVIXQo}HVHIRUDGH
todas as funes, sendo as variveis locais, os parmetros formais e as variveis globais, respectivamente.

 Variveis Locais:

 6mR GHQLGDV GHQWUR GH EORFRV GH FyGLJRV ^ `  H QmR VmR UHFRQKHFLGDV IRUD GHOHV SRLV VmR FULDGDV QD
entrada e destrudas na sada do bloco de cdigo.


PORDENTRODOTEMA
 $PHOKRUHVWUDWpJLDDVHUDGRWDGDpGHFODUDUWRGDVDVYDULiYHLVQRLQtFLRGREORFR DSyVR^ HDQWHVGH
TXDOTXHURXWURFRPDQGRDVVLPRFyGLJRFDIiFLOGHVHUOLGRHFRQIHULGR

 A principal vantagem em declarar uma varivel em um bloco de cdigo condicional (if) que esta s existir
se necessrio, ou seja, economiza memria. Isso importante para implementaes em que a memria RAM
escassa, como em controladores de porta de garagem, por exemplo.

 Parmetros Formais:

 So parmetros de funes e se comportam como qualquer outra varivel local dentro da funo.

 Parmetros formais devem ser do mesmo tipo dos argumentos utilizados na chamada da funo.

 Variveis Globais:

 So reconhecidas pelo programa inteiro e podem ser usadas em qualquer parte do cdigo. So teis quando
o mesmo dado usado em muitas funes no programa, mas seu uso desnecessrio deve ser evitado.

 A melhor estratgia declarar essas variveis no incio do programa.

 Varivel local e varivel global com mesmo nome pode ser um problema, pois a referncia a esse nome
no bloco de cdigo em que a varivel localIRLGHQLGDVyGL]UHVSHLWRDHODHQmRj varivel global.

 Variveis globais e variveis locais estticas no inicializadas so inicializadas com zero.

Ressalta-se que as variveis em um programa podem ter seu contedo alterado, consultado ou apagado muitas vezes
durante o algoritmo. No entanto, ao alterar o contedo da varivel, a informao anterior perdida, permanecendo
sempre a ltima informao armazenada na varivel3RULVVRpIXQGDPHQWDOYHULFDUVHDRDWULEXLUQRYRYDORUDXPD
varivel, necessrio guardar o valor anterior em alguma outra varivel auxiliar.

$OLQJXDJHP&DSUHVHQWDPRGLFDGRUHVTXHFRQWURODPDPDQHLUDFRPRDVYDULiYHLVSRGHPVHUDFHVVDGDVRXPRGLFDGDV
2PRGLFDGRUFRQVWQmRGHL[DTXHDVYDULiYHLVFRPHVVHPRGLFDGRUVHMDPDOWHUDGDVQRSURJUDPD6LQWD[HGHXVR
FRQVWLQWD 

&WDPEpPDSUHVHQWDHVSHFLFDGRUHVTXHVmRXVDGRVSDUDLQIRUPDUDRFRPSLODGRUFRPRDvarivel deve ser armazenada.


2HVSHFLFDGRUGHDUPD]HQDPHQWRSUHFHGHRUHVWRGDGHFODUDomRGDvarivel, como descrito a seguir:

PORDENTRODOTEMA
 externHVVHHVSHFLFDGRUGL]DRFRPSLODGRUTXHRVWLSRVHQRPHVGHvarivel que o seguem foram declarados
em outro lugar (por exemplo, em outro arquivo, como mostra o exemplo).
Arquivo 1 Arquivo 2

int x, y; extern int x, y;


char dado; extern char dado;

int main() int funcao2()


{ {
..... y = x;
} }

int funcao1() int funcao3()


{ {
x = 10; return (y);
} }

 Variveis static so variveis permanentes dentro de sua prpria funo ou arquivo.

 9DULiYHO ORFDO FRP R HVSHFLFDGRU VWDWLF UHWpP VHX YDORU HQWUH FKDPDGDV ([HPSOR JHUDGRU GH VpULH GH
nmeros que produz um novo com base no anterior.

 9DULiYHOJOREDOFRPRHVSHFLFDGRUVWDWLFpUHFRQKHFLGDDSHQDVQRDUTXLYRQRTXDOHODIRLGHFODUDGDRXVHMD
rotinas em outros arquivos no podem reconhec-la ou alterar seu contedo.

 register o padro ANSI determina que o acesso ao objeto o mais rpido possvel. S pode ser aplicado a
variveis locais e a parmetros formais em uma funo. Mais utilizado em variveis que possuem muita referncia,
FRPRQDVYDULiYHLVGHFRQWUROHGHODoRV6ySRVVXLHIHLWRVLJQLFDWLYRFRPRVWLSRVLQWHLURVHFDUDFWHUH

A atribuio, mencionada anteriormente, refere-se ao ato de atribuir um valor/informao a uma varivel, sendo que a
operao de atribuio na linguagem C representada pelo sinal de igual =. A Tabela 2.2 mostra alguns exemplos de
atribuio:


PORDENTRODOTEMA
Tabela 2.2([HPSORVGHDWULEXLomR

([HPSORVGDVDWULEXLo}HV
$WULEXLo}HV
indicadas
varivel = constante idade = 12 (l-se: idade recebe 12)
varivel = varivel preo = valor
varivel = expresso A=B+C
Fonte: adaptada de Carvalho (2007)

Alm dos casos apresentados na Tabela 2.2, o C permite que seja feita a atribuio do mesmo valor a muitas variveis
XVDQGRDWULEXLo}HVP~OWLSODVHPXP~QLFRFRPDQGR[ \ ] QHVVHH[HPSOR[\H]WHUmRFRPRFRQWH~GR

Como voc pode observar nos exemplos da Tabela 2.2, a varivel idade recebeu o valor 12, que um nmero constante.
J a varivel preo recebe o contedo de outra varivelLGHQWLFDGDFRPRYDORUHTXHQRH[HPSORQmRDSUHVHQWDVHX
contedo. O mesmo ocorre com a varivel$TXHUHFHEHRYDORUGDVRPDGHRXWUDVGXDVYDULiYHLV%H&(PVLWXDo}HV
como essas, ao analisar o cdigo, possvel saber de imediato que a varivel idade tem como contedo 12. Mas
PDLVGLItFLOLGHQWLFDURFRQWH~GRGDVYDULiYHLVSUHoRH$8PDIRUPDVLPSOHVGHYHULFDURFRQWH~GRGHVVDVYDULiYHLV
colocar uma instruo no programa para que escreva o contedo da varivel na tela do computador, por exemplo. A
essa instruo de sada de dados d-se o nome de printf() deve-se colocar entre parnteses o nome da varivel ou
da constanteTXHVHGHVHMDYHULFDURYDORUFRPRVHUiHVSHFLFDGRPDLVDGLDQWH

Outra considerao importante neste ponto que o tipo do dado interfere nessa atribuio. Por exemplo, se a varivel
LGDGH WLYHU VLGR GHFODUDGD QR SURJUDPD FRPR RDW LGDGH HQWmR DR DWULEXLU  j varivel idade, o computador o
DUPD]HQDUiFRPRXPYDORUUHDOHQmRFRPRXPYDORULQWHLUR(VVHpXPFXLGDGRTXHRGHVHQYROYHGRUSUHFLVDWHU
ou seja, analisar sempre se o contedo que est sendo atribudo varivelHVWiGHDFRUGRFRPVXDGHQLomRSRLVXPD
FRQIXVmRSRGHUiDOWHUDURUHWRUQRQDOGRSURJUDPDHpXPWLSRGHHUURGLItFLOGHVHUHQFRQWUDGR

8PDFDUDFWHUtVWLFDGDOLQJXDJHP&pRIDWRGHHODGLIHUHQFLDUOHWUDVPLQ~VFXODVHPDL~VFXODV(QWmRFRQVLGHUHTXHDR
GHQLUDvarivel soma como o LGHQWLFDGRU em que ser armazenado o resultado da adio de valores reais, voc
FRORFDVVHQRFyGLJRRDWVRPD0DVQRGHFRUUHUGRFyGLJRVHYRFrHVFUHYHVVHDVHJXLQWHDWULEXLomRGHYDORUHV
6RPD HVWDULDFRUUHWR"1mRSRUTXHSDUD&6RPDQmRH[LVWHHOHVyFRQKHFHVRPDFRPRIRLGHFODUDGRQR
SURJUDPD(QWmRpQHFHVViULDDWHQomRQDKRUDGHGLJLWDULPSOHPHQWDURFyGLJRHP&

PORDENTRODOTEMA
Outra instruo bastante utilizada a de leitura de alguma varivel ou constanteTXHQmRpGHQLGDa priori, no prprio
algoritmo, mas que poder ser indicada pelo usurio no decorrer da execuo do algoritmo um comando de entrada
GHGDGRV(VVDLQVWUXomRGHOHLWXUDHP&pGHQLGDFRPRVFDQI HGHIRUPDDQiORJDDSULQWI SUHFLVDLQIRUPDUHQWUH
os parnteses qual varivel ou constante armazenar a informao lida.

eLPSRUWDQWHUHVVDOWDUQRYDPHQWHTXHVHRWLSRGHGDGRGHQLGRSDUDDvarivel ou constante no for adequado


informao que ser lida (como foi explicado para a atribuio), poder existir um problema na execuo do programa.

$JRUDTXHYRFrMiVDEHGHQLURVWLSRVGHGDGRVDVHUHPXVDGRVHPXPDOJRULWPRVDEHLGHQWLFDUVHRVGDGRVVHUmR
constantesRXYDULiYHLVHFRPRVHUmRLGHQWLFDGRVSUHFLVDFRPSUHHQGHUTXDLVVmRRVWLSRVGHRSHUDo}HVTXHSRGHUi
realizar com essas informaes.

Os operadores matemticos so aqueles que efetuam as quatro operaes bsicas de adio, subtrao, multiplicao
e diviso. Na Tabela 2.3, so apresentados os principais operadores matemticos usados na linguagem C, sendo que
a precedncia indica qual operador dever ser executado primeiro. Lembre-se de que ao usar parnteses possvel
mudar a regra de precedncia, pois a operao entre parnteses passa a ser a primeira a ser executada.
Tabela 2.3 Principais operadores matemticos.

6tPERORGR
2SHUDomR Precedncia ([HPSOR
operador

Incremento ++ Mais alta ++a ou a++ (soma-se 1 ao operando a)

'HFUHPHQWR -- Mais alta --a ou a-- (subtrai-se 1 do operando a)

Multiplicao Mais alta D E DYH]HVE

'LYLVmR / Mais alta a/b (a dividido por b)

Mdulo  Mais alta DE UHWRUQDRUHVWRGDGLYLVmRGHDSRUE


PORDENTRODOTEMA
Adio + Mais baixa a+b (a mais b)
Subtrao - Mais baixa a-b (a menos b)
Fonte: Autora

2VRSHUDGRUHVGHLQFUHPHQWRHGHFUHPHQWRSRGHPVHUXVDGRVFRPRSUH[RRXVX[RGRRSHUDQGRPDVKiGLIHUHQoDV
que precisam ser conhecidas e por isso so resumidas na Tabela 2.4:

Tabela 2.48VRGHLQFUHPHQWRRXGHFUHPHQWRFRPRVX[RRXSUH[R

Operao Resultado

4XDQGRRRSHUDGRUGHLQFUHPHQWR
ou decremento precede seu
operando, C executa a operao de
incremento ou decremento antes
[  de usar o valor do operando.
\ [

Resultado: coloca 11 em y e x
incrementado em uma unidade e
passa a conter 11.
[  Resultado: y recebe 10 e depois
dessa atribuio x incrementado
\ [ e passa a conter 11.
Resultado:
[ 
y contm 9
\ [
x contm 9
Resultado:
[ 
y contm 10
\ [
x contm 9



PORDENTRODOTEMA
No se esquea de que em C tambm devem ser usados comentrios! Eles ajudaro seu programa a
FDUFODURHIiFLOGHVHUFRPSUHHQGLGR3RUWDQWRXVHDVQRWDo}HVLQGLFDGDVSDUDLQVHULUFRPHQWiULRVHP
programas C.

   EORFRGHFRPHQWiULR

 // - comentrio de uma linha.

Considere o seguinte problema e sua soluo algortmica para consolidar o que estudou at agora.

'HVHMDVHFDOFXODURVDOiULRGHXPIXQFLRQiULRTXHWHPJUDWLFDomRGHVREUHRVDOiULRHSDJDLPSRVWR
GHVREUHRVDOiULREDVH2SURJUDPDGHYHUiFDOFXODUHPRVWUDURVDOiULRDUHFHEHU

Em Algoritmo 1, apresentado o algoritmo que resolve o problema em pseudolinguagem, sendo que em


3URJUDPDpDSUHVHQWDGRRPHVPRDOJRULWPRLPSOHPHQWDGRHPOLQJXDJHP&

Algoritmo 1 Programa para o salrio a receber

// Declarao dos dados

valor real
sal_base // Salrio base
sal_receber // Salrio a receber
gratificacao // Gratificao
imposto //Imposto a pagar

,QVWUXo}HVGR3URJUDPD(QWUDGD 3URFHVVDPHQWRSada

,1,&,2
Leia(sal_base) // Valor passado pelo usurio via teclado na execuo do programa
gratificacao I VDOBEDVH   // *UDWLILFDomRSRGHULDVHUVDOBEDVH 
imposto I sal_base * (7/100) // Imposto, poderia ser sal_base*0,7
sal_receber I sal_base + gratificao - imposto // Salrio a receber
Escreva (sal_receber) // Mostra na tela do computador o salrio a receber
),0$/*25,702


PORDENTRODOTEMA
2EVHUYHRXVRGDVIXQo}HVSULQWI HVFDQI QR3URJUDPD(VVDVIXQo}HVVHUmRPXLWRXWLOL]DGDVHDV
GHWDOKDUHPRVQRSUy[LPR7HPD

Agora teste seus conhecimentos e boa sorte!

/*Programa 1 Implementao em C para o salrio a receber


Autora: Jeanne Dobgenski
Data: maio de 2014 */

#include <stdio.h>

int main()
{

// Declarao dos dados

float sal_base; // Salrio base


float sal_receber; // Salrio a receber
float gratificao; // Gratificao
float imposto; //Imposto a pagar

 ,QVWUXo}HVGR3URJUDPD(QWUDGD 3URFHVVDPHQWRSada */

VFDQI I VDOBEDVH  // Valor passado pelo usurio via teclado


JUDWLILFDomR VDOBEDVH    // *UDWLILFDomRSRGHULDVHUVDOBEDVH 
imposto = sal_base * (7/100); // Imposto, poderia ser sal_base*0,7
sal_receber = sal_base + gratificao imposto; // Salrio a receber
SULQWI 2VDOiULRDUHFHEHUpIVDOBUHFHEHU  // Imprime na tela o resultado
}



ACOMPANHENAWEB
3UHFHGrQFLD*HUDOGRV2SHUDGRUHV$ULWPpWLFRV
3 Gr L * OG 2 G $L pL

 Material sobre operadores matemticos, desenvolvido pelo professor Cristian Cechinel:


Precedncia Geral dos Operadores Aritmticos.
'LVSRQtYHOHPKWWSZZZFULVWLDQFHFKLQHOSUREUP\BILOHVDOJRULWKPVERRNKWPOQRGHKWPO!.
Acesso em: 22 mai. 2014.

3URJUDPDUHP&,QFOXLU%LEOLRWHFDV_)XQomRPDLQ_)XQomRSULQWI

 (VWHYtGHRGiFRQWLQXLGDGHjYLGHRDXODLQGLFDGDQR7HPDProgramar em C - Incluir Bibliotecas


| Funo main | Funo printf - Aula 2. Possui os passos iniciais para comear a desenvolver
pequenos programas.
'LVSRQtYHOHPKWWSVZZZ\RXWXEHFRPZDWFK"Y EO(-FJ0+B8!.
Acesso em: 22 mai. 2014. Tempo: 08:02.

3URJUDPDUHP&)D]HU&RPHQWiULRVHP&_&DUDFWHUH1RYD/LQKD?Q

 Terceira videoaula da srie que mostra como inserir comentrios em um programa desenvolvido
em linguagem C: Programar em C - Fazer Comentrios em C | Caractere Nova Linha \n - Aula 3.
'LVSRQtYHOSDUDGRZQORDGHPKWWSVZZZ\RXWXEHFRPZDWFK"Y 6-S5T46IDF!.
Acesso em: 22 mai. 2014.

)XQo}HVSULQWI HVFDQI

 Pgina referente s funes printf() e scanf() do curso on-line de C desenvolvido por Pedro
(OLDVH5XL%DUUHLUR
'LVSRQtYHOHPKWWSFXUVRQOLQHQRVDSRSWSDJHKWP!.
Acesso em: 22 mai. 2014.


AGORAASUAVEZ
,QVWUXo}HV
Agora, chegou a sua vez de exercitar seu aprendizado. A seguir, voc encontrar algumas questes de mltipla
escolha e dissertativas. Leia cuidadosamente os enunciados e atente-se para o que est sendo pedido.

4XHVWmR
Tendo como base o que estudou at agora, apresente um algoritmo em pseudolinguagem que leia trs nmeros reais e calcule a
soma de seus quadrados.



AGORAASUAVEZ
4XHVWmR
Indique o valor da varivel x em cada expresso aritmtica a seguir. Considere a=10, b=5, c=6, d=7, e=2 e f=3. Alm disso, todas
as variveis so inteiras.

 x = a + b;

 x = a + b - c;

 x = a*b - c;

 x = a + b*c;

 x = a + b*c/f - e;

 x = (a*b*c*d)/(e*f);
Marque a alternativa que contm os resultados corretos:

D  

E 

F  

G 

H  

4XHVWmR
3DUDRPHVPRSUREOHPDGHVFULWRQD4XHVWmRDSUHVHQWHDLPSOHPHQWDomRXVDQGRDOLQJXDJHP&


AGORAASUAVEZ
4XHVWmR

&ODVVLTXHDVVHJXLQWHVDUPDo}HVFRPR9HUGDGHLUDV 9 RX)DOVDV ) HDVVLQDOHDDOWHUQDWLYDTXHFRUUHVSRQGHjVHTXrQFLD


correta:

I. Tipos de dados inteiros so os nmeros pertencentes ao conjunto dos Inteiros, isto , que no possuem parte fracionria.
Podem ser positivos, nulos ou negativos.

II. Tipos de dados reais so os nmeros pertencentes ao conjunto dos Reais, isto , que podem possuir parte fracionria.
7DPEpPVmRFKDPDGRVGHSRQWRVXWXDQWHVSRUFDXVDGDPDQHLUDFRPRRFRPSXWDGRURVDUPD]HQD

III. Tipos de dados caracteres so os valores pertencentes ao conjunto de todos os caracteres numricos (0...9), alfabticos
D]$= HHVSHFLDLV #B  

Alternativas:

D  V, F, V.

E V, F, F.

F  F, V, F.

G V, V, F.

H  V, V, V.

4XHVWmR

)DoDXPSURJUDPDHP&TXHFDOFXOHHPRVWUHDiUHDGHXPWULkQJXORUHWkQJXORVDEHQGRVHTXHDiUHD  EDVH DOWXUD 



FINALIZANDO
Neste tema, voc estudou como importante saber o tipo de dado a ser declarado como constante e/ou varivel para
que o programa utilize-os no decorrer de sua execuo, procurando usar os recursos computacionais adequadamente.
7DPEpPFRPSUHHQGHXTXHDLGHQWLFDomRGHXPGDGRpIHLWDSRUXPDQRPHDomRFODUDHREMHWLYDGRTXHVHGHVHMD
representar, usando as regras descritas no texto.

Outro assunto muito importante diz respeito aos operadores matemticos que so largamente utilizados em algoritmos.
Mas lembre-se de que foram apresentados apenas os operadores que representam operaes matemticas bsicas,
sendo que existem operadores como exponenciao, raiz, funes de seno e cosseno, entre tantos outros. Portanto,
esteja atento s referncias indicadas.

$YDOLHVHXDSUHQGL]DGRHIDoDDVDWLYLGDGHVSURSRVWDV

REFERNCIAS
CARVALHO, Flvia Pereira de. Apostila de Lgica de Programao ALGORITMOS'LVSRQtYHOHPKWWSZZZGDLQI
FWXWISUHGXEUaSEXHQR$UTXLYRVDSRVWLODBDOJRULWPRVB)ODYLDSGI$FHVVRHPPDLR
&(&+,1(/&ULVWLDQOperadores Matemticos'LVSRQtYHOHPKWWSZZZFULVWLDQFHFKLQHOSUREUP\BILOHVDOJRULWKPVERRNKWPO
QRGHKWPO!. Acesso em: 22 maio 2014.
(/,$63HGUR%$55(,525XLCurso online de C'LVSRQtYHOHPKWWSFXUVRQOLQHQRVDSRSWSDJHKWP!. Acesso em: 22
maio 2014.
*20(6$EHODesenho de Algoritmos e Programao EstruturadaVOLGHVGH$XOD'LVSRQtYHOHP<http://www.di.ubi.
SWaSURJUDPDFDRFDSLWXORSGI!. Acesso em: 15 maio 2014.
MIZRAHI, Victorine Viviane. Treinamento em Linguagem C. So Paulo: Pearson, 2007.
3LYD-XQLRU'LOHUPDQGR1DNDPLWL*LOEHUWR6KLJXHR(QJHOEUHFKW$QJHODGH0%LDQFKL)UDQFLVFRAlgoritmos e Programao


REFERNCIAS
de Computadores. 5LRGH-DQHLUR(OVHYLHU
352*5$0$5HP&)D]HU&RPHQWiULRVHP&_&DUDFWHUH1RYD/LQKD?Q$XOD'LVSRQtYHOHP<https://www.youtube.com/
ZDWFK"Y 6-S5T46IDF!. Acesso em: 22 maio 2014.
352*5$0$5HP&,QFOXLU%LEOLRWHFDV_)XQomRPDLQ_)XQomRSULQWI$XOD'LVSRQtYHOHP<https://www.youtube.com/
ZDWFK"Y EO(-FJ0+B8!. Acesso em: 22 maio 2014.
6&+,/'7+HUEHUW&completo e total6mR3DXOR0DNURQ%RRNV
ZIVIANI, Nivio. Projeto de Algoritmos: com implementaes em Pascal e C. So Paulo: Pioneira, 2002.

GLOSSRIO
&RQVWDQWH pXPLGHQWLFDGRUTXHDUPD]HQDXPYDORU[RHLPXWiYHOGXUDQWHDH[HFXomRGHXPDOJRULWPRRXSURJUDPD
3RGHPRVDVVRFLiORDXPDSRVLomRGHPHPyULD HQGHUHoR TXHWHPXPFRQWH~GR[R(VVHFRQWH~GRSRGHUiVHUXP
nmero (real ou inteiro), uma cadeia de caracteres (texto) ou um valor lgico (CARVALHO, 2007).

,GHQWLFDGRU representa o nome escolhido para rotular variveis, constantes, procedimentos e funes.

9DULiYHOpXPLGHQWLFDGRUTXHFRPRVXJHUHRQRPHSRVVXLRFRQWH~GRYDULiYHOGXUDQWHDH[HFXomRGHXPDOJRULWPR
ou programa. Podemos associar uma varivel a uma posio da memria (endereo) e podemos armazenar (guardar)
neste endereo qualquer valor do conjunto de valores de um tipo bsico associado a ela. Uma varivel pode assumir
vrios valores diferentes ao longo da execuo do programa, mas, em determinado momento, possui apenas um valor
(CARVALHO, 2007).

9DULiYHOJOREDOHVWDYDULiYHOpGHFODUDGDIRUDGHTXDOTXHUIXQomR3RUFRQYHQomRJHUDOPHQWHVHXWLOL]DXQGHUOLQH B 
QRFRPHoRGRQRPHGDYDULiYHOSDUDIDFLOLWDUDOHLWXUDGRSURJUDPDHIDFLOPHQWHLGHQWLFDUTXHVHWUDWDGHXPDYDULiYHO
JOREDO$VYDULiYHLVJOREDLVSRGHPVHUXWLOL]DGDVSRUTXDOTXHUIXQomR(TXDOTXHUIXQomRSRGHDOWHUDUVHXYDORUXWLOL]iOD
em um processo ou, at mesmo, atribuir outro valor.



GLOSSRIO
9DULiYHOORFDO aquela na qual apenas a funo em que ela foi declarada (ou bloco de comandos) pode us-la. Por
exemplo, se foi declarado int x dentro da funo main, apenas a funo main poder utiliz-la para guardar dados, e
nenhuma outra funo poder utilizar o int x da funo main.

GABARITO
4XHVWmR
5HVSRVWD //Algoritmo que calcula a soma do quadrado de trs nmeros
'HFODUDomRGRVGDGRV

valor real
A // primeira varivel
B // segunda varivel
C // terceira varivel
S // varivel soma

,QVWUXo}HVGR3URJUDPD(QWUDGD3URFHVVDPHQWR6DtGD
(QWUDGD
/(,$ $  SULPHLUDYDULiYHO
/(,$ %  VHJXQGDYDULiYHO
/(,$ &  WHUFHLUDYDULiYHO


GABARITO

//Processamento
6 $ $  % %  & &

//Sada
(6&5(9$ $VRPDp (6&5(9$ 6
4XHVWmR
5HVSRVWD Alternativa C.
4XHVWmR
5HVSRVWD $OJRULWPRTXHFDOFXODDVRPDGRTXDGUDGRGHWUrVQ~PHURV 

LQFOXGHVWGLRK!

int main()
^

'HFODUDomRGRVGDGRV

RDW$ SULPHLUDYDULiYHO
RDW%VHJXQGDYDULiYHO
RDW&WHUFHLUDYDULiYHO
RDW6 YDULiYHOVRPD



GABARITO
 ,QVWUXo}HVGR3URJUDPD(QWUDGD3URFHVVDPHQWR6DtGD 

(QWUDGD
SULQWI (QWUHFRPRVYDORUHVGDVYDULiYHLVDEHFUHVSHFWLYDPHQWH?Q 
VFDQI I $  SULPHLUDYDULiYHO
VFDQI I %  VHJXQGDYDULiYHO
VFDQI I &  WHUFHLUDYDULiYHO

//Processamento
6  $ $  % %  & & 

//Sada
SULQWI $VRPDpI?Q6 
`
4XHVWmR
5HVSRVWD$OWHUQDWLYD(
4XHVWmR
5HVSRVWD
 $OJRULWPRTXHFDOFXODiUHDGRWULkQJXORUHWkQJXOR 

LQFOXGHVWGLRK!

int main()
^
'HFODUDomRGRVGDGRV


GABARITO

RDWDUHD
RDWEDVH
RDWDOWXUD

(QWUDGD
SULQWI (QWUHFRPEDVHHDDOWXUDGRWULkQJXORUHWkQJXORUHVSHFWLYDPHQWH?Q 
VFDQI I EDVH HQWUDGDGRYDORUGDEDVH
VFDQI I DOWXUD  HQWUDGDGRYDORUGDDOWXUDGRWULDQJXOR

//Processamento
DUHD  EDVH DOWXUD 

//Sada
SULQWI UHDGRWULkQJXORUHWkQJXORpI?QDUHD 
`