SlideShare una empresa de Scribd logo
1 de 139
Descargar para leer sin conexión
PROFª. SOLIMARA RAVANI DE SANT’ANNA
PROGRAMAÇÃO I
VITÓRIA
2009
2
Tecnologia em Análise e Desenvolvimento de Sistemas
Governo Federal
Ministro de Educação
Fernando Haddad
Ifes – Instituto Federal do Espírito Santo
Reitor
Dênio Rebello Arantes
Pró-Reitora de Ensino
Cristiane Tenan Schlittler dos Santos
Coordenadora do CEAD – Centro de Educação a Distância
Yvina Pavan Baldo
Coordenadoras da UAB – Universidade Aberta do Brasil
Yvina Pavan Baldo
Maria das Graças Zamborlini
Curso de Tecnologia em Análise e Desenvolvimento de Sistemas
Coordenação de Curso
Isaura Nobre
Designer Instrucional
Danielli Veiga Carneiro
Professor Especialista/Autor
Solimara Ravani Sant’Anna
Catalogação da fonte: Rogéria Gomes Belchior - CRB 12/417
S231 Sant’Anna, Solimara Ravani
	ProgramaçãoI./SolimaraRavaniSant’Anna.–Vitória:CEFETES,2007.
139 p. : il.
	1. Algoritmos. 2. C (linguagem de programação de computadores). 	
		 3. Programação de computadores. I. Centro Federal de Educação
Tecnológica do Espírito Santo. II. Título.
CDD 005.133
005.1
DIREITOS RESERVADOS
Ifes – Instituto Federal do Espírito Santo
Av. Vitória – Jucutuquara – Vitória – ES - CEP - (27) 3331.2139
Créditos de autoria da editoração
Capa: Juliana Cristina da Silva
Projeto gráfico: Juliana Cristina da Silva / Nelson Torres
Iconografia: Nelson Torres
Editoração eletrônica: Duo Translations
Revisão Técnica:
Henrique Monteiro Cristovão
Revisão de texto:
Ilioni Augusta da Costa
Maria Madalena Covre da Silva
COPYRIGHT – É proibida a reprodução, mesmo que parcial, por qualquer meio, sem autorização escrita dos autores
e do detentor dos direitos autorais.
3
Programação I
Olá, Aluno(a)!
É um prazer tê-lo(a) conosco.
O Ifes oferece a você, em parceria com as Prefeituras e com o Governo
Federal, o Curso Superior de Tecnologia em Análise e Desenvolvimento
de Sistemas, na modalidade a distância. Apesar de este curso ser ofertado
a distância, esperamos que haja proximidade entre nós, pois, hoje, graças
aos recursos da tecnologia da informação (e-mails, chat, videoconferên-
cia, etc.), podemos manter uma comunicação efetiva.
É importante que você conheça toda a equipe envolvida neste curso: coor-
denadores, professores especialistas, tutores a distância e tutores presenciais,
porque, quando precisar de algum tipo de ajuda, saberá a quem recorrer.
Na EaD - Educação a Distância, você é o grande responsável pelo sucesso da
aprendizagem. Por isso, é necessário que você se organize para os estudos e
para a realização de todas as atividades, nos prazos estabelecidos, conforme
orientação dos Professores Especialistas e Tutores.
Fique atento às orientações de estudo que se encontram no Manual do Aluno.
A EaD, pela sua característica de amplitude e pelo uso de tecnologias mo-
dernas, representa uma nova forma de aprender, respeitando, sempre, o
seu tempo.
Desejamos-lhe sucesso e dedicação!
Equipe do Ifes
4
Tecnologia em Análise e Desenvolvimento de Sistemas
Fala do Professor
Conceitos importantes. Fique atento!
Atividades que devem ser elaboradas por você,
após a leitura dos textos.
Indicação de leituras complemtares, referentes
ao conteúdo estudado.
Destaque de algo importante, referente ao
conteúdo apresentado. Atenção!
Reflexão/questionamento sobre algo impor-
tante referente ao conteúdo apresentado.
Espaço reservado para as anotações que você
julgar necessárias.
ICONOGRAFIA
Veja, abaixo, alguns símbolos utilizados neste material para guiá-lo em seus estudos.
5
Programação I
PROGRAMAÇÃO I
Cap. 1 - ALGORITMOS 9
1.1 Entendendo Algoritmos 9
1.2 Construindo Algoritmos 10
1.3 Construindo Algoritmos Para Computadores 13
1.3.1 Reservando Memória 13
1.3.2 Variáveis 13
1.3.3 Constantes 17
1.4 Operadores 19
1.4.1 Operadores Aritméticos 19
1.4.2 Operadores Relacionais 19
1.4.3 Operadores Lógicos 19
1.5 Expressão Aritmética e Expressão Lógica 21
1.5.1 Expressão Aritmética 21
1.5.2 Expressão Lógica 21
1.6 Comandos de Atribuição, de Entrada, de Saída e
	  Comentário 24
1.6.1 Comando de Atribuição 24
1.6.2 Comando de Entrada 25
1.6.3 Comando de Saída 25
1.6.4 Comentários 26
1.6.5 Como Construir Algoritmo 29
Cap. 2 - LINGUAGEM C 35
2.1 As Telas do Bloodshed Dev-C++ 36
2.2 Visão Geral da Linguagem C 41
2.3 Comandos da Linguagem de Programação C 42
2.4 Constantes e Variáveis na Linguagem de
	  Programação C 47
2.4.1 Tipos de Variáveis na Linguagem de
Programação C 48
2.5 Alguns dos Códigos para Impressão Formatada
	  de Printf( ) 49
2.6 Códigos Utilizados Pela Função Scanf( ) 50
2.7 Como fazer Comentários 50
2.8 Comandos de Seleção 54
2.8.1 Comando If 54
2.8.2 Comando If-Else 60
2.8.3 Comando Switch 67
2.9 Comandos de Repetição 74
6
Tecnologia em Análise e Desenvolvimento de Sistemas
2.9.1 O Comando For 74
2.9.2. O Comando While 81
2.9.3. O Comando do while 86
Cap. 3 - VETORES E MATRIZES 93
3.1 Entendendo Vetor 93
3.1.1 Declarando Vetor 93
3.1.2 Atribuindo Valores ao Vetor (Inicialização) 94
3.1.3 Vetor de String 99
3.1.4 Leitura de Vetor de String 100
3.2 Matriz 102
3.2.1 Matriz de String 105
Cap. 4 - ESTRUTURAS(STRUCT) 111
4.1 Declarando uma Estrutura 111
4.2 Utilizando Estrutura no Programa 114
4.3 Vetores de Estrutura (Struct) 116
Cap. 5 - PROCEDIMENTOS E FUNÇÕES 123
5.1 Modularização 123
5.2 Funções 124
5.2.1 Entendendo Funções 124
5.3 Procedimentos 126
5.3.1 Entendendo Procedimentos 126
5.4 Escopo de Variáveis 129
5.1.4 Passagem de Parâmetro 129
5.1.5 Funções Recursivas 134
5.1.6 Protótipo de Função 136
REFERÊNCIAS BIBLIOGRÁFICAS 139
7
Programação I
APRESENTAÇÃO
Olá,
Nessa disciplina vamos conhecer o que é Algoritmo e apren-
der a resolver problemas de forma que o computador possa
entender e executar.
Vamos aprender os conceitos básicos da linguagem de programa-
ção C, que será utilizada para desenvolvimento dos programas.
O material impresso que você utilizará nessa disciplina foi prepa-
rado valorizando os detalhes, no intuito de amenizar as dificulda-
des que possam aparecer em nosso percurso, na sala de aula.
É importante que você o tenha sempre ao alcance, aprovei-
tando o tempo disponível para leitura, revisão ou execução
das atividades.
Todas as atividades aqui propostas, apesar de não serem avaliati-
vas, deverão ser realizadas individualmente, pois só dessa forma
você adquirirá auto confiança, e prática na solução de problemas
que envolvem computadores.
Para valorizar o estudo of-line, serão encontradas ao longo do
material, Ilustrações demostrando digitação, compilação e exe-
cução (no DEV C++), dos exemplos apresentados, já que al-
guns alunos não dispõem de computador com facilidade.
Apesar de a equipe EaD ser composta por profissionais com-
promissados com o seu aprendizado, é importante que você
faça a sua parte com o mesmo comprometimento; só assim
todos, você e a equipe EaD, poderão desfrutar do sucesso ao
final dessa caminhada.
Bom estudo!!!!
8
Tecnologia em Análise e Desenvolvimento de Sistemas
9
Programação I
Caro aluno,
Vamos iniciar o primeiro capítulo, em que você estudará o concei-
to de Algoritmo. Nessa fase, trabalharemos com exemplos da nossa
vida diária no intuito de um entendimento correto desse conceito.
É importante que ao final deste Capítulo, você tenha clareza a res-
peito do significado de Algoritmo, a fim de iniciarmos nossa trajetó-
ria no mundo computacional.
Bom estudo!
Quando criamos um Algoritmo, o que fazemos, é apontar uma dentre
muitas soluções possíveis a um problema qualquer.
Para que a solução por nós apontada possa solucionar corretamente o
problema, ela deverá ser pensada, planejada, executada e, por fim, testa-
da. Somente após passarmos por essas etapas, teremos garantia mínima
da solução do problema. Todas as etapas serão utilizadas por você no
decorrer do nosso curso.
1.1 Entendendo Algoritmos
Exemplo: Suponha o seguinte problema: como proceder para NÃO ob-
ter sucesso nos cursos a distância.
Receita: Como NÃO obter sucesso nos Cursos EaD
1. Não administre seu tempo de forma a estudar pelo menos 2
horas por dia.
2.Sóparticipedasdiscussõesnosfórunsquandooassuntolheinteressar.
3. Nunca tenha o material impresso ao alcance de forma a apro-
veitar qualquer tempo para leitura.
4. Avance para o Capítulo seguinte na certeza de que entenderá
melhor o anterior.
5. Nunca tente resolver os exercícios sozinho, resolva-os sempre
com a ajuda do tutor.
ALGORITMOS
10
Tecnologia em Análise e Desenvolvimento de Sistemas
Certamente que NÃO seguiremos esses passos, mas fica claro que
basta qualquer pessoa seguí-los para obter o resultado.
Exemplo: Suponha outro problema: como fazer um bolo.
Receita: Bolo Festa
1. Separe os seguintes ingredientes: ovos, trigo, sal, leite, açú-
car e fermento.
2. Bata em uma tigela a manteiga com o açúcar.
3. Acrescente as gemas, o leite, o trigo e o sal.
4. Misture bem.
5. Acrescente o fermento.
6. Coloque a massa na assadeira.
7. Asse por 30 minutos.
Os dois exemplos acima são Algoritmos, pois enumeram passos que le-
vam à solução de problemas específicos.
1.2 Construindo Algoritmos
Vamos construir Algoritmos para resolver problemas propostos em
alguns sites.
1. Tente conduzir a vaquinha até o troféu. Acesse o link: http://
www.q-lympics.de/iq-marathon/
Clique em ‘Starten’ e depois em ‘Ok’. Agora, arraste as setas para
determinar o caminho da vaquinha e em seguida aperte ‘Go’. Ob-
serve o código que aparece em cada mudança de fase. Ele permite
que você depois continue daquele ponto em diante.
Obs.: as setas azuis, diferentemente das vermelhas, não se apagam
quando a vaquinha passa.
Copie aqui o código da última fase que você conseguiu chegar. Ao
todo são 43 fases. _____________________________________
___________________________________________________
___________________________________________________
___________________________________________________
____________________________________________________
Capítulo 1
11
Programação I
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
2. Acesse o link: http://rachacuca.com.br/calculadora-quebrada/
Nesse link encontraremos uma calculadora quebrada e pro-
blemas a resolver.
Clicandonobotão<PRÓXIMO>,teremosacessoaoprimeiroproblema.
Lembre-se de descrever a solução passo a passo, como fizemos
nos exemplos acima. ___________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
3. Vamos acessar o link: http://rachacuca.com.br/jarros/
Nesse link encontraremos jarros e problemas a resolver.
Clicando no botão <JOGAR>, teremos acesso ao primeiro problema.
Resolva-o.
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
____________________________________________________
Algoritmos
12
Tecnologia em Análise e Desenvolvimento de Sistemas
Olá,
Com a conclusão dos exercícios, podemos observar que cada um
aponta uma solução, para os problemas apresentados. Cada solução
criada é um Algoritmo.
Vamos em frente!!!
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
Nosso objetivo, no entanto, é criar Algoritmos compostos de pas-
sos que o computador seja capaz de entender e executar e não
Algoritmos com passos que as pessoas sejam capazes de entender e
executar. Então, precisaremos somar mais conhecimentos aos vistos
até aqui, uma vez que o computador não poderia executar os passos
descritos em nossos exemplos acima.
Capítulo 1
13
Programação I
Algoritmo: É uma sequência não ambígua e finita de instruções,
cuja a execução, em tempo finito, resolve um problema computa-
cional. (SEBESTA, 2003).
1.3 Construindo Algoritmos Para Computadores
Construir Algoritmos para computadores requer, em primeiro lu-
gar, a transformação do nosso passo a passo em uma estrutura que
possa ser entendida e executada pelo computador. Para isso, utili-
zaremos inicialmente uma linguagem conhecida como Portugol e
mais tarde, assim que os principais conceitos tenham sido assimi-
lados, a Linguagem C.
Para entender essa estrutura, vamos estudar o que é memória, variáveis
e constantes.
1.3.1 Reservando Memória
É na memória do computador que o nosso programa será executado.
Quando vamos usar a memória em um Algoritmo para armazenar da-
dos inerentes à solução de um problema como o resultado de uma
operação ou mesmo um número ou uma palavra, é necessário infor-
mar primeiro ao computador que precisaremos dessa memória. Essa
informação é passada ao computador por meio de comando, que ve-
remos posteriormente.
Memória: Meio físico para armazenar dados temporariamente ou
permanentemente.(TANENBAUM, 1997, p.212).
1.3.2 Variáveis
Sintaxe: tipo identificador <ou Lista-de-identificadores>;
Além de reservar a memória, temos que informar ao computador como
vamos nos referir a essa reserva, ou seja, como denominaremos, o espa-
ço de memória reservado.
Algoritmos
14
Tecnologia em Análise e Desenvolvimento de Sistemas
O nome dado a esse espaço é seu endereço.
Dizemos que os endereços nomeados de memória são as variáveis
do programa.
O conteúdo de uma variável pode mudar durante a execução do programa.
Por que precisamos declarar variáveis?
Em nosso Algoritmo precisaremos manipular diversos valores de forma
a encontrar a solução do problema.
Esses valores deverão estar armazenados de forma que, quando necessá-
rios, possam ser identificados corretamente.
Uma correta declaração de variáveis é que disponibilizará uma iden-
tificação precisa do valor já que a variável é justamente o endereço do
valor armazenado.
O que são valores?
Osdadosnecessáriosàsoluçãodoproblemasãoosvalores,quedevemserma-
nipulados de maneira a fornecer resultados que solucionem o problema.
Os valores poderão ser inteiros (número da matrícula do funcionário,
número de filhos), reais ( valor do salário e o desconto de IRRF) e lógi-
cos (funcionário sindicalizado ou não: assume falso ou verdadeiro).
Cada variável corresponde a uma posição de memória, cujo conteúdo
pode variar durante a execução de um programa.
O que são tipos de variáveis?
Como dissemos, os valores diferem quanto ao seu tipo, isso significa
que, para cada tipo de dado, teremos um tipo de variável específica,
que passamos a ver:
Tipo inteiro:•	 Declararemos variáveis do tipo numérico inteiro
para representar uma localização de memória do computador
utilizada para armazenar os valores inteiros (positivos ou ne-
gativos) que constarem em nosso Algoritmo.
Exemplo: 1 2000 -3
Tipo real:•	 Declararemos variáveis do tipo numérico real para
armazenar os valores reais (números fracionários: aqueles
com ponto decimal) que constarem em nosso Algoritmo.
Exemplo: 1,0 2,000 -3,0
Tipo caractere•	 : Declararemos variáveis do tipo literal caractere
para armazenar um único caractere, que pode ser uma letra
ou um símbolo.
Capítulo 1
15
Programação I
Exemplo: Para identificar o sexo do indivíduo, armaze-
naremos apenas o caractere ‘F’ ou ‘M’.
Tipo cadeia•	 : Declararemos variáveis do tipo literal cadeia para
armazenar uma seqüência de caracteres, ou seja, uma palavra,
uma mensagem, um nome.
Exemplo: Se decidirmos armazenar a palavra “Masculi-
no” ou “Feminino”, para identificar o sexo do indivíduo
no lugar do caractere ‘F’ ou ‘M’, teremos que declarar o
tipo da variável como cadeia.
Tipo lógica•	 : Declararemos variáveis do tipo lógico para ar-
mazenar valores lógicos, VERDADEIRO ou FALSO, ou
ainda expressões lógicas, cujo resultado seja ou FALSO ou
VERDADEIRO.
Como declarar variáveis?
Para criar o nome de uma variável, precisamos seguir algumas regras.
São elas:
REGRA EXEMPLO
Não inicie com número; 1NUM
Não utilize caracteres especiais. 1ºNum; Nome(M); N*B
Não coloque espaços em branco
ou hífen entre nomes.
B Letra B-Letra
Utilize, se necessário, underline
(ou underscore)
B_Letra
Crie suas variáveis com nomes
sugestivos (não é uma regra, mas
é bom seguir).
Se vai guardar nome de funcio-
nários, crie a variável utilizando a
palavra NOME.
Variável: Uma Variável é uma posição nomeada de memória, que
é usada para guardar um valor que pode ser modificado pelo pro-
grama. (LAUREANO, 2005, p. 12).
Algoritmos
16
Tecnologia em Análise e Desenvolvimento de Sistemas
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
Olá,
As atividades aqui propostas não são avaliativas. Sugiro, entretanto,
que sejam realizadas sem consultas, dessa forma poderemos acom-
panhar o desenvolvimento.
Bom Estudo!!!
3. Aprendemos que, ao declarar uma variável precisamos se-
guir algumas regras. Assinale, as variáveis que obedecem às
regras estabelecidas:
a) ( ) NUM1 e) ( ) TELEFONE i) ( ) P_Num
b ) ( ) 1 NUM f) ( ) Nome	 j) ( ) Num_RUA
c) ( ) 1ºNUM g) ( ) R-2	 k) ( ) Certo
d ) ( ) SEXO	 h) ( ) Rua	 l) ( ) MATR
Capítulo 1
17
Programação I
4. Para cada valor apresentado abaixo, foi definido um tipo de vari-
ável. Marque com X os tipos que foram definidos corretamente:
a)( ) valor= 1.0 tipo= real b)( ) valor= 23 tipo= real
c)( ) valor= -3 tipo= real d)( ) valor= -3.0 tipo= real
e)( ) valor= 1000 tipo = inteiro f)( ) valor= 54 tipo = inteiro
g)( ) valor= -54 tipo = inteiro h)( ) valor= 54,0 tipo = inteiro
i)( ) valor= ‘F’ tipo = cadeia j)( ) valor= ‘M’ tipo = caract
k)( ) valor= “rua” tipo = cadeia l)( ) valor= “*” tipo = caract
1.3.3 Constantes
Sintaxe: const identificador = valor;
As constantes são criadas com base nas mesmas regras e tipos já vistos
em variável. Diferem apenas no fato de armazenar um valor constante,
ou seja, que não se modifica durante a execução de um programa.
Se você entendeu como declarar uma variável, ficará fácil entender como
se cria uma constante.
Vamos tomar como exemplo a folha de pagamento dos funcionários de
uma determinada empresa:
Se assumirmos que a empresa concederá um aumento de 10%•	
aos seus funcionários independentemente do valor do salário,
a taxa de 10% será uma constante, durante a execução do pro-
grama que efetuará o cálculo.
Nossa constante ficaria assim declarada: const TAXA= 0.10;
O nome da empresa também será uma constante, ele será impres-•	
so em todos os contra-cheques, teremos mais uma constante.
E a declararíamos assim: const NOME;
NOME = “Empresa X”;
Constante: Variável com valor pré-definido que não pode ser modifica-
dopornenhumafunçãodeumprograma.(LAUREANO,2005,p.16).
Algoritmos
18
Tecnologia em Análise e Desenvolvimento de Sistemas
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
____________________________________________________
5. Identifique o tipo de cada uma das constantes abaixo:
Exemplo: a) 35 [ constante tipo inteiro ]
b) 21000 [		 ]	 f) 0,10 [		 ]
c)“falso” [		 ]	 g) “Ifes” [		 ]
d) TRUE [		 ]	 h) 2007 [		 ]
e ) FALSO [		 ]	 i ) “verdadeiro” [		 ]
O que aprendemos até aqui?
•  Algoritmos são os passos que  levam à solução de um problema.
•  As variáveis armazenarão valores numéricos reais e inteiros, valores
literais caractere e cadeia e valores lógicos identificados no
Algoritmo.
•  Oconteúdodeumavariávelpodevariarduranteaexecuçãodo
programa.
•  A diferença entre constante e variável é que o conteúdo de uma
constante não varia durante a execução do programa.
•  Ao fazermos declarações de variáveis e de constantes temos que
seguir regras.
Capítulo 1
19
Programação I
1.4 Operadores
Os operadores são símbolos que representam uma operação aritmética
ou lógica.
1.4.1 Operadores Aritméticos
Os operadores aritméticos são empregados em expressão aritmética em
que são utilizados constantes ou variáveis do tipo real ou inteira, como
operandos. Vamos ver abaixo a ordem de precedência:
adição +
subtração -
multiplicação *
divisão /
1.4.2 Operadores Relacionais
Os operadores relacionais realizam comparações entre variáveis. São eles:
igual =
maior >
menor <
maior ou igual >=
menor ou igual <=
não igual (ou diferente) !=
1.4.3 Operadores Lógicos
Os operadores lógicos retornam Falso(F) ou Verdadeiro(V) , de acordo
com seus operandos. São eles:
Operadores
E
OU
NÃO
Entendendo:
Vamos assumir que existam duas condições para o resultado favorável
de uma prova:
Algoritmos
20
Tecnologia em Análise e Desenvolvimento de Sistemas
1ª proposição: O aluno estudou.
2ª proposição: O aluno colou.
	 •  Chamaremos a 1ª proposição de P.
	 •  E chamaremos a 2ª proposição de Q.
Vamos verificar na tabela abaixo qual resposta teremos na 3ª coluna se o
operador lógico utilizado entre as proposições for o OU:
P Q P ou Q
V V V
V F V
F V V
F F F
Observe que o aluno só não terá resultado favorável se as duas proposições
forem falsas, ou seja: Se o aluno não estudar OU se o aluno não colar.
Agora vamos verificar como se comporta a 3º coluna se o operador ló-
gico utilizado for o E:
P Q P e Q
V V V
V F F
F V F
F F F
Nesse caso, para tirar uma nota favorável, o aluno, além de estudar,
terá de colar.
Abaixo, a tabela para o operador lógico NÃO:
P Não P
V F
F V
Ordem de precedência das operações:
Prioridade Operador
1ª aritmético
2ª relacional
3ª lógico - não
4ª lógico - e
5ª lógico -ou
Capítulo 1
21
Programação I
1.5 Expressão Aritmética e Expressão Lógica
1.5.1 Expressão Aritmética
Expressão aritmética é a que utiliza operandos que sejam constantes ou
variáveis, desde que sejam do tipo real ou inteiro e operadores aritméti-
cos, os quis estudamos no item 1.4.
Exemplo: x + y
Ordem de precedência das operações:
Prioridade Operador Operação
1ª * / multiplicação, divisão
2ª + - adição, subtração
Utilizando vários níveis de parênteses, quebraremos a prioridade e ob-
teremos uma seqüência de cálculo diferente.
1.5.2 Expressão Lógica
Expressão lógica utiliza operandos que sejam constantes e/ou variáveis
numéricas, literais ou lógicas e os operadores lógicos.
Exemplos: (x < y) e (y < z)
(y > t) ou verdade
Observe que nos exemplos acima o resultado obtido é sempre VER-
DADEIRO OU FALSO. Numa expressão lógica, sempre obteremos o
resultado V ou F.
Exemplo: Dadas as variáveis e as seguintes atribuições:
	 var inteiro NUM1=10;
	 var inteiro NUM2= 5;
	 var inteiro NUM3=200;
	 var inteiro NUM4=200;
Vamos verificar se a expressão ( NUM1+ NUM2 > 10 e NUM1+ NUM3 >
NUM4) é VERDADEIRA ou FALSA:
Algoritmos
22
Tecnologia em Análise e Desenvolvimento de Sistemas
Vamos analisar todas as etapas necessárias:
1. NUM1+ NUM2 > NUM1 é o mesmo que (10+5>10), resposta V, já
que 10+5 é maior que 10.
2. NUM1+ NUM3 > NUM4 é o mesmo que (10+200>200), resposta
V, já que 10+200 é maior que 200.
3. Assim, nossa expressão se resumirá em V e V.
4. Na tabela verdade aprendemos que numa proposição V e V, o resul-
tado será V.
5. Portanto o resultado final é: V
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
Capítulo 1
23
Programação I
Olá,
É importante que as atividades abaixo sejam realizadas na ordem
proposta, já que o grau de dificuldade vai crescendo na mesma
ordem.
Bom estudo!!
Observe as seguintes declarações de variáveis e suas respectivas
atribuições e responda às questões abaixo:
	 var inteiro NUM1=10;
	 var inteiro NUM2= 5;
	 var inteiro NUM3=200;
	 var inteiro NUM4=200;
6. Coloque F ou V nas expressões abaixo: Exemplo: ( F )
NUM4 > NUM3;
a) ( ) NUM1 > NUM2;
b) ( ) NUM1 < NUM3;
c) ( ) NUM1 < NUM4;
d) ( ) NUM3 = NUM4;
7. Coloque F ou V nas expressões abaixo: Exemplo: ( F )
NUM1-NUM2 < NUM2;
a) ( ) NUM1+ NUM2 > NUM3;
b) ( ) NUM1* NUM2 < NUM4;
c) ( ) NUM3 - NUM4 != NUM4;
d) ( ) NUM3 / NUM1 < NUM4;
8. Coloque F ou V nas expressões abaixo: Exemplo: ( F ) NUM1+
NUM2 > 10 e NUM3 - NUM4 = NUM3;
a) ( ) NUM1 / NUM2 > 0 e NUM1 + NUM3 > NUM4;
b) ( ) NUM1 * NUM2 > 40 e NUM3 - NUM1 > NUM4;
c) ( ) NUM1 - NUM2 = 10 e NUM2 + NUM3 > NUM4;
d) ( ) NUM1 + NUM2 < 10 e NUM3 - NUM4 = NUM1;
Algoritmos
24
Tecnologia em Análise e Desenvolvimento de Sistemas
9. Coloque F ou V nas expressões abaixo: Exemplo: (V) NUM3 /
NUM2 >55 ou NUM1+ NUM3 > NUM4;
a) ( ) NUM3 / NUM2 > 0 ou NUM1 + NUM3 > NUM4;
b) ( ) NUM2 * NUM1 = 50 ou NUM3 - NUM1 > NUM4;
c) ( ) NUM1 - NUM2 > 10 ou NUM2 + NUM3 > NUM4;
d) ( ) NUM1 + NUM2 > 10 ou NUM3 / NUM1 > NUM4;
10. Coloque F ou V nas expressões abaixo: Ex.: (V) NUM1 >
NUM2 e NUM2 < NUM3 ou NUM3 < NUM4;
a) ( ) NUM1 > NUM2 e NUM2 < NUM3 ou NUM3 <
NUM4;
b) ( ) NUM1 * NUM2 > 10 e NUM1 > NUM4 ou NUM3
- NUM1 > NUM4;
c) ( ) NUM1 > 10 ou NUM1> NUM4 e NUM3 - NUM1
> NUM4;
d) ( ) NUM1 + NUM2 > 10 ou NUM1 / NUM3 > NUM4
e NUM3 < NUM4;
O que aprendemos sobre os operadores?
• São símbolos que representam uma operação aritmética
ou lógica.
• Os operadores podem ser: aritméticos, relacionais e  lógicos.
• Os  aritméticos são empregados em expressão aritmética .
• Os  relacionais verificam as relações entre os operadores.
• Os  lógicos retornam Falso (F) ou Verdadeiro (V).
• A ordem de precedência das operações.
1.6 Comandos de Atribuição, de Entrada, de Saí-
da e Comentário
1.6.1 Comando de Atribuição
Na construção de nossos Algoritmos, precisamos constantemente indi-
car que uma variável ou uma constante criada por nós armazenará um
determinado valor ou expressão, durante a execução do programa.
Capítulo 1
25
Programação I
A forma correta de fazer essa indicação é por meio do comando de atri-
buição, representado por uma seta(←).
Assim: var int NUM; /*criamos a variável inteira NUM*/
	 NUM ← 10; /*atribuímos o valor 10*/
	 var caractere SEXO; /*criamos a variável caractere SEXO*/
	 SEXO ← ‘F’; /*atribuímos o caractere ‘F’*/
		
	 var real SALÁRIO; /*criamos a variável real SALÁRIO*/
SALÁRIO← 22.000,00 /*atribuímos o valor 22.000,00*/
1.6.2 Comando de Entrada
Sintaxe: leia(variável);
Os dados de que precisaremos para execução do nosso Algoritmo serão
geralmente informados por meio do teclado.
O comando de entrada será responsável pela leitura e armazenamento
desses dados na variável que indicarmos.
1.6.3 Comando de Saída
Sintaxe: escreva(“O nome é:” , variável);
O comando de saída será responsável pela exibição de mensagens, de
valores processados ou de valores lidos, conforme indicarmos.
Exemplo:
Algoritmo primeiro
var cadeia NOME;
{
NOME ← “Paulo Vitor”;
escreva(“Olá, ” , NOME);
}
Olá, Paulo Vitor
Algoritmos
26
Tecnologia em Análise e Desenvolvimento de Sistemas
Veja o resultado desse Algoritmo no quadro ao lado.
Observe que se o comando de saída fosse:
escreva(“Olá, , NOME”);
a saída seria exatamente o conteúdo entre as aspas.
Portanto, coloque fora das aspas tudo aquilo que deve ser resolvido
pelo computador.
1.6.4 Comentários
Utilizaremos comentário para explicar detalhes que julgarmos necessários
em nosso programa. Desta forma, aumentamos a legibilidade do nosso al-
goritmo. Lembre-se que não devemos fazer programas apenas para que o
computador execute, mas também para outras pessoas possam entendê-lo e
assim participarem da sua construção e/ou manutenção.
Exemplo: var int NUM; /*criamos a variável inteira NUM*/
		 NUM ← 10; /*atribuímos o valor 10*/
Observe que existem caracteres especiais( /*) que foram utilizados no
início e no fim do comentário.
Também é possível utilizar os caracteres // (duas barras). Neste caso,
ele é finalizado com um salto de linha.
Assim:
		 var int NUM; //criamos a variável inteira NUM
		 NUM ← 10; //atribuímos o valor 10
O comentário sempre será feito com base em um dos modelos acima.
Faça-o sempre que você sentir necessidade de explicar alguma linha do
seu Algoritmo.
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
Olá, ,NOME
Capítulo 1
27
Programação I
Olá,
Gostaria de chamar a atenção para a importância de as atividades
serem realizadas individualmente.
Bom estudo !!!
11. Assinale os comandos de atribuição realizados corretamente:
a) ( ) var cadeia SEXO ← ‘F’;
b) ( ) var inteiro ALTURA ← 1,80;
c) ( ) var real SALÁRIO ← 3.000,00;
d) ( ) var cadeia ← “NOME”;
12. No programa abaixo, dois valores inteiros são lidos e somados
e o resultado dessa soma é mostrado no final da execução. Analise
as linhas do programa e assinale as afirmações corretas:
	 linha 1 ... Algoritmo soma;
	 linha 2 ... {
	 linha 3 ... var int NUM1, NUM2, SOMA;
	 linha 4 ... escreva( “Digite o primeiro número”);
	 linha 5 ... leia(NUM1);
	 linha 6 ... escreva( “Digite o segundo número”);
	 linha 7 ... leia(NUM2);
	 linha 8 ... SOMA ← NUM1 + NUM2;
	 linha 9 ... escreva( “A soma dos números digitados é:”, SOMA);
	 linha 10 ... }
a) ( ) linha 5 → O primeiro valor digitado no teclado está sendo
lido e armazenado em NUM1;
b) ( ) linha 7 → O segundo valor digitado no teclado está sendo
lido e armazenado em NUM2;
c) ( ) linha 8 → O resultado da soma dos valores digitados está
sendo atribuído à variável SOMA;
d) ( ) linha 9 → No monitor serão exibidas a mensagem que está
entre aspas e a soma dos números digitados;
Algoritmos
28
Tecnologia em Análise e Desenvolvimento de Sistemas
13. O Algoritmo abaixo deverá ler duas notas, calcular a média e
mostrar o resultado. Para que o Algoritmo seja executado correta-
mente, complete-o com os comandos que faltam:
	 linha 1 ... Algoritmo média;
	 linha 2 ... {
	 linha 3 ... var _______NOTA1, NOTA2, MÉDIA;
	 linha 4 ... __________ ( “Digite a primeira nota”);
	 linha 5 ... _____(NOTA1);
	 linha 6 ... escreva( “_______________________”);
	 linha 7 ... leia(________);
	 linha 8 ... MÉDIA ← (_______ + _______ )/2;
	 linha 9 ... escreva( “A média das notas é:” , __________);
	 linha 10 ... }
14. Faça o mesmo no Algoritmo abaixo, cuja finalidade é calcular
8% de aumento sobre um salário. linha 1 ... Algoritmo reajuste;
	 linha 2 ... {
	 linha 3 ... var _______ SALARIO, SALARIO_NOVO;
	 linha 4 ... __________ ( “Digite o salário”);
	 linha 5 ... _____(SALARIO);
	 linha 6 ... SALARIO_NOVO ← ____________* 1.08;
	 linha7...__________(“Ovalordonovosalárioé:”,______________);
	 linha 8 ... }
O que aprendemos sobre os comandos de atribuição, de entrada
e de saída?
•O comando de atribuição é responsável por atribuir valores à
variável.
•O comando de entrada faz a leitura do dado digitado no teclado
e o armazena na variável.
•O comando de saída é responsável por exibir os dados.
•O comentário é utilizado para explicar detalhes que julgarmos
necessários em nosso programa.
Capítulo 1
29
Programação I
•  atribuição: Consiste em atribuir um valor a uma variável pre-
viamente declarada.(LAUREANO, 2005, p.27).
•  entrada: Mecanismo de entrada consiste em ler caracteres da
entrada-padrão, normalmente teclado. (SCHILDT, 1995, p.15).
•  saída: Mecanismo de saída consiste em escrever caracteres da
saída-padrão, normalmente monitor. (SCHILDT, 1995, p.15).
• cometários: Texto que não é interpretado pelo compilador.
(LAUREANO, 2005, p. 6).
1.6.5 Como Construir Algoritmo
Vamos criar um Algoritmo para ler e multiplicar dois números inteiros
e exibir o resultado.
É importante observar cada linha dessa seqüência.
Vamos entender todas as linhas do nosso Algoritmo:
linha 1 ... Nome do programa.
linha 2 ... A chave indica o início do programa.
linha3...Declaraçãodastrêsvariáveisdotipointeironecessáriasaoprograma.
linha 4 ... O comando escreva exibirá a mensagem que solicita a digita-
ção do primeiro número.
Algoritmos
linha 1 Algoritmo multiplicação;
linha 2 {
linha 3 var inteiro NUM1, NUM2, MULT;
linha 4 escreva ( “Digite o primeiro número”);
linha 5 leia (NUM1);
linha 6 escreva ( “Digite o segundo número”);
linha 7 leia (NUM2);
linha 8 MULT ← NUM1 * NUM2;
linha 9 escreva(“O resultado da multiplicação é:”,MULT);
linha 10 }
30
Tecnologia em Análise e Desenvolvimento de Sistemas
linha 5 ... O primeiro número digitado será lido e armazenado na
variável NUM1.
linha 6 ... O comando escreva exibirá a mensagem que solicita a digita-
ção do segundo número.
linha 7 ...O segundo número digitado será lido e armazenado na
variável NUM2.
linha 8 ...A variável MULT receberá o resultado da multiplicação do
primeiro pelo segundo número.
linha 9 ...O comando escreva exibirá uma mensagem com o resultado
da multiplicação.
linha 10...A chave indica o fim do programa.
15. Construa um Algoritmo que efetue o cálculo do salário bruto
de um funcionário, considerando que SALARIO BRUTO = HO-
RAS TRABALHADAS * VALOR HORA.
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
16. Faça um Algoritmo que leia o valor da cotação do dólar (dia),
multiplique pelo valor (em dólar) de um determinado produto e
imprima o valor convertido.
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
Capítulo 1
31
Programação I
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
____________________________________________________
17. O custo ao consumidor de um carro novo é a soma do custo de
fábrica com a porcentagem do distribuidor e dos impostos (apli-
cados ao custo de fábrica). Supondo que a porcentagem do dis-
tribuidor seja 12% e a dos impostos 45%, prepare um Algoritmo
para ler o custo de fábrica do carro e imprimir o custo do carro
para o consumidor.
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
18. Uma empresa tem fichas que contém o nome, o número de
horas trabalhadas e o número de dependentes de cada um de
seus funcionários.
Considerando que:
• a empresa paga 12 reais por hora trabalhada e 40 reais
por dependente;
• desconta do salário  8,5% para o INSS e 5% para IRRF.
Algoritmos
32
Tecnologia em Análise e Desenvolvimento de Sistemas
Faça um Algoritmo para ler o nome, o número de horas trabalha-
das e o número de dependentes de um funcionário.
No final, o programa deverá exibir o nome, o salário bruto, os
valores descontados para cada tipo de imposto e o salário líquido
do funcionário.
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
Capítulo 1
33
Programação I
19. Dadas as seguintes informações de um funcionário: nome,
idade, cargo e seu salário bruto, considere que:
• o salário bruto teve um reajuste de 38%.
• o funcionário receberá uma gratificação de 20% do
salário bruto.
• 15% serão descontados do salário total.
Faça um Algoritmo para imprimir nome, idade, cargo, salário
bruto e salário líquido.
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
Algoritmos
34
Tecnologia em Análise e Desenvolvimento de Sistemas
Leituras complementares:
SCHILDT, Herbert. C Completo e Total. São Paulo: Pearson,
2006.
KERNIGHAN Brian W. C Linguagem de Programação Parão
ANSI. Rio de Janeiro: Elsevier, 1989.
Capítulo 1
35
Programação I
Caro aluno,
Vamos iniciar o segundo Capítulo da nossa disciplina. Nessa eta-
pa, é importante que as atividades sejam feitas no computador.
Desenvolveremos programas que nos ajudarão a melhorar nosso
raciocínio lógico e a nossa agilidade na solução de problemas de
forma que o computador seja capaz de interpretar.
Se você ainda não fez o download do ambiente Bloodshed Dev-C++,
este é o momento.
Vamos em frente!!!!
A partir desta aula, vamos construir Algoritmos de forma que o compu-
tador possa entender e executar. Para isso, vamos conhecer a linguagem
de programação C.
linguagem de programação:•	 Uma Linguagem de Programa-
ção é um método padronizado para expressar instruções para
um computador. (LAUREANO, 2005, p. 4).
programas:•	 Um programa de computador é uma coleção de
instruções que descrevem uma tarefa a ser realizada por um
computador. (LAUREANO, 2005, p. 4).
código fonte:•	 Uma linguagem de programação é um conjunto
de ferramentas, regras de sintaxe e símbolos ou códigos que
nos permitem escrever programas de computador, destina-
dos a instruir o computador para a realização de suas tarefas.
(LAUREANO, 2005, p. 5).
LINGUAGEM C
36
Tecnologia em Análise e Desenvolvimento de Sistemas
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
____________________________________________________
Para compilar nossos programas, usaremos o ambiente Bloodshed
Dev-C++, disponível gratuitamente no link http://superdownloads.uol.
com.br/download/199/bloodshed-dev-c/, ou no ambiente Moodle.
2.1 As Telas do Bloodshed Dev-C++
1º passo – janela 1
Assim que entrarmos no ambiente Dev C++, a tela abaixo(Ilustração 1)
será a primeira a que teremos acesso.
Clique o botão <Fechar> da janela “Dica do dia”.
Capítulo 2
37
Programação I
Ilustração 1: Apresentação da primeira tela
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
____________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
____________________________________________________
Linguagem C
38
Tecnologia em Análise e Desenvolvimento de Sistemas
2º passo – janela 2
Clique em meu Arquivo>Novo>Projeto, como apresentado na Ilustração 2:
Ilustração 2: Apresentação da segunda tela
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
____________________________________________________
___________________________________________________
____________________________________________________
Capítulo 2
39
Programação I
3º passo – janela 3
Clique no ícone <Console Aplication>, no botão <Projeto C> e finalmen-
te no <OK>. Observe a Ilustração 3, ela o ajudará a executar esses passos:
Ilustração 3: Apresentação terceira tela
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
____________________________________________________
___________________________________________________
____________________________________________________
Linguagem C
40
Tecnologia em Análise e Desenvolvimento de Sistemas
4º passo – janela 4
A janela Create new project se abrirá para iniciarmos nosso projeto,
conforme Ilustração 4.
No campo <nome do arquivo>, digite um nome para seu arquivo e
clique em <Salvar>.
Ilustração 4: Apresentação da quarta tela
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
____________________________________________________
____________________________________________________
Capítulo 2
41
Programação I
5º passo – janela 5
É nessa janela que vamos digitar nosso código, conforme indica a
Ilustração 5.
Ilustração 5: Apresentação da quinta tela
Neste primeiro momento, não exploraremos todos os menus dispo-
níveis no ambiente Bloodshed Dev-C+. A exposição dos seus recur-
sos se dará à medida que avançarmos nos nossos estudos.
Vamos em frente!!!
2.2 Visão Geral da Linguagem C
Para termos uma visão geral da linguagem que usaremos no desenvol-
vimento dos programas, vamos analisar como ficaria nosso Algoritmo
Soma, na Linguagem C:
Linguagem C
42
Tecnologia em Análise e Desenvolvimento de Sistemas
Exemplo1:
as mudanças de estado do sistema.
Linguagem – Portugol
linha 1   Algoritmo soma;
linha 2   {
linha 3   var int NUM1, NUM2,
SOMA;
linha 4   escreva ( “Digite o primeiro
número”);
linha 5   leia (NUM1);
linha 6   escreva ( “Digite o segundo
número”);
linha 7   leia (NUM2);
linha 8   SOMA ← NUM1 + NUM2;
linha 9   escreva ( “A soma é:”,
SOMA);
linha 10 }
Linguagem – C
linha 1   #include <stdio.h>
linha 2   #include <stdlib.h>
linha 3   int main( )
linha 4 {
linha 5   int num1, num2, soma;
linha 6   printf( “Digite o primeiro
numero: “);
linha 7   scanf (“%d”, &num1);
linha 8   printf( “Digite o segundo
numero: “);
linha 9   scanf (“%d”, &num2);
linha 10   soma = num1 + num2;
linha 11   printf( “A soma e: %d n”,
soma);	
linha 12   system(“PAUSE”);
linha 13   return(0);
linha 14 }
2.3 Comandos da Linguagem de Programação C
Vamos entender cada uma das 14 linhas que compõem o programa
Soma, que foi criado na linguagem de programação C. É importante
atentarmos para o fato de que no código do programa Soma não utiliza-
mos nenhum tipo de acentuação.
Capítulo 2
43
Programação I
Ao salvar seu programa, siga algumas regras: não utilize acentos e nem
deixe espaços entre palavras.
A primeira linha e a segunda linha•	 - #include <stdio.h> #include
<stdlib.h>
As linhas indicam a inclusão de biblioteca que possui as funções de
entrada e saída de dados, necessárias à execução do nosso programa
Soma. Veremos mais adiante que outras bibliotecas serão necessárias;
quando isso acontecer, vamos incorporá-las.
A terceira linha•	 - int main( )
A função main( ) é sempre a primeira a ser executada no programa C.
Em todo programa desenvolvido em C, existirá uma função main( ),
em alguma parte do programa.
A quarta linha•	 - {
É o início de um bloco de comandos no programa. Para toda chave que
inicia um bloco de comandos, teremos uma chave que será responsável
por informar o fechamento desse bloco.
A quinta linha•	 - int num1, num2, soma;
Foram declaradas as variáveis necessárias à execução do programa. Inicia-
mos a declaração informando que as variáveis seriam do tipo inteiro(int).
Observe a existência de um ponto-e-vírgula; seu emprego indica o final
do comando.
A sexta linha•	 - printf( “Digite o primeiro numero: “);
A função printf( ) é uma função de entrada e saída. Permiti que a men-
sagem entre aspas seja exibida no monitor.
A sétima linha•	 - scanf (“%d”, &num1);
A função scanf( ) é responsável por ler os dados que forem informados pelo
teclado. Nessa linha a função lerá o primeiro número que for digitado e o ar-
mazena no endereço da variável num1, conforme indicado (“%d”, &num1).
A décima linha•	 - soma = num1 + num2;
O comando de atribuição (=) atribui o resultado da soma dos valores
contidos no endereço de num1 e num2.
Linguagem C
44
Tecnologia em Análise e Desenvolvimento de Sistemas
A décima primeira linha•	 - printf( “A soma e: %d n”, soma);
Já vimos que a função printf( ) permite a exibição da mensagem no mo-
nitor, porém nesse comando o conteúdo da variável soma, também é
exibido. Isso é possível porque incluímos na mensagem o código para
impressão de variáveis do tipo inteiro o %d.
O código especial n é responsável por fazer saltar uma linha.
A décima segunda•	 - system(“PAUSE”);
Possibilita uma pausa no programa a fim de visualizarmos o resultado,
caso contrário ele seria exibido tão rapidamente que não conseguiría-
mos vê-lo.
A décima terceira linha•	 - return (0);
Indica o número inteiro que está sendo retornado pela função, em nos-
so caso, o número zero. O comando return (0) será detalhado adiante.
A décima quarta linha•	 - }
Indica o fim do programa. O fim de main( ).
EXECUÇÃO DO PRIMEIRO PROGRAMA APRESENTADO
Antes de executar o programa é necessário traduzí-lo para uma lingua-
gem em que o computador possa entender, isto é, fazer a sua compila-
ção. Use a tecla F9 ou o botão indicado na ilustração 6.
lustração 6: Compilação e Execução
Capítulo 2
45
Programação I
Na primeira vez é solicitado o salvamento do arquivo: informe um nome
qualquer para o arquivo, desde que tenha a extensão “.c”
A compilação também é o momento em que os erros de sintaxe (grafia)
são apresentados.
Veja na tabela abaixo alguns exemplos de erro de digitação e suas res-
pectivas mensagens de alerta.
Faça estas simulações de erro para entender melhor o processo e se fa-
miliarizar com as mensagens do ambiente.
Experimente também compilar com outros erros.
Depois desta vivência você ficará mais preparado para enfrentar situa-
ções reais de erro.
Linha
original
Como foi digitado Mensagem de erro Explicação da mensagem
de erro
#include
<stdio.h>
#include <stdioh> Linha 1: stdioh:
No such file or
directory.
Sem ponto o nome do ar-
quivo não foi encontrado.
int num1,
num2, soma;
int num1, num2,
soma,
Linha 7: syntax
error before string
constant
Sem o ponto-e-vírgula o
compilador deduz que o
comando ainda não ter-
minou e por isso vai acu-
sar erro na linha posterior,
quando o código já não faz
mais sentido. Outros erros
em linhas mais abaixo são
indicados em função deste
primeiro erro.
printf(
“Digite o
primeiro
numero: “);
printe( “Digite o
primeiro numero:
“);
undefined refe-
rence to `printe’
Não foi encontrada a fun-
ção ‘printe’ nas bibliotecas
indicadas
scanf (“%d”,
&num2);
scanf (“%d,
&num2);
Linha 10: mis-
sing terminating “
character
Falta o caractere aspas
como terminador.
return (0); return0); Linha 14: syntax
error before ‘)’
token
Acusou erro antes do token
‘)’. Token é como o compila-
dorchamaelementosindivi-
duaisdoprograma.
Linguagem C
46
Tecnologia em Análise e Desenvolvimento de Sistemas
Para acertar o erro faça a edição diretamente no ponto desejado e re-
compile: CTRL F9
Quando não houver mais erros será mostrada a tela da ilustração 7.
	 Ilustração 7: Compilação sem erros
Depois de compilado o programa e execução é feita logo em seguida.
Observe o resultado na ilustração 8.
Ilustração 8: Compilação e execução do código fonte de Soma
Capítulo 2
47
Programação I
Olá,
As explicações dadas na sequência do conteúdo  serão acompanha-
das de exemplos que você deverá digitar, compilar e executar no
programa DEV C++..
Depois de executá-los, o código fonte deverá ser analisado e entendido.
A fim de facilitar o estudo, mesmo longe do computador, a partir daqui
duas telas serão sempre apresentadas abaixo do exemplo. São elas:
A tela branca, que contém o código do programa citado•	
como exemplo, devidamente digitado no DEV C++.
A tela preta, que é o resultado da compilação e da•	
execução.
Não avance  se as dúvidas permanecerem.  
Bom estudo !!
2.4 Constantes e Variáveis na Linguagem de
Programação C
Já aprendemos que uma constante tem o valor fixo e que uma variável
que pode conter, a cada tempo, valores diferentes. Vejamos um exemplo
de declaração de variável em C.
Exemplo 2: Neste exemplo temos uma variável do tipo inteira, que ar-
mazenará o valor digitado pelo usuário e exibirá em seguida esse valor.
Linguagem C
48
Tecnologia em Análise e Desenvolvimento de Sistemas
A Ilustração 9 vai nos mostrar o resultado da compilação e da execução
desse programa.
Ilustração 9: Compilação e execução do código fonte de Exemplo 2
2.4.1 Tipos de Variáveis na Linguagem de Programação C
O tipo de variável tem o objetivo de informar a quantidade de memória,
que ocupará em bytes. Inicialmente, veremos 3 tipos de variáveis:
TIPO BYTES
char 1
int 2
float 4
Exemplo 3:
Capítulo 2
49
Programação I
A Ilustração 10 vai nos mostrar o resultado da compilação e da execu-
ção desse programa.
Ilustração 10: compilação e execução do código fonte do Exemplo 3.
2.5 Alguns dos Códigos para Impressão Formata-
da de Printf( )
Como já vimos, a função printf( ) usa o caractere de percentual (%) se-
guido de uma letra para identificar o formato de impressão.
No exemplo acima, utilizamos 3 tipos de caracteres na função prin-
tf( ). Na tabela abaixo estão relacionados os caractere com tipo de
variável a ser impresso.
CÓDIGO SIGNIFICADO
%c usado quando a função for exibir apenas um caractere (tipo char).
Exemplo: ‘M’
%f usado quando a função for exibir número com ponto flutuante, ou
seja, um número real com possibilidade de casas decimais (tipo float).
Exemplo: 1,80
%s usado quando a função for exibir uma cadeia de caracteres, ou seja,
uma ou várias palavras (tipo char[ ]).
Exemplo: “azul”
%d usado quando a função for exibir um número inteiro na base decimal
(tipo int).
Exemplo: 25
Linguagem C
50
Tecnologia em Análise e Desenvolvimento de Sistemas
2.6 Códigos Utilizados Pela Função Scanf( )
CÓDIGO FUNÇÃO
%c usado quando a função for armazenar um caractere (tipo char).
%d usado quando a função for armazenar um número inteiro (tipo int).
%f usado quando a função for armazenar um número real, com possibi-
lidades de casas decimais (tipo float).
%s usado quando a função for armazenar uma cadeia de caracteres, ou
seja, uma ou várias palavras (tipo char[ ]).
Agora, volte ao código fonte do Exemplo 3, revise a função printf( ) e
a função scanf( ), confrontando os caracteres utilizados no exemplo
com os apresentados nas tabelas.
Não siga adiante sem concluir essa verificação, pois as funções serão
empregadas constantemente em nossos exercícios. Compreendê-las
é de suma importância.
Bom estudo !!
2.7 Como fazer Comentários
O comentário deve ser feito exatamente como aprendemos em Algorit-
mos. Veja como ele foi colocado no programa abaixo:
Exemplo 4:	
Capítulo 2
51
Programação I
Ilustração 11: Compilação e execução do código fonte de Exemplo 4
Observe que o comentário só apareceu no código fonte.
A tela preta mostra a execução do programa sem o comentário.
Vamos ver como ficam os operadores lógicos na linguagem C^?
Portugol C
E &&
OU | |
NÃO !
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
____________________________________________________
Linguagem C
52
Tecnologia em Análise e Desenvolvimento de Sistemas
20. Faça um programa que:
a) peça ao usuário para digitar um número inteiro;
b) armazene esse número numa variável chamada NUM1;
c) peça ao usuário para digitar outro número inteiro;
d) armazene esse número numa variável chamada NUM2;
e) multiplique os valores e guarde o resultado numa variável cha-
mada MULT;
f) exiba o resultado.
Obs.: Caso encontre dificuldades para fazer esse programa, con-
sulte o exemplo Soma (primeiro exemplo deste capítulo).
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
____________________________________________________
Capítulo 2
53
Programação I
21. Faça um programa que:
a) peça ao usuário para digitar um número inteiro;
b) armazene esse número numa variável chamada A;
c) peça ao usuário para digitar outro número inteiro;
d) armazene esse número numa variável chamada C;
e) exiba os valores digitados.
Obs.: Caso encontre dificuldades para fazer este programa, con-
sulte o Exemplo 2, visto no item 2.4.
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
____________________________________________________
Linguagem C
54
Tecnologia em Análise e Desenvolvimento de Sistemas
O que aprendemos até aqui?
Transformar Algoritmo escrito na linguagem natural para a Lin-•	
guagem C.
Declarar variáveis.•	
Fazer cometários em nosso códigos.•	
Compilar e executar exemplos apresentados.•	
Além disso, conhecemos as particularidades das funções printf e
scanf e obtivemos uma visão geral da Linguagem C.
2.8 Comandos de Seleção
No desenvolvimento de um programa, podemos nos deparar com vá-
rias condições que acarretaram processamentos diferenciados, ou seja,
muitas vezes uma parte do nosso programa só é executada se a condição
para essa execução for verdadeira.
Para testar essa condição, temos os comandos if e switch.
2.8.1 Comando If
		 Sintaxe: if (condição) declaração
O comando if será utilizado quando o programa ou parte dele necessi-
tar de uma condição simples para sua execução.
Vamos ver um exemplo em que o resultado da soma de dois números só
seja exibido se for maior que 2.
Exemplo 5:
Capítulo 2
55
Programação I
	  Ilustração 12: Demonstração do resultado se a soma for menor que 2.
	  Ilustração 13: Demostração do resultado se a soma for maior que 2.
Observe a Ilustração 13. O programa não mostrará nada se a soma
dos dois números for menor que dois.
Apenas será exibida a mensagem default “ pressione qualquer tecla
para continuar...”.
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
____________________________________________________
Linguagem C
56
Tecnologia em Análise e Desenvolvimento de Sistemas
Exemplo 6:
Este programa indica se o usuário tem o voto obrigatório.
Para isso ele solicita a sua idade, em seguida verifica se esta idade é maior
ou igual a 18 e ao mesmo tempo é menor ou igual a 70. Se sim, então
exibe a mensagem de voto obrigatório.
Observe na ilustração 14 a saída na console para uma entrada com ida-
de igual a 18.
Ilustração 14: Demostração do resultado do exemplo6.
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
____________________________________________________
Capítulo 2
57
Programação I
Exemplo 7:
Este exemplo exibe o preço de um produto com o acréscimo de uma
taxa de venda. Nem todos os produtos possuem esta taxa.
Observe que a entrada da taxa de venda é condicionada a resposta do
usuário. Mas, em ambos os casos o programa exibe o preço final do pro-
duto, com ou sem acréscimo.
Por que colocar espaço em “ %c” ?
A função scanf obtém apenas os caracteres selecionados pelo “%”.
Desta forma, quando o processamento passa pelo “%f” na entrada do
preço, apenas o número digitado será capturado e não o ENTER. As-
sim o ENTER colocado à disposição no buffer é obtido pelo próximo
scanf(“%c”,&possuiTaxa), se escrito sem espaço. Por isso temos a falsa
impressão de que o scanf não foi executado.
Observe na ilustração 15 a saída no console para uma entrada com pre-
ço igual a 200,00 e taxa de venda igual a 15,00
Ilustração 15: Demostração do resultado do exemplo6.
Linguagem C
58
Tecnologia em Análise e Desenvolvimento de Sistemas
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
____________________________________________________
Olá,
Façamos as atividades propostas, a seguir, para verificar como esta-
mos desenvolvendo o nosso aprendizado.
É importante que você digite os exemplos vistos, conforme orienta-
ção dada no início deste Capítulo.
Vamos em frente!!!
22. Desenvolva um programa que leia a matrícula e a nota final de
um aluno de uma escola. Se a nota final for maior ou igual a 60, o
programa deve exibir a mensagem “Aluno aprovado”.
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
____________________________________________________
Capítulo 2
59
Programação I
23. Faça um programa que leia o sexo do usuário e apresente a men-
sagem “O sexo é válido”, se o caractere digitado for ‘M’ ou ‘F’.
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
____________________________________________________
24. Faça um programa que leia um número dado como entrada e
apresente a mensagem “ O número está na faixa correta”, somente
se o valor fornecido for entre 20 e 90.
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
____________________________________________________
Linguagem C
60
Tecnologia em Análise e Desenvolvimento de Sistemas
25. Faça um programa que leia o valor do salário bruto de um fun-
cionário. Se o salário for menor ou igual a R$ 500,00, o programa
deve aplicar um aumento de 10%. Em seguida exiba o salário,
independente se ele sofreu reajuste ou não.
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
____________________________________________________
2.8.2 Comando If-Else
	 	 Sintaxe: if (condição) declaração_1
			 else declaração_2
O comando if-else permite maior agilidade ao programa, quando este
for composto por duas ou mais condições, as quais deve ser avaliadas
antes da execução das partes (bloco de comandos) que o compõem.
No exemplo visto no comando if, o programa só exibiria a mensagem
quando o resultado fosse maior que 2. Para resultados menores que 2,
nós não definimos nenhum bloco de comando; logo, o programa sim-
plesmente não executaria nenhum comando.
Agora, definiremos um bloco de comandos para resultados meno-
res que 2:
Capítulo 2
61
Programação I
Exemplo 8:	
Ilustração 16: Demonstração do resultado se a soma for maior que 2.
Ilustração 17: Demonstração do resultado se a soma for menor que 2.
Linguagem C
62
Tecnologia em Análise e Desenvolvimento de Sistemas
Observe que agora definimos comandos específicos para resultados
maiores que 2 e para resultados menores que 2, conforme demonstrado
nas Ilustrações 16 e 17.
Exemplo 9:
Este exemplo complementa o exemplo 6 exibindo se o usário tem voto
facultativo ou proibido.
Observe no primeiro ‘if’ que se a idade não estiver no intervalo de 18 a
70 o algoritmo verifica se a idade é menor do que 16 (pois se o proces-
samento chegou até neste ponto é porque a idade é menor do que 18 ou
maior do que 70) . Quando a idade for menor que 16 o voto é proibido.
Caso contrário será facultativo, ou seja, 16, 17 ou maior do que 70.
Observe na ilustração 18 a saída no console para uma entrada com ida-
de igual a 17.
Ilustração 18: Demostração do resultado do exemplo 9.
Observe ainda que é possível escrever o comando else em conjunto com
o próximo if de uma forma mais compacta. Veja o mesmo exemplo es-
crito desta forma, com else if ...
Capítulo 2
63
Programação I
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
____________________________________________________
Linguagem C
64
Tecnologia em Análise e Desenvolvimento de Sistemas
Exemplo 10:
Neste exemplo, o usuário responde o valor do salário e em seguida rece-
be uma classificação por nível , variando de 1 a 6. A primeira compara-
ção verifica se o salário é negativo. Neste caso, o programa acusa erro.
Observe na ilustração 19 a execução do programa para um salário
igual a 12 mil
Ilustração 19: Demostração de uma execução do exemplo 10.
Capítulo 2
65
Programação I
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
____________________________________________________
Vamos aproveitar os exercícios de 22 a 25 da seção anterior para
realizar os exercícios desta seção.
Lembre-se de que as atividades devem ser feitas individualmente.
Bom estudo!!!
26. Como complemento do exercício 22, o programa deverá exibir
também a mensagem “Aluno reprovado”, quando a nota final do
aluno for menor que 60.
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
____________________________________________________
Linguagem C
66
Tecnologia em Análise e Desenvolvimento de Sistemas
27. Como complemento do exercício 23, o programa deverá exi-
bir também a mensagem “Sexo inválido”, se o caractere digitado
for diferente de ‘M’ ou ‘F’.
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
____________________________________________________
28. Como complemento do exercício 24, o programa deverá exibir
também a mensagem “ O número está na faixa incorreta”, caso o
valor fornecido não esteja entre 20 e 90.
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
____________________________________________________
29. Como complemento do exercício 25, o programa deverá aplicar
também um aumento de 5%, se o salário for maior do que R$ 500,00.
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
____________________________________________________
Capítulo 2
67
Programação I
2.8.3 Comando Switch
sintaxe:
		 switch (variável)
		 {
		 case constante 1 : declaração 1; break;
		 case constante 2 : declaração 2; break;
		 default:
		 declaração_default;
		 }
O comando switch é similar ao if-else, mas não poderá ser usado quan-
do a condição a ser testada for uma expressão.
Só é aceitável uma variável no switch. Esta variável deve ser de algum
tipo numérico inteiro, como por exemplo, int e char (char armazena o
código ASCII do caracter, isto é, um número inteiro).
Exemplo 11: 	
Neste programa o usuário, além de digitar 2 números inteiros, poderá
escolher a operação a ser realizada.
Este exemplo não condiz com o código!!!
Linguagem C
68
Tecnologia em Análise e Desenvolvimento de Sistemas
	 Ilustração 20: Demonstração compilação e execução do Exemplo 11.
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
____________________________________________________
Capítulo 2
69
Programação I
Exemplo 12:
O usuário informa o número do mês e o programa responde com o nome
deste mês. Se o valor não for de 1 a 12 é exibida uma mensagem de alerta.
Observe na ilustração 21 a execução do programa para o mês igual a 8
Ilustração 21: Demostração de uma execução do exemplo 12.
Linguagem C
70
Tecnologia em Análise e Desenvolvimento de Sistemas
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
____________________________________________________
Exemplo 13:
Neste exemplo o usuário informa o número do mês e o programa exibe
a quantidade máxima de dias possíveis para o referido mês. Observe
que os comandos ‘case’ podem ser agrupados para disparar uma única
ação. Por exemplo, os meses abril, junho, setembro e novembro (nú-
meros 4, 6, 9 e 11) possuem um máximo de 30 dias e assim fazem uma
única atribuição de 30 para a variável maximoDias.
Capítulo 2
71
Programação I
Observe na ilustração 22 a execução do programa para o mês de junho
(número 6).
Ilustração 22: Demostração de uma execução do exemplo 13.
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
____________________________________________________
if:•	 Estrutura condicional “if” assume uma as duas possíveis
ações com base no resultado do teste. (SCHILDT, 1995, p.
89)
if-else:•	 Estrutura condicional “if” assume uma as duas
possíveis ações com base no resultado do teste. (SCHILDT,
1995, p. 91)
swith:•	 Testa uma variável em relação a diversos valores
preestabelecidos.
   (SCHILDT, 1995, p. 98)
Linguagem C
72
Tecnologia em Análise e Desenvolvimento de Sistemas
30. Faça um programa que leia três valores distintos a serem di-
gitados pelo usuário e, utilizando o comando if-else , determine
e exiba o menor deles.
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
____________________________________________________
31. Uma empresa dará aumento aos seus funcionários, de acordo
com sua função:
a) função 1 (vendedor) = 0,10(10%) de aumento;
b) função 2 (gerente) = 0,15(15%) de aumento;
c) função 3 (diretor) = 0,20(20%) de aumento.
Usando o comando switch, faça um programa que leia o salário e
a função do funcionário, calcule e exiba os salários com os devi-
dos aumentos.
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
____________________________________________________
Capítulo 2
73
Programação I
32. Usando o comando if, desenvolva um programa que peça ao
usuário um valor e o armazene na variável X. Tal programa de-
verá efetuar o cálculo de C (A+B) * X se o valor informado
for maior que 5, e efetuar o cálculo C (A-B)*X se o valor for
menor que 5. Se o valor for igual a 5 não faça nada.
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
____________________________________________________
O que aprendemos até aqui?
Que há três comandos de seleção, os quais nos ajudam a desen-•	
volver programas com mais clareza.
Que o comando•	 if é utilizado para decisão simples.
Que o comando•	 if-else é utilizado quando, com base em uma
condição, o programa pode executar um entre os variados blo-
cos de comandos existentes.
Que o comando•	 switch é utilizado quado temos condições que
não sejam expressões.
Linguagem C
74
Tecnologia em Análise e Desenvolvimento de Sistemas
2.9 Comandos de Repetição
Até agora, só conseguíamos executar o programa uma única vez. Se
houvesse a necessidade de um novo teste, o que fazíamos era executar o
programa novamente.
A partir de agora, conheceremos os comandos de repetição, os quais
nos ajudarão em casos em que a repetição de parte do programa se
fizer necessária.
Os comandos são: for, while e do while
2.9.1 O Comando For
Sintaxe: for (inicialização ; condição ; incremento) declaração;
Usaremosocomandoforquandoconhecermosantecipadamenteonúme-
ro de vezes que uma determinada parte do programa (loop) se repetirá.
O comando for avalia primeiramente a expressão inicialização. Depois
avalia a expressão condição que, se verdadeira, passa a executar o corpo
de comandos (declaração). Em seguida avalia a expressão incremento
e recomeça tudo novamente na avaliação da expressão condição. Se a
expressão condição não for verdadeira então o processamento vai para
o próximo comando após o for.
Exemplo 14:
Uma utilização do comando for bem simples: exibir no console a frase
“Linguagem de Programação C” 5 vezes.
Capítulo 2
75
Programação I
Vamos entender o que fazem as duas linhas:
	 for(n = 1; n <= 5; n++)
	   printf(“Linguagem de Programacao C n”);
A linha 1 inicialmente faz a variável n receber 1. Em segundo lugar avalia
se n ainda é menor ou igual a 5. Em terceiro lugar, a linha 2 exibe a frase
“Linguagem de Programação C”. Em quarto lugar , o comando for
avalia n++ (isto é o mesmo que fazer n receber n+1, ou seja, é uma expres-
são para incrementar em uma unidade o valor de n). Nesta hora, com n
valendo 2, volta para avaliar se n ainda é menor ou igual a 5 e continua.
Quando n receber o valor 6 então o processamento sai do comando for,
pois a condição n<=5 não será mais verdadeira.
A ilustração 23 mostra a saída do exemplo 14.
Ilustração 23: Demostração de uma execução do exemplo 14.
Exemplo 15:
Uma outra utilização simples: exibir os números pares de 10 a 500.
Linguagem C
76
Tecnologia em Análise e Desenvolvimento de Sistemas
Observe que a expressão:
par += 2
equivale a:
par = par + 2
O comando for, desta vez, determina o início da variável par em 10 e o
término quando a variável par passar de 500.
A ilustração 24 mostra a saída do exemplo 15.
Ilustração 24: Demostração de uma execução do exemplo 15.
Exemplo 16: Vamos fazer um programa que leia a nota de 10 alunos e no
final exiba a média da turma.
linha 1 #include <stdio.h>
linha 2 #include <stdlib.h>
linha 3 int main()
linha 4 {
linha 5 float nota, soma=0, media=0, conta;
linha 6 for(conta=0; conta<=9; conta++)
linha 7 {
linha 8 printf( “Digite a nota “);
linha 9 scanf(“%f”,&nota);
linha 10 soma=soma+nota;
linha 11 }//esta chave encerra o comando de repetição for.
Linha 12 media= soma/conta;
linha 13 printf( “A media da turma e %f n“,media);
linha 14 system(“PAUSE”);	
linha 15 return 0;
linha 16 }
Vamos entender melhor algumas linhas do código acima.
Capítulo 2
77
Programação I
linha 5... float nota, soma=0, media=0, conta;
Houve a necessidade de iniciarmos essas variáveis com zero, por tratar-
se de variáveis que terão valores cumulativos.
Já vimos que, ao declararmos uma variável, estamos reservando um es-
paço na memória, o qual não é necessariamente um espaço limpo. Isso
significa que nossa variável no momento da declaração armazena ape-
nas lixo. Ao atribuirmos o valor zero para ela, garantimos que os valores
sejam acumulados corretamente.
linha 6... for(conta=0;conta<=;conta++)
A linha do comando for controla a quantidade de vezes que o loop será
executado. Observe que ele inicia a variável conta de zero (conta=0;),
controla o loop para ser executado 10 vezes (conta<=9) e finalmente
incrementa a variável conta (conta++).
É importante notar que o comando conta ++ é o mesmo que: conta
= conta + 1
Observe que o comando for possui um par de chaves envolvendo os
comandos Isto é necessário quando há mais de um comando para ser
repetido. Compare com os exemplos 14 e 15 que não possuem estas
chaves. Isto é o mesmo que acontecia com a estrutura if-else.
linha 10... soma=soma+nota;
Nessa linha acumula-se a soma das notas da turma.
linha 12... media= soma/conta;
Observe que essa linha de comando foi colocada após encerramento
do for, pois só nos interessa calcular a média depois que todas as notas
forem somadas.
Como a variável conta guarda o número de vezes que o loop foi executa-
do, que é igual à quantidade de alunos estipulada no programa, em vez de
dividirmos a soma por 10, fazemos a divisão utilizando a variável conta.
linha 13... printf( “A media da turma e %f n “, media);
Para melhorarmos a exibição dessa mensagem, basta trocar %f por
%.2f , será exibido apenas 2 casas depois da vírgula.
Linguagem C
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação
Logica de programação

Más contenido relacionado

La actualidad más candente

Linguagem de Programação Comercial
Linguagem de Programação ComercialLinguagem de Programação Comercial
Linguagem de Programação ComercialTathiana Machado
 
Princípios e Práticas de Programação com C++
Princípios e Práticas de Programação com C++Princípios e Práticas de Programação com C++
Princípios e Práticas de Programação com C++Grupo A
 
Software educativo: Uma ferramenta a ser Explorada!
Software educativo: Uma ferramenta a ser Explorada! Software educativo: Uma ferramenta a ser Explorada!
Software educativo: Uma ferramenta a ser Explorada! Fabiana Zuliani
 
Ideias para programar
Ideias para programarIdeias para programar
Ideias para programarrobinhoct
 
Programas aplicativos
Programas aplicativosProgramas aplicativos
Programas aplicativosMatheusRpz
 
Apostila sistema operacional cor capa ficha 2011 02 04
Apostila sistema operacional cor capa ficha 2011 02 04Apostila sistema operacional cor capa ficha 2011 02 04
Apostila sistema operacional cor capa ficha 2011 02 04MatheusRpz
 
Caderno de Linguagem de Programação para Web
Caderno de Linguagem de Programação para WebCaderno de Linguagem de Programação para Web
Caderno de Linguagem de Programação para Webgeysasz
 
Aula tde 26 03-2015
Aula tde 26 03-2015Aula tde 26 03-2015
Aula tde 26 03-2015Aline Borin
 
Guia de orientação dos monitores. Vol. 2.
Guia de orientação dos monitores. Vol. 2.Guia de orientação dos monitores. Vol. 2.
Guia de orientação dos monitores. Vol. 2.SteCabedelo
 
Caderno de Orientação a Objetos - Secretaria de Educação
Caderno de Orientação a Objetos - Secretaria de EducaçãoCaderno de Orientação a Objetos - Secretaria de Educação
Caderno de Orientação a Objetos - Secretaria de Educaçãogeysasz
 
A Iniciativa JEDI, O ensino de Java livre e gratuito
A Iniciativa JEDI, O ensino de Java livre e gratuitoA Iniciativa JEDI, O ensino de Java livre e gratuito
A Iniciativa JEDI, O ensino de Java livre e gratuitocejug
 
Tutorial global room-v1.2
Tutorial global room-v1.2Tutorial global room-v1.2
Tutorial global room-v1.2EducarBrasil
 
Projeto airsoftware emca 2010 - centro paula souza - taubaté,sp
Projeto airsoftware   emca 2010 - centro paula souza - taubaté,spProjeto airsoftware   emca 2010 - centro paula souza - taubaté,sp
Projeto airsoftware emca 2010 - centro paula souza - taubaté,spCaique Guilherme Faria Dias
 

La actualidad más candente (18)

ApresentaçãO Da FormaçãO
ApresentaçãO Da FormaçãOApresentaçãO Da FormaçãO
ApresentaçãO Da FormaçãO
 
Linguagem de Programação Comercial
Linguagem de Programação ComercialLinguagem de Programação Comercial
Linguagem de Programação Comercial
 
ideias de programação
ideias de programaçãoideias de programação
ideias de programação
 
Princípios e Práticas de Programação com C++
Princípios e Práticas de Programação com C++Princípios e Práticas de Programação com C++
Princípios e Práticas de Programação com C++
 
Software educativo: Uma ferramenta a ser Explorada!
Software educativo: Uma ferramenta a ser Explorada! Software educativo: Uma ferramenta a ser Explorada!
Software educativo: Uma ferramenta a ser Explorada!
 
081112 manut mont
081112 manut mont081112 manut mont
081112 manut mont
 
Ideias para programar
Ideias para programarIdeias para programar
Ideias para programar
 
Programas aplicativos
Programas aplicativosProgramas aplicativos
Programas aplicativos
 
Apostila sistema operacional cor capa ficha 2011 02 04
Apostila sistema operacional cor capa ficha 2011 02 04Apostila sistema operacional cor capa ficha 2011 02 04
Apostila sistema operacional cor capa ficha 2011 02 04
 
Caderno de Linguagem de Programação para Web
Caderno de Linguagem de Programação para WebCaderno de Linguagem de Programação para Web
Caderno de Linguagem de Programação para Web
 
Guia de Atividades
Guia de AtividadesGuia de Atividades
Guia de Atividades
 
Aula tde 26 03-2015
Aula tde 26 03-2015Aula tde 26 03-2015
Aula tde 26 03-2015
 
Guia de orientação dos monitores. Vol. 2.
Guia de orientação dos monitores. Vol. 2.Guia de orientação dos monitores. Vol. 2.
Guia de orientação dos monitores. Vol. 2.
 
Caderno de Orientação a Objetos - Secretaria de Educação
Caderno de Orientação a Objetos - Secretaria de EducaçãoCaderno de Orientação a Objetos - Secretaria de Educação
Caderno de Orientação a Objetos - Secretaria de Educação
 
Informatica educativa
Informatica educativaInformatica educativa
Informatica educativa
 
A Iniciativa JEDI, O ensino de Java livre e gratuito
A Iniciativa JEDI, O ensino de Java livre e gratuitoA Iniciativa JEDI, O ensino de Java livre e gratuito
A Iniciativa JEDI, O ensino de Java livre e gratuito
 
Tutorial global room-v1.2
Tutorial global room-v1.2Tutorial global room-v1.2
Tutorial global room-v1.2
 
Projeto airsoftware emca 2010 - centro paula souza - taubaté,sp
Projeto airsoftware   emca 2010 - centro paula souza - taubaté,spProjeto airsoftware   emca 2010 - centro paula souza - taubaté,sp
Projeto airsoftware emca 2010 - centro paula souza - taubaté,sp
 

Similar a Logica de programação

Linguagem C (UFRPE)
Linguagem C (UFRPE)Linguagem C (UFRPE)
Linguagem C (UFRPE)guest14543db
 
300 ideias para programar
300 ideias para programar300 ideias para programar
300 ideias para programarAdrielle Dri
 
Curso básico de-word -volume01/4
Curso básico de-word -volume01/4Curso básico de-word -volume01/4
Curso básico de-word -volume01/4Instituto Denver
 
Apresentação roteiro de projeto - alessandra , marlon
Apresentação  roteiro de projeto - alessandra , marlonApresentação  roteiro de projeto - alessandra , marlon
Apresentação roteiro de projeto - alessandra , marlonmarlondrany37
 
Ebook logica-de-programacao-para-iniciantes
Ebook logica-de-programacao-para-iniciantesEbook logica-de-programacao-para-iniciantes
Ebook logica-de-programacao-para-iniciantesMarcio Lima
 
Curso de Tecnologia da Informação p/ PC-DF 2016
Curso de Tecnologia da Informação p/ PC-DF 2016Curso de Tecnologia da Informação p/ PC-DF 2016
Curso de Tecnologia da Informação p/ PC-DF 2016Estratégia Concursos
 
Guia do Estudante - Programador de Sistemas FIC IFB.pptx
Guia do Estudante - Programador de Sistemas  FIC IFB.pptxGuia do Estudante - Programador de Sistemas  FIC IFB.pptx
Guia do Estudante - Programador de Sistemas FIC IFB.pptxemilsonribeiro
 
Projeto Integrado ADS - a agricultura familiar.pdf
Projeto Integrado ADS - a agricultura familiar.pdfProjeto Integrado ADS - a agricultura familiar.pdf
Projeto Integrado ADS - a agricultura familiar.pdfHELENO FAVACHO
 
Apasistemaoperacionalcorcapaficha20110204 130824181441-phpapp02
Apasistemaoperacionalcorcapaficha20110204 130824181441-phpapp02Apasistemaoperacionalcorcapaficha20110204 130824181441-phpapp02
Apasistemaoperacionalcorcapaficha20110204 130824181441-phpapp02Ernane Martins
 
Sete Passos Para Um Programador De Sucesso
Sete Passos Para Um Programador De SucessoSete Passos Para Um Programador De Sucesso
Sete Passos Para Um Programador De SucessoPlaneta Código
 
Guia de orientação dos monitores. vol. 2.
Guia de orientação dos monitores. vol. 2.Guia de orientação dos monitores. vol. 2.
Guia de orientação dos monitores. vol. 2.SteCabedelo
 
Informatica html css
Informatica html cssInformatica html css
Informatica html cssArlanhot
 
387555062-analise-sistemas-pdf.pdf
387555062-analise-sistemas-pdf.pdf387555062-analise-sistemas-pdf.pdf
387555062-analise-sistemas-pdf.pdfNickMartinsgaspar
 
Test-Driven Development serve pra mim?
Test-Driven Development serve pra mim?Test-Driven Development serve pra mim?
Test-Driven Development serve pra mim?Maurício Aniche
 
Formacao completa-java-web-alex-fernando-egidio
Formacao completa-java-web-alex-fernando-egidioFormacao completa-java-web-alex-fernando-egidio
Formacao completa-java-web-alex-fernando-egidioFlávio Lima
 

Similar a Logica de programação (20)

Linguagem C (UFRPE)
Linguagem C (UFRPE)Linguagem C (UFRPE)
Linguagem C (UFRPE)
 
O que é ser um bom programador?
O que é ser um bom programador?O que é ser um bom programador?
O que é ser um bom programador?
 
300 ideias para programar
300 ideias para programar300 ideias para programar
300 ideias para programar
 
Curso básico de-word -volume01/4
Curso básico de-word -volume01/4Curso básico de-word -volume01/4
Curso básico de-word -volume01/4
 
Apresentação roteiro de projeto - alessandra , marlon
Apresentação  roteiro de projeto - alessandra , marlonApresentação  roteiro de projeto - alessandra , marlon
Apresentação roteiro de projeto - alessandra , marlon
 
Prog web
Prog webProg web
Prog web
 
Ebook logica-de-programacao-para-iniciantes
Ebook logica-de-programacao-para-iniciantesEbook logica-de-programacao-para-iniciantes
Ebook logica-de-programacao-para-iniciantes
 
Curso de Tecnologia da Informação p/ PC-DF 2016
Curso de Tecnologia da Informação p/ PC-DF 2016Curso de Tecnologia da Informação p/ PC-DF 2016
Curso de Tecnologia da Informação p/ PC-DF 2016
 
Guia do Estudante - Programador de Sistemas FIC IFB.pptx
Guia do Estudante - Programador de Sistemas  FIC IFB.pptxGuia do Estudante - Programador de Sistemas  FIC IFB.pptx
Guia do Estudante - Programador de Sistemas FIC IFB.pptx
 
Projeto Integrado ADS - a agricultura familiar.pdf
Projeto Integrado ADS - a agricultura familiar.pdfProjeto Integrado ADS - a agricultura familiar.pdf
Projeto Integrado ADS - a agricultura familiar.pdf
 
INTRODUÇÃO A EDUCAÇÃO DIGITAL
INTRODUÇÃO A EDUCAÇÃO DIGITALINTRODUÇÃO A EDUCAÇÃO DIGITAL
INTRODUÇÃO A EDUCAÇÃO DIGITAL
 
Ebook como planejar cursos online
Ebook como planejar cursos onlineEbook como planejar cursos online
Ebook como planejar cursos online
 
Apasistemaoperacionalcorcapaficha20110204 130824181441-phpapp02
Apasistemaoperacionalcorcapaficha20110204 130824181441-phpapp02Apasistemaoperacionalcorcapaficha20110204 130824181441-phpapp02
Apasistemaoperacionalcorcapaficha20110204 130824181441-phpapp02
 
Sete Passos Para Um Programador De Sucesso
Sete Passos Para Um Programador De SucessoSete Passos Para Um Programador De Sucesso
Sete Passos Para Um Programador De Sucesso
 
1. Introdução
1. Introdução1. Introdução
1. Introdução
 
Guia de orientação dos monitores. vol. 2.
Guia de orientação dos monitores. vol. 2.Guia de orientação dos monitores. vol. 2.
Guia de orientação dos monitores. vol. 2.
 
Informatica html css
Informatica html cssInformatica html css
Informatica html css
 
387555062-analise-sistemas-pdf.pdf
387555062-analise-sistemas-pdf.pdf387555062-analise-sistemas-pdf.pdf
387555062-analise-sistemas-pdf.pdf
 
Test-Driven Development serve pra mim?
Test-Driven Development serve pra mim?Test-Driven Development serve pra mim?
Test-Driven Development serve pra mim?
 
Formacao completa-java-web-alex-fernando-egidio
Formacao completa-java-web-alex-fernando-egidioFormacao completa-java-web-alex-fernando-egidio
Formacao completa-java-web-alex-fernando-egidio
 

Último

Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxMarcosLemes28
 
Produção de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptxProdução de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptxLeonardoGabriel65
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º anoRachel Facundo
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...andreiavys
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxFlviaGomes64
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfHELENO FAVACHO
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do séculoBiblioteca UCS
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxLuizHenriquedeAlmeid6
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMHELENO FAVACHO
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptxJssicaCassiano2
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfHELENO FAVACHO
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeitotatianehilda
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxAntonioVieira539017
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfHELENO FAVACHO
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfHELENO FAVACHO
 
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVAEDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVAssuser2ad38b
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaHELENO FAVACHO
 
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...DirceuNascimento5
 

Último (20)

Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
Produção de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptxProdução de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptx
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptxMonoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
Monoteísmo, Politeísmo, Panteísmo 7 ANO2.pptx
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptxSlides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
Slides Lição 6, Betel, Ordenança para uma vida de obediência e submissão.pptx
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVAEDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
EDUCAÇÃO ESPECIAL NA PERSPECTIVA INCLUSIVA
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
A Revolução Francesa. Liberdade, Igualdade e Fraternidade são os direitos que...
 

Logica de programação

  • 1. PROFª. SOLIMARA RAVANI DE SANT’ANNA PROGRAMAÇÃO I VITÓRIA 2009
  • 2. 2 Tecnologia em Análise e Desenvolvimento de Sistemas Governo Federal Ministro de Educação Fernando Haddad Ifes – Instituto Federal do Espírito Santo Reitor Dênio Rebello Arantes Pró-Reitora de Ensino Cristiane Tenan Schlittler dos Santos Coordenadora do CEAD – Centro de Educação a Distância Yvina Pavan Baldo Coordenadoras da UAB – Universidade Aberta do Brasil Yvina Pavan Baldo Maria das Graças Zamborlini Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Coordenação de Curso Isaura Nobre Designer Instrucional Danielli Veiga Carneiro Professor Especialista/Autor Solimara Ravani Sant’Anna Catalogação da fonte: Rogéria Gomes Belchior - CRB 12/417 S231 Sant’Anna, Solimara Ravani ProgramaçãoI./SolimaraRavaniSant’Anna.–Vitória:CEFETES,2007. 139 p. : il. 1. Algoritmos. 2. C (linguagem de programação de computadores). 3. Programação de computadores. I. Centro Federal de Educação Tecnológica do Espírito Santo. II. Título. CDD 005.133 005.1 DIREITOS RESERVADOS Ifes – Instituto Federal do Espírito Santo Av. Vitória – Jucutuquara – Vitória – ES - CEP - (27) 3331.2139 Créditos de autoria da editoração Capa: Juliana Cristina da Silva Projeto gráfico: Juliana Cristina da Silva / Nelson Torres Iconografia: Nelson Torres Editoração eletrônica: Duo Translations Revisão Técnica: Henrique Monteiro Cristovão Revisão de texto: Ilioni Augusta da Costa Maria Madalena Covre da Silva COPYRIGHT – É proibida a reprodução, mesmo que parcial, por qualquer meio, sem autorização escrita dos autores e do detentor dos direitos autorais.
  • 3. 3 Programação I Olá, Aluno(a)! É um prazer tê-lo(a) conosco. O Ifes oferece a você, em parceria com as Prefeituras e com o Governo Federal, o Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas, na modalidade a distância. Apesar de este curso ser ofertado a distância, esperamos que haja proximidade entre nós, pois, hoje, graças aos recursos da tecnologia da informação (e-mails, chat, videoconferên- cia, etc.), podemos manter uma comunicação efetiva. É importante que você conheça toda a equipe envolvida neste curso: coor- denadores, professores especialistas, tutores a distância e tutores presenciais, porque, quando precisar de algum tipo de ajuda, saberá a quem recorrer. Na EaD - Educação a Distância, você é o grande responsável pelo sucesso da aprendizagem. Por isso, é necessário que você se organize para os estudos e para a realização de todas as atividades, nos prazos estabelecidos, conforme orientação dos Professores Especialistas e Tutores. Fique atento às orientações de estudo que se encontram no Manual do Aluno. A EaD, pela sua característica de amplitude e pelo uso de tecnologias mo- dernas, representa uma nova forma de aprender, respeitando, sempre, o seu tempo. Desejamos-lhe sucesso e dedicação! Equipe do Ifes
  • 4. 4 Tecnologia em Análise e Desenvolvimento de Sistemas Fala do Professor Conceitos importantes. Fique atento! Atividades que devem ser elaboradas por você, após a leitura dos textos. Indicação de leituras complemtares, referentes ao conteúdo estudado. Destaque de algo importante, referente ao conteúdo apresentado. Atenção! Reflexão/questionamento sobre algo impor- tante referente ao conteúdo apresentado. Espaço reservado para as anotações que você julgar necessárias. ICONOGRAFIA Veja, abaixo, alguns símbolos utilizados neste material para guiá-lo em seus estudos.
  • 5. 5 Programação I PROGRAMAÇÃO I Cap. 1 - ALGORITMOS 9 1.1 Entendendo Algoritmos 9 1.2 Construindo Algoritmos 10 1.3 Construindo Algoritmos Para Computadores 13 1.3.1 Reservando Memória 13 1.3.2 Variáveis 13 1.3.3 Constantes 17 1.4 Operadores 19 1.4.1 Operadores Aritméticos 19 1.4.2 Operadores Relacionais 19 1.4.3 Operadores Lógicos 19 1.5 Expressão Aritmética e Expressão Lógica 21 1.5.1 Expressão Aritmética 21 1.5.2 Expressão Lógica 21 1.6 Comandos de Atribuição, de Entrada, de Saída e   Comentário 24 1.6.1 Comando de Atribuição 24 1.6.2 Comando de Entrada 25 1.6.3 Comando de Saída 25 1.6.4 Comentários 26 1.6.5 Como Construir Algoritmo 29 Cap. 2 - LINGUAGEM C 35 2.1 As Telas do Bloodshed Dev-C++ 36 2.2 Visão Geral da Linguagem C 41 2.3 Comandos da Linguagem de Programação C 42 2.4 Constantes e Variáveis na Linguagem de   Programação C 47 2.4.1 Tipos de Variáveis na Linguagem de Programação C 48 2.5 Alguns dos Códigos para Impressão Formatada   de Printf( ) 49 2.6 Códigos Utilizados Pela Função Scanf( ) 50 2.7 Como fazer Comentários 50 2.8 Comandos de Seleção 54 2.8.1 Comando If 54 2.8.2 Comando If-Else 60 2.8.3 Comando Switch 67 2.9 Comandos de Repetição 74
  • 6. 6 Tecnologia em Análise e Desenvolvimento de Sistemas 2.9.1 O Comando For 74 2.9.2. O Comando While 81 2.9.3. O Comando do while 86 Cap. 3 - VETORES E MATRIZES 93 3.1 Entendendo Vetor 93 3.1.1 Declarando Vetor 93 3.1.2 Atribuindo Valores ao Vetor (Inicialização) 94 3.1.3 Vetor de String 99 3.1.4 Leitura de Vetor de String 100 3.2 Matriz 102 3.2.1 Matriz de String 105 Cap. 4 - ESTRUTURAS(STRUCT) 111 4.1 Declarando uma Estrutura 111 4.2 Utilizando Estrutura no Programa 114 4.3 Vetores de Estrutura (Struct) 116 Cap. 5 - PROCEDIMENTOS E FUNÇÕES 123 5.1 Modularização 123 5.2 Funções 124 5.2.1 Entendendo Funções 124 5.3 Procedimentos 126 5.3.1 Entendendo Procedimentos 126 5.4 Escopo de Variáveis 129 5.1.4 Passagem de Parâmetro 129 5.1.5 Funções Recursivas 134 5.1.6 Protótipo de Função 136 REFERÊNCIAS BIBLIOGRÁFICAS 139
  • 7. 7 Programação I APRESENTAÇÃO Olá, Nessa disciplina vamos conhecer o que é Algoritmo e apren- der a resolver problemas de forma que o computador possa entender e executar. Vamos aprender os conceitos básicos da linguagem de programa- ção C, que será utilizada para desenvolvimento dos programas. O material impresso que você utilizará nessa disciplina foi prepa- rado valorizando os detalhes, no intuito de amenizar as dificulda- des que possam aparecer em nosso percurso, na sala de aula. É importante que você o tenha sempre ao alcance, aprovei- tando o tempo disponível para leitura, revisão ou execução das atividades. Todas as atividades aqui propostas, apesar de não serem avaliati- vas, deverão ser realizadas individualmente, pois só dessa forma você adquirirá auto confiança, e prática na solução de problemas que envolvem computadores. Para valorizar o estudo of-line, serão encontradas ao longo do material, Ilustrações demostrando digitação, compilação e exe- cução (no DEV C++), dos exemplos apresentados, já que al- guns alunos não dispõem de computador com facilidade. Apesar de a equipe EaD ser composta por profissionais com- promissados com o seu aprendizado, é importante que você faça a sua parte com o mesmo comprometimento; só assim todos, você e a equipe EaD, poderão desfrutar do sucesso ao final dessa caminhada. Bom estudo!!!!
  • 8. 8 Tecnologia em Análise e Desenvolvimento de Sistemas
  • 9. 9 Programação I Caro aluno, Vamos iniciar o primeiro capítulo, em que você estudará o concei- to de Algoritmo. Nessa fase, trabalharemos com exemplos da nossa vida diária no intuito de um entendimento correto desse conceito. É importante que ao final deste Capítulo, você tenha clareza a res- peito do significado de Algoritmo, a fim de iniciarmos nossa trajetó- ria no mundo computacional. Bom estudo! Quando criamos um Algoritmo, o que fazemos, é apontar uma dentre muitas soluções possíveis a um problema qualquer. Para que a solução por nós apontada possa solucionar corretamente o problema, ela deverá ser pensada, planejada, executada e, por fim, testa- da. Somente após passarmos por essas etapas, teremos garantia mínima da solução do problema. Todas as etapas serão utilizadas por você no decorrer do nosso curso. 1.1 Entendendo Algoritmos Exemplo: Suponha o seguinte problema: como proceder para NÃO ob- ter sucesso nos cursos a distância. Receita: Como NÃO obter sucesso nos Cursos EaD 1. Não administre seu tempo de forma a estudar pelo menos 2 horas por dia. 2.Sóparticipedasdiscussõesnosfórunsquandooassuntolheinteressar. 3. Nunca tenha o material impresso ao alcance de forma a apro- veitar qualquer tempo para leitura. 4. Avance para o Capítulo seguinte na certeza de que entenderá melhor o anterior. 5. Nunca tente resolver os exercícios sozinho, resolva-os sempre com a ajuda do tutor. ALGORITMOS
  • 10. 10 Tecnologia em Análise e Desenvolvimento de Sistemas Certamente que NÃO seguiremos esses passos, mas fica claro que basta qualquer pessoa seguí-los para obter o resultado. Exemplo: Suponha outro problema: como fazer um bolo. Receita: Bolo Festa 1. Separe os seguintes ingredientes: ovos, trigo, sal, leite, açú- car e fermento. 2. Bata em uma tigela a manteiga com o açúcar. 3. Acrescente as gemas, o leite, o trigo e o sal. 4. Misture bem. 5. Acrescente o fermento. 6. Coloque a massa na assadeira. 7. Asse por 30 minutos. Os dois exemplos acima são Algoritmos, pois enumeram passos que le- vam à solução de problemas específicos. 1.2 Construindo Algoritmos Vamos construir Algoritmos para resolver problemas propostos em alguns sites. 1. Tente conduzir a vaquinha até o troféu. Acesse o link: http:// www.q-lympics.de/iq-marathon/ Clique em ‘Starten’ e depois em ‘Ok’. Agora, arraste as setas para determinar o caminho da vaquinha e em seguida aperte ‘Go’. Ob- serve o código que aparece em cada mudança de fase. Ele permite que você depois continue daquele ponto em diante. Obs.: as setas azuis, diferentemente das vermelhas, não se apagam quando a vaquinha passa. Copie aqui o código da última fase que você conseguiu chegar. Ao todo são 43 fases. _____________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________ Capítulo 1
  • 11. 11 Programação I ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ 2. Acesse o link: http://rachacuca.com.br/calculadora-quebrada/ Nesse link encontraremos uma calculadora quebrada e pro- blemas a resolver. Clicandonobotão<PRÓXIMO>,teremosacessoaoprimeiroproblema. Lembre-se de descrever a solução passo a passo, como fizemos nos exemplos acima. ___________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ 3. Vamos acessar o link: http://rachacuca.com.br/jarros/ Nesse link encontraremos jarros e problemas a resolver. Clicando no botão <JOGAR>, teremos acesso ao primeiro problema. Resolva-o. ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________ Algoritmos
  • 12. 12 Tecnologia em Análise e Desenvolvimento de Sistemas Olá, Com a conclusão dos exercícios, podemos observar que cada um aponta uma solução, para os problemas apresentados. Cada solução criada é um Algoritmo. Vamos em frente!!! ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ Nosso objetivo, no entanto, é criar Algoritmos compostos de pas- sos que o computador seja capaz de entender e executar e não Algoritmos com passos que as pessoas sejam capazes de entender e executar. Então, precisaremos somar mais conhecimentos aos vistos até aqui, uma vez que o computador não poderia executar os passos descritos em nossos exemplos acima. Capítulo 1
  • 13. 13 Programação I Algoritmo: É uma sequência não ambígua e finita de instruções, cuja a execução, em tempo finito, resolve um problema computa- cional. (SEBESTA, 2003). 1.3 Construindo Algoritmos Para Computadores Construir Algoritmos para computadores requer, em primeiro lu- gar, a transformação do nosso passo a passo em uma estrutura que possa ser entendida e executada pelo computador. Para isso, utili- zaremos inicialmente uma linguagem conhecida como Portugol e mais tarde, assim que os principais conceitos tenham sido assimi- lados, a Linguagem C. Para entender essa estrutura, vamos estudar o que é memória, variáveis e constantes. 1.3.1 Reservando Memória É na memória do computador que o nosso programa será executado. Quando vamos usar a memória em um Algoritmo para armazenar da- dos inerentes à solução de um problema como o resultado de uma operação ou mesmo um número ou uma palavra, é necessário infor- mar primeiro ao computador que precisaremos dessa memória. Essa informação é passada ao computador por meio de comando, que ve- remos posteriormente. Memória: Meio físico para armazenar dados temporariamente ou permanentemente.(TANENBAUM, 1997, p.212). 1.3.2 Variáveis Sintaxe: tipo identificador <ou Lista-de-identificadores>; Além de reservar a memória, temos que informar ao computador como vamos nos referir a essa reserva, ou seja, como denominaremos, o espa- ço de memória reservado. Algoritmos
  • 14. 14 Tecnologia em Análise e Desenvolvimento de Sistemas O nome dado a esse espaço é seu endereço. Dizemos que os endereços nomeados de memória são as variáveis do programa. O conteúdo de uma variável pode mudar durante a execução do programa. Por que precisamos declarar variáveis? Em nosso Algoritmo precisaremos manipular diversos valores de forma a encontrar a solução do problema. Esses valores deverão estar armazenados de forma que, quando necessá- rios, possam ser identificados corretamente. Uma correta declaração de variáveis é que disponibilizará uma iden- tificação precisa do valor já que a variável é justamente o endereço do valor armazenado. O que são valores? Osdadosnecessáriosàsoluçãodoproblemasãoosvalores,quedevemserma- nipulados de maneira a fornecer resultados que solucionem o problema. Os valores poderão ser inteiros (número da matrícula do funcionário, número de filhos), reais ( valor do salário e o desconto de IRRF) e lógi- cos (funcionário sindicalizado ou não: assume falso ou verdadeiro). Cada variável corresponde a uma posição de memória, cujo conteúdo pode variar durante a execução de um programa. O que são tipos de variáveis? Como dissemos, os valores diferem quanto ao seu tipo, isso significa que, para cada tipo de dado, teremos um tipo de variável específica, que passamos a ver: Tipo inteiro:• Declararemos variáveis do tipo numérico inteiro para representar uma localização de memória do computador utilizada para armazenar os valores inteiros (positivos ou ne- gativos) que constarem em nosso Algoritmo. Exemplo: 1 2000 -3 Tipo real:• Declararemos variáveis do tipo numérico real para armazenar os valores reais (números fracionários: aqueles com ponto decimal) que constarem em nosso Algoritmo. Exemplo: 1,0 2,000 -3,0 Tipo caractere• : Declararemos variáveis do tipo literal caractere para armazenar um único caractere, que pode ser uma letra ou um símbolo. Capítulo 1
  • 15. 15 Programação I Exemplo: Para identificar o sexo do indivíduo, armaze- naremos apenas o caractere ‘F’ ou ‘M’. Tipo cadeia• : Declararemos variáveis do tipo literal cadeia para armazenar uma seqüência de caracteres, ou seja, uma palavra, uma mensagem, um nome. Exemplo: Se decidirmos armazenar a palavra “Masculi- no” ou “Feminino”, para identificar o sexo do indivíduo no lugar do caractere ‘F’ ou ‘M’, teremos que declarar o tipo da variável como cadeia. Tipo lógica• : Declararemos variáveis do tipo lógico para ar- mazenar valores lógicos, VERDADEIRO ou FALSO, ou ainda expressões lógicas, cujo resultado seja ou FALSO ou VERDADEIRO. Como declarar variáveis? Para criar o nome de uma variável, precisamos seguir algumas regras. São elas: REGRA EXEMPLO Não inicie com número; 1NUM Não utilize caracteres especiais. 1ºNum; Nome(M); N*B Não coloque espaços em branco ou hífen entre nomes. B Letra B-Letra Utilize, se necessário, underline (ou underscore) B_Letra Crie suas variáveis com nomes sugestivos (não é uma regra, mas é bom seguir). Se vai guardar nome de funcio- nários, crie a variável utilizando a palavra NOME. Variável: Uma Variável é uma posição nomeada de memória, que é usada para guardar um valor que pode ser modificado pelo pro- grama. (LAUREANO, 2005, p. 12). Algoritmos
  • 16. 16 Tecnologia em Análise e Desenvolvimento de Sistemas ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ Olá, As atividades aqui propostas não são avaliativas. Sugiro, entretanto, que sejam realizadas sem consultas, dessa forma poderemos acom- panhar o desenvolvimento. Bom Estudo!!! 3. Aprendemos que, ao declarar uma variável precisamos se- guir algumas regras. Assinale, as variáveis que obedecem às regras estabelecidas: a) ( ) NUM1 e) ( ) TELEFONE i) ( ) P_Num b ) ( ) 1 NUM f) ( ) Nome j) ( ) Num_RUA c) ( ) 1ºNUM g) ( ) R-2 k) ( ) Certo d ) ( ) SEXO h) ( ) Rua l) ( ) MATR Capítulo 1
  • 17. 17 Programação I 4. Para cada valor apresentado abaixo, foi definido um tipo de vari- ável. Marque com X os tipos que foram definidos corretamente: a)( ) valor= 1.0 tipo= real b)( ) valor= 23 tipo= real c)( ) valor= -3 tipo= real d)( ) valor= -3.0 tipo= real e)( ) valor= 1000 tipo = inteiro f)( ) valor= 54 tipo = inteiro g)( ) valor= -54 tipo = inteiro h)( ) valor= 54,0 tipo = inteiro i)( ) valor= ‘F’ tipo = cadeia j)( ) valor= ‘M’ tipo = caract k)( ) valor= “rua” tipo = cadeia l)( ) valor= “*” tipo = caract 1.3.3 Constantes Sintaxe: const identificador = valor; As constantes são criadas com base nas mesmas regras e tipos já vistos em variável. Diferem apenas no fato de armazenar um valor constante, ou seja, que não se modifica durante a execução de um programa. Se você entendeu como declarar uma variável, ficará fácil entender como se cria uma constante. Vamos tomar como exemplo a folha de pagamento dos funcionários de uma determinada empresa: Se assumirmos que a empresa concederá um aumento de 10%• aos seus funcionários independentemente do valor do salário, a taxa de 10% será uma constante, durante a execução do pro- grama que efetuará o cálculo. Nossa constante ficaria assim declarada: const TAXA= 0.10; O nome da empresa também será uma constante, ele será impres-• so em todos os contra-cheques, teremos mais uma constante. E a declararíamos assim: const NOME; NOME = “Empresa X”; Constante: Variável com valor pré-definido que não pode ser modifica- dopornenhumafunçãodeumprograma.(LAUREANO,2005,p.16). Algoritmos
  • 18. 18 Tecnologia em Análise e Desenvolvimento de Sistemas ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________ 5. Identifique o tipo de cada uma das constantes abaixo: Exemplo: a) 35 [ constante tipo inteiro ] b) 21000 [ ] f) 0,10 [ ] c)“falso” [ ] g) “Ifes” [ ] d) TRUE [ ] h) 2007 [ ] e ) FALSO [ ] i ) “verdadeiro” [ ] O que aprendemos até aqui? • Algoritmos são os passos que levam à solução de um problema. • As variáveis armazenarão valores numéricos reais e inteiros, valores literais caractere e cadeia e valores lógicos identificados no Algoritmo. • Oconteúdodeumavariávelpodevariarduranteaexecuçãodo programa. • A diferença entre constante e variável é que o conteúdo de uma constante não varia durante a execução do programa. • Ao fazermos declarações de variáveis e de constantes temos que seguir regras. Capítulo 1
  • 19. 19 Programação I 1.4 Operadores Os operadores são símbolos que representam uma operação aritmética ou lógica. 1.4.1 Operadores Aritméticos Os operadores aritméticos são empregados em expressão aritmética em que são utilizados constantes ou variáveis do tipo real ou inteira, como operandos. Vamos ver abaixo a ordem de precedência: adição + subtração - multiplicação * divisão / 1.4.2 Operadores Relacionais Os operadores relacionais realizam comparações entre variáveis. São eles: igual = maior > menor < maior ou igual >= menor ou igual <= não igual (ou diferente) != 1.4.3 Operadores Lógicos Os operadores lógicos retornam Falso(F) ou Verdadeiro(V) , de acordo com seus operandos. São eles: Operadores E OU NÃO Entendendo: Vamos assumir que existam duas condições para o resultado favorável de uma prova: Algoritmos
  • 20. 20 Tecnologia em Análise e Desenvolvimento de Sistemas 1ª proposição: O aluno estudou. 2ª proposição: O aluno colou. • Chamaremos a 1ª proposição de P. • E chamaremos a 2ª proposição de Q. Vamos verificar na tabela abaixo qual resposta teremos na 3ª coluna se o operador lógico utilizado entre as proposições for o OU: P Q P ou Q V V V V F V F V V F F F Observe que o aluno só não terá resultado favorável se as duas proposições forem falsas, ou seja: Se o aluno não estudar OU se o aluno não colar. Agora vamos verificar como se comporta a 3º coluna se o operador ló- gico utilizado for o E: P Q P e Q V V V V F F F V F F F F Nesse caso, para tirar uma nota favorável, o aluno, além de estudar, terá de colar. Abaixo, a tabela para o operador lógico NÃO: P Não P V F F V Ordem de precedência das operações: Prioridade Operador 1ª aritmético 2ª relacional 3ª lógico - não 4ª lógico - e 5ª lógico -ou Capítulo 1
  • 21. 21 Programação I 1.5 Expressão Aritmética e Expressão Lógica 1.5.1 Expressão Aritmética Expressão aritmética é a que utiliza operandos que sejam constantes ou variáveis, desde que sejam do tipo real ou inteiro e operadores aritméti- cos, os quis estudamos no item 1.4. Exemplo: x + y Ordem de precedência das operações: Prioridade Operador Operação 1ª * / multiplicação, divisão 2ª + - adição, subtração Utilizando vários níveis de parênteses, quebraremos a prioridade e ob- teremos uma seqüência de cálculo diferente. 1.5.2 Expressão Lógica Expressão lógica utiliza operandos que sejam constantes e/ou variáveis numéricas, literais ou lógicas e os operadores lógicos. Exemplos: (x < y) e (y < z) (y > t) ou verdade Observe que nos exemplos acima o resultado obtido é sempre VER- DADEIRO OU FALSO. Numa expressão lógica, sempre obteremos o resultado V ou F. Exemplo: Dadas as variáveis e as seguintes atribuições: var inteiro NUM1=10; var inteiro NUM2= 5; var inteiro NUM3=200; var inteiro NUM4=200; Vamos verificar se a expressão ( NUM1+ NUM2 > 10 e NUM1+ NUM3 > NUM4) é VERDADEIRA ou FALSA: Algoritmos
  • 22. 22 Tecnologia em Análise e Desenvolvimento de Sistemas Vamos analisar todas as etapas necessárias: 1. NUM1+ NUM2 > NUM1 é o mesmo que (10+5>10), resposta V, já que 10+5 é maior que 10. 2. NUM1+ NUM3 > NUM4 é o mesmo que (10+200>200), resposta V, já que 10+200 é maior que 200. 3. Assim, nossa expressão se resumirá em V e V. 4. Na tabela verdade aprendemos que numa proposição V e V, o resul- tado será V. 5. Portanto o resultado final é: V ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ Capítulo 1
  • 23. 23 Programação I Olá, É importante que as atividades abaixo sejam realizadas na ordem proposta, já que o grau de dificuldade vai crescendo na mesma ordem. Bom estudo!! Observe as seguintes declarações de variáveis e suas respectivas atribuições e responda às questões abaixo: var inteiro NUM1=10; var inteiro NUM2= 5; var inteiro NUM3=200; var inteiro NUM4=200; 6. Coloque F ou V nas expressões abaixo: Exemplo: ( F ) NUM4 > NUM3; a) ( ) NUM1 > NUM2; b) ( ) NUM1 < NUM3; c) ( ) NUM1 < NUM4; d) ( ) NUM3 = NUM4; 7. Coloque F ou V nas expressões abaixo: Exemplo: ( F ) NUM1-NUM2 < NUM2; a) ( ) NUM1+ NUM2 > NUM3; b) ( ) NUM1* NUM2 < NUM4; c) ( ) NUM3 - NUM4 != NUM4; d) ( ) NUM3 / NUM1 < NUM4; 8. Coloque F ou V nas expressões abaixo: Exemplo: ( F ) NUM1+ NUM2 > 10 e NUM3 - NUM4 = NUM3; a) ( ) NUM1 / NUM2 > 0 e NUM1 + NUM3 > NUM4; b) ( ) NUM1 * NUM2 > 40 e NUM3 - NUM1 > NUM4; c) ( ) NUM1 - NUM2 = 10 e NUM2 + NUM3 > NUM4; d) ( ) NUM1 + NUM2 < 10 e NUM3 - NUM4 = NUM1; Algoritmos
  • 24. 24 Tecnologia em Análise e Desenvolvimento de Sistemas 9. Coloque F ou V nas expressões abaixo: Exemplo: (V) NUM3 / NUM2 >55 ou NUM1+ NUM3 > NUM4; a) ( ) NUM3 / NUM2 > 0 ou NUM1 + NUM3 > NUM4; b) ( ) NUM2 * NUM1 = 50 ou NUM3 - NUM1 > NUM4; c) ( ) NUM1 - NUM2 > 10 ou NUM2 + NUM3 > NUM4; d) ( ) NUM1 + NUM2 > 10 ou NUM3 / NUM1 > NUM4; 10. Coloque F ou V nas expressões abaixo: Ex.: (V) NUM1 > NUM2 e NUM2 < NUM3 ou NUM3 < NUM4; a) ( ) NUM1 > NUM2 e NUM2 < NUM3 ou NUM3 < NUM4; b) ( ) NUM1 * NUM2 > 10 e NUM1 > NUM4 ou NUM3 - NUM1 > NUM4; c) ( ) NUM1 > 10 ou NUM1> NUM4 e NUM3 - NUM1 > NUM4; d) ( ) NUM1 + NUM2 > 10 ou NUM1 / NUM3 > NUM4 e NUM3 < NUM4; O que aprendemos sobre os operadores? • São símbolos que representam uma operação aritmética ou lógica. • Os operadores podem ser: aritméticos, relacionais e lógicos. • Os aritméticos são empregados em expressão aritmética . • Os relacionais verificam as relações entre os operadores. • Os lógicos retornam Falso (F) ou Verdadeiro (V). • A ordem de precedência das operações. 1.6 Comandos de Atribuição, de Entrada, de Saí- da e Comentário 1.6.1 Comando de Atribuição Na construção de nossos Algoritmos, precisamos constantemente indi- car que uma variável ou uma constante criada por nós armazenará um determinado valor ou expressão, durante a execução do programa. Capítulo 1
  • 25. 25 Programação I A forma correta de fazer essa indicação é por meio do comando de atri- buição, representado por uma seta(←). Assim: var int NUM; /*criamos a variável inteira NUM*/ NUM ← 10; /*atribuímos o valor 10*/ var caractere SEXO; /*criamos a variável caractere SEXO*/ SEXO ← ‘F’; /*atribuímos o caractere ‘F’*/ var real SALÁRIO; /*criamos a variável real SALÁRIO*/ SALÁRIO← 22.000,00 /*atribuímos o valor 22.000,00*/ 1.6.2 Comando de Entrada Sintaxe: leia(variável); Os dados de que precisaremos para execução do nosso Algoritmo serão geralmente informados por meio do teclado. O comando de entrada será responsável pela leitura e armazenamento desses dados na variável que indicarmos. 1.6.3 Comando de Saída Sintaxe: escreva(“O nome é:” , variável); O comando de saída será responsável pela exibição de mensagens, de valores processados ou de valores lidos, conforme indicarmos. Exemplo: Algoritmo primeiro var cadeia NOME; { NOME ← “Paulo Vitor”; escreva(“Olá, ” , NOME); } Olá, Paulo Vitor Algoritmos
  • 26. 26 Tecnologia em Análise e Desenvolvimento de Sistemas Veja o resultado desse Algoritmo no quadro ao lado. Observe que se o comando de saída fosse: escreva(“Olá, , NOME”); a saída seria exatamente o conteúdo entre as aspas. Portanto, coloque fora das aspas tudo aquilo que deve ser resolvido pelo computador. 1.6.4 Comentários Utilizaremos comentário para explicar detalhes que julgarmos necessários em nosso programa. Desta forma, aumentamos a legibilidade do nosso al- goritmo. Lembre-se que não devemos fazer programas apenas para que o computador execute, mas também para outras pessoas possam entendê-lo e assim participarem da sua construção e/ou manutenção. Exemplo: var int NUM; /*criamos a variável inteira NUM*/ NUM ← 10; /*atribuímos o valor 10*/ Observe que existem caracteres especiais( /*) que foram utilizados no início e no fim do comentário. Também é possível utilizar os caracteres // (duas barras). Neste caso, ele é finalizado com um salto de linha. Assim: var int NUM; //criamos a variável inteira NUM NUM ← 10; //atribuímos o valor 10 O comentário sempre será feito com base em um dos modelos acima. Faça-o sempre que você sentir necessidade de explicar alguma linha do seu Algoritmo. ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ Olá, ,NOME Capítulo 1
  • 27. 27 Programação I Olá, Gostaria de chamar a atenção para a importância de as atividades serem realizadas individualmente. Bom estudo !!! 11. Assinale os comandos de atribuição realizados corretamente: a) ( ) var cadeia SEXO ← ‘F’; b) ( ) var inteiro ALTURA ← 1,80; c) ( ) var real SALÁRIO ← 3.000,00; d) ( ) var cadeia ← “NOME”; 12. No programa abaixo, dois valores inteiros são lidos e somados e o resultado dessa soma é mostrado no final da execução. Analise as linhas do programa e assinale as afirmações corretas: linha 1 ... Algoritmo soma; linha 2 ... { linha 3 ... var int NUM1, NUM2, SOMA; linha 4 ... escreva( “Digite o primeiro número”); linha 5 ... leia(NUM1); linha 6 ... escreva( “Digite o segundo número”); linha 7 ... leia(NUM2); linha 8 ... SOMA ← NUM1 + NUM2; linha 9 ... escreva( “A soma dos números digitados é:”, SOMA); linha 10 ... } a) ( ) linha 5 → O primeiro valor digitado no teclado está sendo lido e armazenado em NUM1; b) ( ) linha 7 → O segundo valor digitado no teclado está sendo lido e armazenado em NUM2; c) ( ) linha 8 → O resultado da soma dos valores digitados está sendo atribuído à variável SOMA; d) ( ) linha 9 → No monitor serão exibidas a mensagem que está entre aspas e a soma dos números digitados; Algoritmos
  • 28. 28 Tecnologia em Análise e Desenvolvimento de Sistemas 13. O Algoritmo abaixo deverá ler duas notas, calcular a média e mostrar o resultado. Para que o Algoritmo seja executado correta- mente, complete-o com os comandos que faltam: linha 1 ... Algoritmo média; linha 2 ... { linha 3 ... var _______NOTA1, NOTA2, MÉDIA; linha 4 ... __________ ( “Digite a primeira nota”); linha 5 ... _____(NOTA1); linha 6 ... escreva( “_______________________”); linha 7 ... leia(________); linha 8 ... MÉDIA ← (_______ + _______ )/2; linha 9 ... escreva( “A média das notas é:” , __________); linha 10 ... } 14. Faça o mesmo no Algoritmo abaixo, cuja finalidade é calcular 8% de aumento sobre um salário. linha 1 ... Algoritmo reajuste; linha 2 ... { linha 3 ... var _______ SALARIO, SALARIO_NOVO; linha 4 ... __________ ( “Digite o salário”); linha 5 ... _____(SALARIO); linha 6 ... SALARIO_NOVO ← ____________* 1.08; linha7...__________(“Ovalordonovosalárioé:”,______________); linha 8 ... } O que aprendemos sobre os comandos de atribuição, de entrada e de saída? •O comando de atribuição é responsável por atribuir valores à variável. •O comando de entrada faz a leitura do dado digitado no teclado e o armazena na variável. •O comando de saída é responsável por exibir os dados. •O comentário é utilizado para explicar detalhes que julgarmos necessários em nosso programa. Capítulo 1
  • 29. 29 Programação I • atribuição: Consiste em atribuir um valor a uma variável pre- viamente declarada.(LAUREANO, 2005, p.27). • entrada: Mecanismo de entrada consiste em ler caracteres da entrada-padrão, normalmente teclado. (SCHILDT, 1995, p.15). • saída: Mecanismo de saída consiste em escrever caracteres da saída-padrão, normalmente monitor. (SCHILDT, 1995, p.15). • cometários: Texto que não é interpretado pelo compilador. (LAUREANO, 2005, p. 6). 1.6.5 Como Construir Algoritmo Vamos criar um Algoritmo para ler e multiplicar dois números inteiros e exibir o resultado. É importante observar cada linha dessa seqüência. Vamos entender todas as linhas do nosso Algoritmo: linha 1 ... Nome do programa. linha 2 ... A chave indica o início do programa. linha3...Declaraçãodastrêsvariáveisdotipointeironecessáriasaoprograma. linha 4 ... O comando escreva exibirá a mensagem que solicita a digita- ção do primeiro número. Algoritmos linha 1 Algoritmo multiplicação; linha 2 { linha 3 var inteiro NUM1, NUM2, MULT; linha 4 escreva ( “Digite o primeiro número”); linha 5 leia (NUM1); linha 6 escreva ( “Digite o segundo número”); linha 7 leia (NUM2); linha 8 MULT ← NUM1 * NUM2; linha 9 escreva(“O resultado da multiplicação é:”,MULT); linha 10 }
  • 30. 30 Tecnologia em Análise e Desenvolvimento de Sistemas linha 5 ... O primeiro número digitado será lido e armazenado na variável NUM1. linha 6 ... O comando escreva exibirá a mensagem que solicita a digita- ção do segundo número. linha 7 ...O segundo número digitado será lido e armazenado na variável NUM2. linha 8 ...A variável MULT receberá o resultado da multiplicação do primeiro pelo segundo número. linha 9 ...O comando escreva exibirá uma mensagem com o resultado da multiplicação. linha 10...A chave indica o fim do programa. 15. Construa um Algoritmo que efetue o cálculo do salário bruto de um funcionário, considerando que SALARIO BRUTO = HO- RAS TRABALHADAS * VALOR HORA. ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ 16. Faça um Algoritmo que leia o valor da cotação do dólar (dia), multiplique pelo valor (em dólar) de um determinado produto e imprima o valor convertido. ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ Capítulo 1
  • 31. 31 Programação I ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________ 17. O custo ao consumidor de um carro novo é a soma do custo de fábrica com a porcentagem do distribuidor e dos impostos (apli- cados ao custo de fábrica). Supondo que a porcentagem do dis- tribuidor seja 12% e a dos impostos 45%, prepare um Algoritmo para ler o custo de fábrica do carro e imprimir o custo do carro para o consumidor. ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ 18. Uma empresa tem fichas que contém o nome, o número de horas trabalhadas e o número de dependentes de cada um de seus funcionários. Considerando que: • a empresa paga 12 reais por hora trabalhada e 40 reais por dependente; • desconta do salário 8,5% para o INSS e 5% para IRRF. Algoritmos
  • 32. 32 Tecnologia em Análise e Desenvolvimento de Sistemas Faça um Algoritmo para ler o nome, o número de horas trabalha- das e o número de dependentes de um funcionário. No final, o programa deverá exibir o nome, o salário bruto, os valores descontados para cada tipo de imposto e o salário líquido do funcionário. ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ Capítulo 1
  • 33. 33 Programação I 19. Dadas as seguintes informações de um funcionário: nome, idade, cargo e seu salário bruto, considere que: • o salário bruto teve um reajuste de 38%. • o funcionário receberá uma gratificação de 20% do salário bruto. • 15% serão descontados do salário total. Faça um Algoritmo para imprimir nome, idade, cargo, salário bruto e salário líquido. ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ Algoritmos
  • 34. 34 Tecnologia em Análise e Desenvolvimento de Sistemas Leituras complementares: SCHILDT, Herbert. C Completo e Total. São Paulo: Pearson, 2006. KERNIGHAN Brian W. C Linguagem de Programação Parão ANSI. Rio de Janeiro: Elsevier, 1989. Capítulo 1
  • 35. 35 Programação I Caro aluno, Vamos iniciar o segundo Capítulo da nossa disciplina. Nessa eta- pa, é importante que as atividades sejam feitas no computador. Desenvolveremos programas que nos ajudarão a melhorar nosso raciocínio lógico e a nossa agilidade na solução de problemas de forma que o computador seja capaz de interpretar. Se você ainda não fez o download do ambiente Bloodshed Dev-C++, este é o momento. Vamos em frente!!!! A partir desta aula, vamos construir Algoritmos de forma que o compu- tador possa entender e executar. Para isso, vamos conhecer a linguagem de programação C. linguagem de programação:• Uma Linguagem de Programa- ção é um método padronizado para expressar instruções para um computador. (LAUREANO, 2005, p. 4). programas:• Um programa de computador é uma coleção de instruções que descrevem uma tarefa a ser realizada por um computador. (LAUREANO, 2005, p. 4). código fonte:• Uma linguagem de programação é um conjunto de ferramentas, regras de sintaxe e símbolos ou códigos que nos permitem escrever programas de computador, destina- dos a instruir o computador para a realização de suas tarefas. (LAUREANO, 2005, p. 5). LINGUAGEM C
  • 36. 36 Tecnologia em Análise e Desenvolvimento de Sistemas ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________ Para compilar nossos programas, usaremos o ambiente Bloodshed Dev-C++, disponível gratuitamente no link http://superdownloads.uol. com.br/download/199/bloodshed-dev-c/, ou no ambiente Moodle. 2.1 As Telas do Bloodshed Dev-C++ 1º passo – janela 1 Assim que entrarmos no ambiente Dev C++, a tela abaixo(Ilustração 1) será a primeira a que teremos acesso. Clique o botão <Fechar> da janela “Dica do dia”. Capítulo 2
  • 37. 37 Programação I Ilustração 1: Apresentação da primeira tela ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________ Linguagem C
  • 38. 38 Tecnologia em Análise e Desenvolvimento de Sistemas 2º passo – janela 2 Clique em meu Arquivo>Novo>Projeto, como apresentado na Ilustração 2: Ilustração 2: Apresentação da segunda tela ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________ ___________________________________________________ ____________________________________________________ Capítulo 2
  • 39. 39 Programação I 3º passo – janela 3 Clique no ícone <Console Aplication>, no botão <Projeto C> e finalmen- te no <OK>. Observe a Ilustração 3, ela o ajudará a executar esses passos: Ilustração 3: Apresentação terceira tela ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________ ___________________________________________________ ____________________________________________________ Linguagem C
  • 40. 40 Tecnologia em Análise e Desenvolvimento de Sistemas 4º passo – janela 4 A janela Create new project se abrirá para iniciarmos nosso projeto, conforme Ilustração 4. No campo <nome do arquivo>, digite um nome para seu arquivo e clique em <Salvar>. Ilustração 4: Apresentação da quarta tela ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________ ____________________________________________________ Capítulo 2
  • 41. 41 Programação I 5º passo – janela 5 É nessa janela que vamos digitar nosso código, conforme indica a Ilustração 5. Ilustração 5: Apresentação da quinta tela Neste primeiro momento, não exploraremos todos os menus dispo- níveis no ambiente Bloodshed Dev-C+. A exposição dos seus recur- sos se dará à medida que avançarmos nos nossos estudos. Vamos em frente!!! 2.2 Visão Geral da Linguagem C Para termos uma visão geral da linguagem que usaremos no desenvol- vimento dos programas, vamos analisar como ficaria nosso Algoritmo Soma, na Linguagem C: Linguagem C
  • 42. 42 Tecnologia em Análise e Desenvolvimento de Sistemas Exemplo1: as mudanças de estado do sistema. Linguagem – Portugol linha 1   Algoritmo soma; linha 2   { linha 3   var int NUM1, NUM2, SOMA; linha 4   escreva ( “Digite o primeiro número”); linha 5   leia (NUM1); linha 6   escreva ( “Digite o segundo número”); linha 7   leia (NUM2); linha 8   SOMA ← NUM1 + NUM2; linha 9   escreva ( “A soma é:”, SOMA); linha 10 } Linguagem – C linha 1   #include <stdio.h> linha 2   #include <stdlib.h> linha 3   int main( ) linha 4 { linha 5   int num1, num2, soma; linha 6   printf( “Digite o primeiro numero: “); linha 7   scanf (“%d”, &num1); linha 8   printf( “Digite o segundo numero: “); linha 9   scanf (“%d”, &num2); linha 10   soma = num1 + num2; linha 11   printf( “A soma e: %d n”, soma); linha 12   system(“PAUSE”); linha 13   return(0); linha 14 } 2.3 Comandos da Linguagem de Programação C Vamos entender cada uma das 14 linhas que compõem o programa Soma, que foi criado na linguagem de programação C. É importante atentarmos para o fato de que no código do programa Soma não utiliza- mos nenhum tipo de acentuação. Capítulo 2
  • 43. 43 Programação I Ao salvar seu programa, siga algumas regras: não utilize acentos e nem deixe espaços entre palavras. A primeira linha e a segunda linha• - #include <stdio.h> #include <stdlib.h> As linhas indicam a inclusão de biblioteca que possui as funções de entrada e saída de dados, necessárias à execução do nosso programa Soma. Veremos mais adiante que outras bibliotecas serão necessárias; quando isso acontecer, vamos incorporá-las. A terceira linha• - int main( ) A função main( ) é sempre a primeira a ser executada no programa C. Em todo programa desenvolvido em C, existirá uma função main( ), em alguma parte do programa. A quarta linha• - { É o início de um bloco de comandos no programa. Para toda chave que inicia um bloco de comandos, teremos uma chave que será responsável por informar o fechamento desse bloco. A quinta linha• - int num1, num2, soma; Foram declaradas as variáveis necessárias à execução do programa. Inicia- mos a declaração informando que as variáveis seriam do tipo inteiro(int). Observe a existência de um ponto-e-vírgula; seu emprego indica o final do comando. A sexta linha• - printf( “Digite o primeiro numero: “); A função printf( ) é uma função de entrada e saída. Permiti que a men- sagem entre aspas seja exibida no monitor. A sétima linha• - scanf (“%d”, &num1); A função scanf( ) é responsável por ler os dados que forem informados pelo teclado. Nessa linha a função lerá o primeiro número que for digitado e o ar- mazena no endereço da variável num1, conforme indicado (“%d”, &num1). A décima linha• - soma = num1 + num2; O comando de atribuição (=) atribui o resultado da soma dos valores contidos no endereço de num1 e num2. Linguagem C
  • 44. 44 Tecnologia em Análise e Desenvolvimento de Sistemas A décima primeira linha• - printf( “A soma e: %d n”, soma); Já vimos que a função printf( ) permite a exibição da mensagem no mo- nitor, porém nesse comando o conteúdo da variável soma, também é exibido. Isso é possível porque incluímos na mensagem o código para impressão de variáveis do tipo inteiro o %d. O código especial n é responsável por fazer saltar uma linha. A décima segunda• - system(“PAUSE”); Possibilita uma pausa no programa a fim de visualizarmos o resultado, caso contrário ele seria exibido tão rapidamente que não conseguiría- mos vê-lo. A décima terceira linha• - return (0); Indica o número inteiro que está sendo retornado pela função, em nos- so caso, o número zero. O comando return (0) será detalhado adiante. A décima quarta linha• - } Indica o fim do programa. O fim de main( ). EXECUÇÃO DO PRIMEIRO PROGRAMA APRESENTADO Antes de executar o programa é necessário traduzí-lo para uma lingua- gem em que o computador possa entender, isto é, fazer a sua compila- ção. Use a tecla F9 ou o botão indicado na ilustração 6. lustração 6: Compilação e Execução Capítulo 2
  • 45. 45 Programação I Na primeira vez é solicitado o salvamento do arquivo: informe um nome qualquer para o arquivo, desde que tenha a extensão “.c” A compilação também é o momento em que os erros de sintaxe (grafia) são apresentados. Veja na tabela abaixo alguns exemplos de erro de digitação e suas res- pectivas mensagens de alerta. Faça estas simulações de erro para entender melhor o processo e se fa- miliarizar com as mensagens do ambiente. Experimente também compilar com outros erros. Depois desta vivência você ficará mais preparado para enfrentar situa- ções reais de erro. Linha original Como foi digitado Mensagem de erro Explicação da mensagem de erro #include <stdio.h> #include <stdioh> Linha 1: stdioh: No such file or directory. Sem ponto o nome do ar- quivo não foi encontrado. int num1, num2, soma; int num1, num2, soma, Linha 7: syntax error before string constant Sem o ponto-e-vírgula o compilador deduz que o comando ainda não ter- minou e por isso vai acu- sar erro na linha posterior, quando o código já não faz mais sentido. Outros erros em linhas mais abaixo são indicados em função deste primeiro erro. printf( “Digite o primeiro numero: “); printe( “Digite o primeiro numero: “); undefined refe- rence to `printe’ Não foi encontrada a fun- ção ‘printe’ nas bibliotecas indicadas scanf (“%d”, &num2); scanf (“%d, &num2); Linha 10: mis- sing terminating “ character Falta o caractere aspas como terminador. return (0); return0); Linha 14: syntax error before ‘)’ token Acusou erro antes do token ‘)’. Token é como o compila- dorchamaelementosindivi- duaisdoprograma. Linguagem C
  • 46. 46 Tecnologia em Análise e Desenvolvimento de Sistemas Para acertar o erro faça a edição diretamente no ponto desejado e re- compile: CTRL F9 Quando não houver mais erros será mostrada a tela da ilustração 7. Ilustração 7: Compilação sem erros Depois de compilado o programa e execução é feita logo em seguida. Observe o resultado na ilustração 8. Ilustração 8: Compilação e execução do código fonte de Soma Capítulo 2
  • 47. 47 Programação I Olá, As explicações dadas na sequência do conteúdo serão acompanha- das de exemplos que você deverá digitar, compilar e executar no programa DEV C++.. Depois de executá-los, o código fonte deverá ser analisado e entendido. A fim de facilitar o estudo, mesmo longe do computador, a partir daqui duas telas serão sempre apresentadas abaixo do exemplo. São elas: A tela branca, que contém o código do programa citado• como exemplo, devidamente digitado no DEV C++. A tela preta, que é o resultado da compilação e da• execução. Não avance se as dúvidas permanecerem. Bom estudo !! 2.4 Constantes e Variáveis na Linguagem de Programação C Já aprendemos que uma constante tem o valor fixo e que uma variável que pode conter, a cada tempo, valores diferentes. Vejamos um exemplo de declaração de variável em C. Exemplo 2: Neste exemplo temos uma variável do tipo inteira, que ar- mazenará o valor digitado pelo usuário e exibirá em seguida esse valor. Linguagem C
  • 48. 48 Tecnologia em Análise e Desenvolvimento de Sistemas A Ilustração 9 vai nos mostrar o resultado da compilação e da execução desse programa. Ilustração 9: Compilação e execução do código fonte de Exemplo 2 2.4.1 Tipos de Variáveis na Linguagem de Programação C O tipo de variável tem o objetivo de informar a quantidade de memória, que ocupará em bytes. Inicialmente, veremos 3 tipos de variáveis: TIPO BYTES char 1 int 2 float 4 Exemplo 3: Capítulo 2
  • 49. 49 Programação I A Ilustração 10 vai nos mostrar o resultado da compilação e da execu- ção desse programa. Ilustração 10: compilação e execução do código fonte do Exemplo 3. 2.5 Alguns dos Códigos para Impressão Formata- da de Printf( ) Como já vimos, a função printf( ) usa o caractere de percentual (%) se- guido de uma letra para identificar o formato de impressão. No exemplo acima, utilizamos 3 tipos de caracteres na função prin- tf( ). Na tabela abaixo estão relacionados os caractere com tipo de variável a ser impresso. CÓDIGO SIGNIFICADO %c usado quando a função for exibir apenas um caractere (tipo char). Exemplo: ‘M’ %f usado quando a função for exibir número com ponto flutuante, ou seja, um número real com possibilidade de casas decimais (tipo float). Exemplo: 1,80 %s usado quando a função for exibir uma cadeia de caracteres, ou seja, uma ou várias palavras (tipo char[ ]). Exemplo: “azul” %d usado quando a função for exibir um número inteiro na base decimal (tipo int). Exemplo: 25 Linguagem C
  • 50. 50 Tecnologia em Análise e Desenvolvimento de Sistemas 2.6 Códigos Utilizados Pela Função Scanf( ) CÓDIGO FUNÇÃO %c usado quando a função for armazenar um caractere (tipo char). %d usado quando a função for armazenar um número inteiro (tipo int). %f usado quando a função for armazenar um número real, com possibi- lidades de casas decimais (tipo float). %s usado quando a função for armazenar uma cadeia de caracteres, ou seja, uma ou várias palavras (tipo char[ ]). Agora, volte ao código fonte do Exemplo 3, revise a função printf( ) e a função scanf( ), confrontando os caracteres utilizados no exemplo com os apresentados nas tabelas. Não siga adiante sem concluir essa verificação, pois as funções serão empregadas constantemente em nossos exercícios. Compreendê-las é de suma importância. Bom estudo !! 2.7 Como fazer Comentários O comentário deve ser feito exatamente como aprendemos em Algorit- mos. Veja como ele foi colocado no programa abaixo: Exemplo 4: Capítulo 2
  • 51. 51 Programação I Ilustração 11: Compilação e execução do código fonte de Exemplo 4 Observe que o comentário só apareceu no código fonte. A tela preta mostra a execução do programa sem o comentário. Vamos ver como ficam os operadores lógicos na linguagem C^? Portugol C E && OU | | NÃO ! ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________ Linguagem C
  • 52. 52 Tecnologia em Análise e Desenvolvimento de Sistemas 20. Faça um programa que: a) peça ao usuário para digitar um número inteiro; b) armazene esse número numa variável chamada NUM1; c) peça ao usuário para digitar outro número inteiro; d) armazene esse número numa variável chamada NUM2; e) multiplique os valores e guarde o resultado numa variável cha- mada MULT; f) exiba o resultado. Obs.: Caso encontre dificuldades para fazer esse programa, con- sulte o exemplo Soma (primeiro exemplo deste capítulo). ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________ Capítulo 2
  • 53. 53 Programação I 21. Faça um programa que: a) peça ao usuário para digitar um número inteiro; b) armazene esse número numa variável chamada A; c) peça ao usuário para digitar outro número inteiro; d) armazene esse número numa variável chamada C; e) exiba os valores digitados. Obs.: Caso encontre dificuldades para fazer este programa, con- sulte o Exemplo 2, visto no item 2.4. ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________ Linguagem C
  • 54. 54 Tecnologia em Análise e Desenvolvimento de Sistemas O que aprendemos até aqui? Transformar Algoritmo escrito na linguagem natural para a Lin-• guagem C. Declarar variáveis.• Fazer cometários em nosso códigos.• Compilar e executar exemplos apresentados.• Além disso, conhecemos as particularidades das funções printf e scanf e obtivemos uma visão geral da Linguagem C. 2.8 Comandos de Seleção No desenvolvimento de um programa, podemos nos deparar com vá- rias condições que acarretaram processamentos diferenciados, ou seja, muitas vezes uma parte do nosso programa só é executada se a condição para essa execução for verdadeira. Para testar essa condição, temos os comandos if e switch. 2.8.1 Comando If Sintaxe: if (condição) declaração O comando if será utilizado quando o programa ou parte dele necessi- tar de uma condição simples para sua execução. Vamos ver um exemplo em que o resultado da soma de dois números só seja exibido se for maior que 2. Exemplo 5: Capítulo 2
  • 55. 55 Programação I   Ilustração 12: Demonstração do resultado se a soma for menor que 2.   Ilustração 13: Demostração do resultado se a soma for maior que 2. Observe a Ilustração 13. O programa não mostrará nada se a soma dos dois números for menor que dois. Apenas será exibida a mensagem default “ pressione qualquer tecla para continuar...”. ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________ Linguagem C
  • 56. 56 Tecnologia em Análise e Desenvolvimento de Sistemas Exemplo 6: Este programa indica se o usuário tem o voto obrigatório. Para isso ele solicita a sua idade, em seguida verifica se esta idade é maior ou igual a 18 e ao mesmo tempo é menor ou igual a 70. Se sim, então exibe a mensagem de voto obrigatório. Observe na ilustração 14 a saída na console para uma entrada com ida- de igual a 18. Ilustração 14: Demostração do resultado do exemplo6. ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________ Capítulo 2
  • 57. 57 Programação I Exemplo 7: Este exemplo exibe o preço de um produto com o acréscimo de uma taxa de venda. Nem todos os produtos possuem esta taxa. Observe que a entrada da taxa de venda é condicionada a resposta do usuário. Mas, em ambos os casos o programa exibe o preço final do pro- duto, com ou sem acréscimo. Por que colocar espaço em “ %c” ? A função scanf obtém apenas os caracteres selecionados pelo “%”. Desta forma, quando o processamento passa pelo “%f” na entrada do preço, apenas o número digitado será capturado e não o ENTER. As- sim o ENTER colocado à disposição no buffer é obtido pelo próximo scanf(“%c”,&possuiTaxa), se escrito sem espaço. Por isso temos a falsa impressão de que o scanf não foi executado. Observe na ilustração 15 a saída no console para uma entrada com pre- ço igual a 200,00 e taxa de venda igual a 15,00 Ilustração 15: Demostração do resultado do exemplo6. Linguagem C
  • 58. 58 Tecnologia em Análise e Desenvolvimento de Sistemas ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________ Olá, Façamos as atividades propostas, a seguir, para verificar como esta- mos desenvolvendo o nosso aprendizado. É importante que você digite os exemplos vistos, conforme orienta- ção dada no início deste Capítulo. Vamos em frente!!! 22. Desenvolva um programa que leia a matrícula e a nota final de um aluno de uma escola. Se a nota final for maior ou igual a 60, o programa deve exibir a mensagem “Aluno aprovado”. ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________ Capítulo 2
  • 59. 59 Programação I 23. Faça um programa que leia o sexo do usuário e apresente a men- sagem “O sexo é válido”, se o caractere digitado for ‘M’ ou ‘F’. ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________ 24. Faça um programa que leia um número dado como entrada e apresente a mensagem “ O número está na faixa correta”, somente se o valor fornecido for entre 20 e 90. ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________ Linguagem C
  • 60. 60 Tecnologia em Análise e Desenvolvimento de Sistemas 25. Faça um programa que leia o valor do salário bruto de um fun- cionário. Se o salário for menor ou igual a R$ 500,00, o programa deve aplicar um aumento de 10%. Em seguida exiba o salário, independente se ele sofreu reajuste ou não. ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________ 2.8.2 Comando If-Else Sintaxe: if (condição) declaração_1 else declaração_2 O comando if-else permite maior agilidade ao programa, quando este for composto por duas ou mais condições, as quais deve ser avaliadas antes da execução das partes (bloco de comandos) que o compõem. No exemplo visto no comando if, o programa só exibiria a mensagem quando o resultado fosse maior que 2. Para resultados menores que 2, nós não definimos nenhum bloco de comando; logo, o programa sim- plesmente não executaria nenhum comando. Agora, definiremos um bloco de comandos para resultados meno- res que 2: Capítulo 2
  • 61. 61 Programação I Exemplo 8: Ilustração 16: Demonstração do resultado se a soma for maior que 2. Ilustração 17: Demonstração do resultado se a soma for menor que 2. Linguagem C
  • 62. 62 Tecnologia em Análise e Desenvolvimento de Sistemas Observe que agora definimos comandos específicos para resultados maiores que 2 e para resultados menores que 2, conforme demonstrado nas Ilustrações 16 e 17. Exemplo 9: Este exemplo complementa o exemplo 6 exibindo se o usário tem voto facultativo ou proibido. Observe no primeiro ‘if’ que se a idade não estiver no intervalo de 18 a 70 o algoritmo verifica se a idade é menor do que 16 (pois se o proces- samento chegou até neste ponto é porque a idade é menor do que 18 ou maior do que 70) . Quando a idade for menor que 16 o voto é proibido. Caso contrário será facultativo, ou seja, 16, 17 ou maior do que 70. Observe na ilustração 18 a saída no console para uma entrada com ida- de igual a 17. Ilustração 18: Demostração do resultado do exemplo 9. Observe ainda que é possível escrever o comando else em conjunto com o próximo if de uma forma mais compacta. Veja o mesmo exemplo es- crito desta forma, com else if ... Capítulo 2
  • 63. 63 Programação I ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________ Linguagem C
  • 64. 64 Tecnologia em Análise e Desenvolvimento de Sistemas Exemplo 10: Neste exemplo, o usuário responde o valor do salário e em seguida rece- be uma classificação por nível , variando de 1 a 6. A primeira compara- ção verifica se o salário é negativo. Neste caso, o programa acusa erro. Observe na ilustração 19 a execução do programa para um salário igual a 12 mil Ilustração 19: Demostração de uma execução do exemplo 10. Capítulo 2
  • 65. 65 Programação I ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________ Vamos aproveitar os exercícios de 22 a 25 da seção anterior para realizar os exercícios desta seção. Lembre-se de que as atividades devem ser feitas individualmente. Bom estudo!!! 26. Como complemento do exercício 22, o programa deverá exibir também a mensagem “Aluno reprovado”, quando a nota final do aluno for menor que 60. ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________ Linguagem C
  • 66. 66 Tecnologia em Análise e Desenvolvimento de Sistemas 27. Como complemento do exercício 23, o programa deverá exi- bir também a mensagem “Sexo inválido”, se o caractere digitado for diferente de ‘M’ ou ‘F’. ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________ 28. Como complemento do exercício 24, o programa deverá exibir também a mensagem “ O número está na faixa incorreta”, caso o valor fornecido não esteja entre 20 e 90. ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________ 29. Como complemento do exercício 25, o programa deverá aplicar também um aumento de 5%, se o salário for maior do que R$ 500,00. ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________ Capítulo 2
  • 67. 67 Programação I 2.8.3 Comando Switch sintaxe: switch (variável) { case constante 1 : declaração 1; break; case constante 2 : declaração 2; break; default: declaração_default; } O comando switch é similar ao if-else, mas não poderá ser usado quan- do a condição a ser testada for uma expressão. Só é aceitável uma variável no switch. Esta variável deve ser de algum tipo numérico inteiro, como por exemplo, int e char (char armazena o código ASCII do caracter, isto é, um número inteiro). Exemplo 11: Neste programa o usuário, além de digitar 2 números inteiros, poderá escolher a operação a ser realizada. Este exemplo não condiz com o código!!! Linguagem C
  • 68. 68 Tecnologia em Análise e Desenvolvimento de Sistemas Ilustração 20: Demonstração compilação e execução do Exemplo 11. ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________ Capítulo 2
  • 69. 69 Programação I Exemplo 12: O usuário informa o número do mês e o programa responde com o nome deste mês. Se o valor não for de 1 a 12 é exibida uma mensagem de alerta. Observe na ilustração 21 a execução do programa para o mês igual a 8 Ilustração 21: Demostração de uma execução do exemplo 12. Linguagem C
  • 70. 70 Tecnologia em Análise e Desenvolvimento de Sistemas ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________ Exemplo 13: Neste exemplo o usuário informa o número do mês e o programa exibe a quantidade máxima de dias possíveis para o referido mês. Observe que os comandos ‘case’ podem ser agrupados para disparar uma única ação. Por exemplo, os meses abril, junho, setembro e novembro (nú- meros 4, 6, 9 e 11) possuem um máximo de 30 dias e assim fazem uma única atribuição de 30 para a variável maximoDias. Capítulo 2
  • 71. 71 Programação I Observe na ilustração 22 a execução do programa para o mês de junho (número 6). Ilustração 22: Demostração de uma execução do exemplo 13. ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________ if:• Estrutura condicional “if” assume uma as duas possíveis ações com base no resultado do teste. (SCHILDT, 1995, p. 89) if-else:• Estrutura condicional “if” assume uma as duas possíveis ações com base no resultado do teste. (SCHILDT, 1995, p. 91) swith:• Testa uma variável em relação a diversos valores preestabelecidos.    (SCHILDT, 1995, p. 98) Linguagem C
  • 72. 72 Tecnologia em Análise e Desenvolvimento de Sistemas 30. Faça um programa que leia três valores distintos a serem di- gitados pelo usuário e, utilizando o comando if-else , determine e exiba o menor deles. ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________ 31. Uma empresa dará aumento aos seus funcionários, de acordo com sua função: a) função 1 (vendedor) = 0,10(10%) de aumento; b) função 2 (gerente) = 0,15(15%) de aumento; c) função 3 (diretor) = 0,20(20%) de aumento. Usando o comando switch, faça um programa que leia o salário e a função do funcionário, calcule e exiba os salários com os devi- dos aumentos. ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________ Capítulo 2
  • 73. 73 Programação I 32. Usando o comando if, desenvolva um programa que peça ao usuário um valor e o armazene na variável X. Tal programa de- verá efetuar o cálculo de C (A+B) * X se o valor informado for maior que 5, e efetuar o cálculo C (A-B)*X se o valor for menor que 5. Se o valor for igual a 5 não faça nada. ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ___________________________________________________ ____________________________________________________ O que aprendemos até aqui? Que há três comandos de seleção, os quais nos ajudam a desen-• volver programas com mais clareza. Que o comando• if é utilizado para decisão simples. Que o comando• if-else é utilizado quando, com base em uma condição, o programa pode executar um entre os variados blo- cos de comandos existentes. Que o comando• switch é utilizado quado temos condições que não sejam expressões. Linguagem C
  • 74. 74 Tecnologia em Análise e Desenvolvimento de Sistemas 2.9 Comandos de Repetição Até agora, só conseguíamos executar o programa uma única vez. Se houvesse a necessidade de um novo teste, o que fazíamos era executar o programa novamente. A partir de agora, conheceremos os comandos de repetição, os quais nos ajudarão em casos em que a repetição de parte do programa se fizer necessária. Os comandos são: for, while e do while 2.9.1 O Comando For Sintaxe: for (inicialização ; condição ; incremento) declaração; Usaremosocomandoforquandoconhecermosantecipadamenteonúme- ro de vezes que uma determinada parte do programa (loop) se repetirá. O comando for avalia primeiramente a expressão inicialização. Depois avalia a expressão condição que, se verdadeira, passa a executar o corpo de comandos (declaração). Em seguida avalia a expressão incremento e recomeça tudo novamente na avaliação da expressão condição. Se a expressão condição não for verdadeira então o processamento vai para o próximo comando após o for. Exemplo 14: Uma utilização do comando for bem simples: exibir no console a frase “Linguagem de Programação C” 5 vezes. Capítulo 2
  • 75. 75 Programação I Vamos entender o que fazem as duas linhas: for(n = 1; n <= 5; n++)    printf(“Linguagem de Programacao C n”); A linha 1 inicialmente faz a variável n receber 1. Em segundo lugar avalia se n ainda é menor ou igual a 5. Em terceiro lugar, a linha 2 exibe a frase “Linguagem de Programação C”. Em quarto lugar , o comando for avalia n++ (isto é o mesmo que fazer n receber n+1, ou seja, é uma expres- são para incrementar em uma unidade o valor de n). Nesta hora, com n valendo 2, volta para avaliar se n ainda é menor ou igual a 5 e continua. Quando n receber o valor 6 então o processamento sai do comando for, pois a condição n<=5 não será mais verdadeira. A ilustração 23 mostra a saída do exemplo 14. Ilustração 23: Demostração de uma execução do exemplo 14. Exemplo 15: Uma outra utilização simples: exibir os números pares de 10 a 500. Linguagem C
  • 76. 76 Tecnologia em Análise e Desenvolvimento de Sistemas Observe que a expressão: par += 2 equivale a: par = par + 2 O comando for, desta vez, determina o início da variável par em 10 e o término quando a variável par passar de 500. A ilustração 24 mostra a saída do exemplo 15. Ilustração 24: Demostração de uma execução do exemplo 15. Exemplo 16: Vamos fazer um programa que leia a nota de 10 alunos e no final exiba a média da turma. linha 1 #include <stdio.h> linha 2 #include <stdlib.h> linha 3 int main() linha 4 { linha 5 float nota, soma=0, media=0, conta; linha 6 for(conta=0; conta<=9; conta++) linha 7 { linha 8 printf( “Digite a nota “); linha 9 scanf(“%f”,&nota); linha 10 soma=soma+nota; linha 11 }//esta chave encerra o comando de repetição for. Linha 12 media= soma/conta; linha 13 printf( “A media da turma e %f n“,media); linha 14 system(“PAUSE”); linha 15 return 0; linha 16 } Vamos entender melhor algumas linhas do código acima. Capítulo 2
  • 77. 77 Programação I linha 5... float nota, soma=0, media=0, conta; Houve a necessidade de iniciarmos essas variáveis com zero, por tratar- se de variáveis que terão valores cumulativos. Já vimos que, ao declararmos uma variável, estamos reservando um es- paço na memória, o qual não é necessariamente um espaço limpo. Isso significa que nossa variável no momento da declaração armazena ape- nas lixo. Ao atribuirmos o valor zero para ela, garantimos que os valores sejam acumulados corretamente. linha 6... for(conta=0;conta<=;conta++) A linha do comando for controla a quantidade de vezes que o loop será executado. Observe que ele inicia a variável conta de zero (conta=0;), controla o loop para ser executado 10 vezes (conta<=9) e finalmente incrementa a variável conta (conta++). É importante notar que o comando conta ++ é o mesmo que: conta = conta + 1 Observe que o comando for possui um par de chaves envolvendo os comandos Isto é necessário quando há mais de um comando para ser repetido. Compare com os exemplos 14 e 15 que não possuem estas chaves. Isto é o mesmo que acontecia com a estrutura if-else. linha 10... soma=soma+nota; Nessa linha acumula-se a soma das notas da turma. linha 12... media= soma/conta; Observe que essa linha de comando foi colocada após encerramento do for, pois só nos interessa calcular a média depois que todas as notas forem somadas. Como a variável conta guarda o número de vezes que o loop foi executa- do, que é igual à quantidade de alunos estipulada no programa, em vez de dividirmos a soma por 10, fazemos a divisão utilizando a variável conta. linha 13... printf( “A media da turma e %f n “, media); Para melhorarmos a exibição dessa mensagem, basta trocar %f por %.2f , será exibido apenas 2 casas depois da vírgula. Linguagem C