Escolar Documentos
Profissional Documentos
Cultura Documentos
4
POLITÉCNICO
DA LUSOFONIA
Cibersegurança
Objetivos
A realização deste trabalho deverá permitir-lhe aperfeiçoar os conhecimentos adquiridos no domínio
das instruções de seleção em C. Para o desenvolvimento dos programas solicitados, irá necessitar
de utilizar instruções if e switch.
Estas instruções são designadas instruções de decisão ou de seleção porque permitem escolher uma
de entre várias possíveis ações a executar em seguida.
Introdução
Para escrever cada um dos programas que se seguem deve começar por criar um projeto no Visual
Studio, tal como aprendeu no trabalho de laboratório anterior.
Os projetos devem sempre ser adicionados à solução “Programação Estruturada” que foi criada no
âmbito do LAB2.
Criação de Projetos na solução “Programação Estruturada”
1. Começar por abrir a solução usando um dos seguinte métodos:
◦ Fazer duplo clique no ficheiro da solução localizado na pasta com o mesmo nome.
◦ Escolher File→ Open→ Project/Solution e selecionar o ficheiro da solução.
2. Adicionar um novo projeto à solução escolhendo File→ Add→ New Project
Recorde que em cada projeto deve definir a constante _CRT_SECURE_NO_WARNINGS para
evitar a ocorrência de avisos indesejados durante a compilação dos programas.
Definição da constante _CRT_SECURE_NO_WARNINGS em cada projeto
1. Com o botão da direito do rato clicar no nome do projeto
2. Escolher a opção Properties
3. Selecionar Configuration Properties→C/C++→ Preprocessor
4. Na linha “Preprocessor Definitions”, do lado direito, acrescentar:
“;_CRT_SECURE_NO_WARNINGS” (note a presença do ';')
5. Fazer OK
Requisitos genéricos
Para cada programa que se segue, deve ter os seguinte cuidados:
1. Por mais simples que seja, deve começar por planear a solução antes de a programar.
2. Utilize os nomes indicados em cada exercício para o projeto e ficheiro fonte.
3. Na interação com o utilizador, o programa deve ser claro quanto ao objetivo, valores que
solicita e resultados que apresenta. Sempre que são fornecidos exemplos, o programa deve
comportar-se exatamente como indicado.
4. Certifique-se de que o programa funciona corretamente, antes de o dar por concluído.
Programação Estruturada Instruções de Decisão
Exercício 1
Adicione à solução um novo projeto chamado Lab4.1 e escreva um programa (par.c) que permita
decidir se um número inteiro fornecido pelo utilizador é par ou ímpar.
Um exemplo de execução do seu programa, uma vez completo, é o que se ilustra de seguida. A
vermelho indica-se uma possível escolha do utilizador.
Introduza um inteiro: 33
O inteiro introduzido é: ímpar
Exercício 2
Adicione à solução um novo projeto chamado Lab4.2 e escreva um programa (divisivel.c) que
permita decidir se um número inteiro fornecido pelo utilizador é:
a) Divisível por 3 e por 4
b) Divisível só por um deles (por 3 ou por 4)
c) Divisível por nenhum dos dois (nem por 3 nem por 4)
De seguida ilustram-se alguns exemplos da execução do seu programa, uma vez completo. A
vermelho indicam-se as possíveis escolhas do utilizador.
Introduza um inteiro: 16
16 é divisível por 3 ou por 4 mas não pelos dois
Introduza um inteiro: 24
24 é divisível por 3 e por 4
Introduza um inteiro: 7
7 não é divisível por 3 nem por 4
Exercício 3
Adicione à solução um novo projeto chamado Lab4.3 e escreva um programa (coord.c) que solicite
ao utilizador as coordenadas (x, y) reais de um ponto no plano cartesiano e indique a sua localização
(quadrante, eixo ou origem).
A interação entre o seu programa e o utilizador deverá ter o aspeto que
se ilustra nos dois exemplos seguintes (a vermelho mostram-se as
possíveis respostas do utilizador):
Exemplo 1:
Coordenadas no plano cartesiano
Coordenada x: -1.0
Coordenada y: -2.5
O ponto (-1.0, -2.5) esta' no III quadrante
Exemplo 2:
Coordenadas no plano cartesiano
Coordenada x: 0.0
Coordenada y: 4.8
O ponto (0.0, 4.8) esta' no eixo dos y
Exercício 4
Adicione à solução um novo projeto chamado Lab4.4 e escreva um programa (ph.c), que permita
avaliar o pH de uma solução. Para o efeito, o seu programa deverá solicitar o pH da solução ao
utilizador e implementar o seguinte algoritmo:
Esc “Neutro”
Esc “Alcalino”
Exercício 5
Adicione à solução um novo projeto chamado Lab4.5 e escreva um programa (calc.c) que
implemente uma calculadora com quatro funções – adição, subtração, divisão e multiplicação. O
programa deverá aceitar uma expressão aritmética (envolvendo apenas um operador) e realizar a
operação indicada.
O seu programa deverá ser capaz de realizar as quatro operações com valores reais. Para isso deve:
1. Ler uma expressão aritmética que envolva dois operandos e um operador.
2. Usar uma instrução switch para descodificar o operador especificado.
3. Verificar se o operador é válido (+, -, *. /) usando o bloco default da instrução switch.
Imprima uma mensagem de erro no ecrã caso o operador seja inválido. Por exemplo:
Introduziu um operador desconhecido.
A interação entre o programa e o utilizador deverá ter o aspeto que se ilustra de seguida (a vermelho
mostra-se uma possível expressão introduzida pelo utilizador):
Para ler uma expressão aritmética, deve ter em atenção que o operador deve ser lido
usando uma variável do tipo char. Por exemplo, para ler a expressão 3 + 5, poderíamos
fazer:
int operando1, operando2;
char operador;
Para perceber o exemplo acima recorde que uma variável do tipo char pode armazenar
qualquer carácter. Os espaços na string “%d %c %d” indicam que a função scanf deve ler
qualquer número de espaços ou linhas em branco entre os três elementos .
Teste
Para garantir que os seus programas resolvem de facto o problema proposto, deve testa-los
convenientemente. Para o efeito deve fornecer um conjunto de dados para os quais conheça o
resultado e verificar que o programa funciona corretamente para esse caso.
No entanto, em geral deve lembrar-se que o facto de o programa produzir resultados corretos com
esse conjunto de dados não significa que o fará para todos os conjuntos de dados possíveis, pelo que
deve utilizar o número suficiente de conjuntos de dados de entrada, de modo a certificar-se que o
programa opera corretamente.
Conclusão do Trabalho
Para dar por concluído o seu trabalho deve submeter, no Moodle, um ficheiro zip chamado
PElab4.zip com os seguintes ficheiros:
• par.c - Exercício 1
• divisivel.c - Exercício 2
• coord.c - Exercício 3
• ph.c - Exercício 4
• calc.c - Exercício 5
Certifique-se que o código fonte de cada um dos programas inclui um comentário, no mínimo com
um cabeçalho (devidamente adaptado) como o que utilizou no 2º trabalho de laboratório.