Lista de Exercícios III – Introdução à Programação Exercícios de

Propaganda
ListadeExercíciosIII–IntroduçãoàProgramação
ExercíciosdeProgramaçãoemC
Instruções:
• Leiacomatençãoepensenasoluçãoantesdeprogramar.
• Verifiqueasentradas,assaídaseanaliseoalgoritmodeprocessamentopara
obteroresultadopedido.
• ConstruaprogramasemCpararesolvercadaexercício.
• Testeseuprogramacomdiversoscasosde testesqualitativamentedistintos
paraassegurarqueasoluçãoérealmentecorreta.
1. Escrevaumprogramaqueescrevenatelacemvezes,alternadamente,cadafrasea
seguir:
• Sóaprendeaprogramarquemescreveprogramas
• Quemnãoescreveprogramasnãoaprendeaprogramar
[Sugestões:(1)Useumlaçoforcomumavariáveldecontagemiquevariaentre1e
200.(2)Nocorpodolaço,verifiqueseovalordeiépare,seforocaso,escrevauma
dasfrases;senãoforocaso,escrevaaoutrafrase.]
2. Escrevaumprogramaqueapresentanatelaumatabeladequadradosdevalores
inteiros.Onúmerodelinhasdatabeladeveserintroduzidopelousuário.
3. Escrevaumprogramaquesolicitaaousuárioparaintroduzirdoisinteirospositivos
ecalculaasomadosinteiroscompreendidosentreessesdoisnúmeros.Oprograma
devepermitirqueousuáriointroduzaprimeiroomaiorouomenorvalor.
4. Escreva um programa que exibe na tela uma régua com duas escalas, como
mostradoaseguir:
0
1
2
3
4
5
012345678901234567890123456789012345678901234567890
[Sugestões:(1)Useumlaçodecontagemparacadaescaladarégua.Emcadalaçoa
variáveldecontagemivariaentre0e50.(2)Noprimeirolaço,quandoifordivisível
por10,escrevanatelaoresultadodessadivisão.Casocontrário,escrevaumespaço
embranco.(3)Nosegundolaço,escrevanatelaorestodadivisãodeipor10.]
5. Escreva um programa para gerenciamento de finanças pessoais do usuário. O
programadeverásolicitarosaldoinicialdousuárioe,então,pedirqueeleintroduza,
continuamente,valoresdedespesaseganhos.Aentradadedadosdeveencerrar
quandoousuáriodigitarzero.
6. EscrevaumprogramaqueleiaumnúmeronaturalN(1<=N<=10.000)ecalculee
imprimatodososnúmerosprimosentre1eonúmerodigitado(inclusive).
7. Escrevaumprogramaquesolicitaaousuárioparaintroduzirumnúmerointeiro.Se
esse número estiver entre 1 e 7, o programa escreve na tela o dia da semana
correspondente(Domingocorrespondea1,Segundacorrespondea2,eassimpor
diante);casocontrário,oprogramaescrevenatelaumamensageminformandoque
nãoexistediadasemanacorrespondente.[Sugestão:Utilizeumainstruçãoswitchcaseemseuprograma.]
8. Escreva um programa que verifica se uma sequência de n valores inteiros
introduzidosviatecladoconstituiumaprogressãoaritmética.Seesseforocaso,o
programadeveapresentararazãoeasomadostermosdaprogressãoaritmética.
[Sugestão:Verifiqueseadiferençaentrecadanúmerointroduzidoeseuantecessor
é constante. Se for o caso, trata-se de uma PA e a razão é exatamente essa
diferença.]
9. Escreva um programa que recebe o um valor numérico N (1 <= N <= 5) que
representaumarespostacorretaedepois5palpitesdiferentes(P1,P2,P3,P4,P5)e
escrevenatelaquantospalpitesestavamcorretos,ouseja,quantospalpiteseram
iguaisàN.(EssaéaquestãododesafiodaMaratonadasprimeirasaulas).
10. Escreva um jogo de adivinhação. Declare (defina) uma constante simbólica
representandoumvalorinteiroquedeveseradivinhadopelousuário.Ojogodeve
ficar pedindo palpites do usuário indefinidamente, até que ele acerte o número
secreto.Acadapalpiteojogodeveinformarseopalpitefoimuitoaltooumuito
baixo.Quandoousuárioacertaronúmero,ojogodeveinformarquantospalpites
foramnecessárioseencerrar.
11. Desafio:NapróximafolhaestáumaquestãodaprimeirafasedaOlimpíadaBrasileira
deComputação(OBI2001).
Calculando
A disseminação dos computadores se deve principalmente à capacidade de eles se comportarem
como outras máquinas, vindo a substituir muitas destas. Esta flexibilidade é possível porque podemos alterar a funcionalidade de um computador, de modo que ele opere da forma que desejarmos:
essa é a base do que chamamos programação.
1. Tarefa
Sua tarefa é escrever um programa que faça com que o computador opere como uma calculadora
simples. O seu programa deve ler expressões aritméticas e produzir como saída o valor dessas
expressões, como uma calculadora faria. O programa deve implementar apenas um subconjunto
reduzido das operações disponíveis em uma calculadora: somas e subtrações.
2. Entrada
A entrada é composta de vários conjuntos de testes. A primeira linha de um conjunto de testes
contém um número inteiro m (1 <= m <= 100), indicando o número de operandos da expressão a
ser avaliada. A segunda linha de um conjunto de testes contém a expressão aritmética a ser
avaliada, no seguinte formato:
X1 s1 X2 s2 ... Xm-1 sm-1 Xm
onde
• Xi , 1 <= i <= m, é um operando (0 <= Xi <= 100);
• sj, 1 <= j < m, é um operador, representado pelos símbolos ‘+’ ou ‘–’;
• não há espaços em branco entre operandos e operadores.
O final da entrada é indicado pelo valor m=0.
Exemplo de Entrada
3
3+7-22
3
5-10-77
10
1+2+3+4+5+6+7+8+9+10
0
3. Saída
Para cada conjunto de testes da entrada seu programa deve produzir três linhas. A primeira linha
deve conter um identificador da expressão, no formato “Teste n”, onde n é numerado a partir de
1. Na segunda linha deve aparecer o resultado encontrado pelo seu programa. A terceira linha
deve ser deixada em branco. A grafia mostrada no Exemplo de Saída, abaixo, deve ser seguida
rigorosamente.
Exemplo de Saída
Teste 1
-12
Teste 2
-82
Teste 3
55
(esta saída corresponde ao exemplo de entrada acima)
4. Restrições
1 <= m <= 100
0 <= Xi <= 100 para todo 1 <= i <= m
Download