Ajude a manter o site livre, gratuito e sem propagandas. Colabore!
Na linguagem C/C++, dados são alocados em variáveis com tipos declarados33endnote: 3Consulte Wikipedia: C data type para uma lista dos tipos de dados disponíveis na linguagem.
Consideramos o seguinte código.
Na linha 9, é alocada uma variável do tipo inteira com identificador i e valor 1. Na linha 11, é alocada uma variável do tipo ponto flutuante (64 bits) com identificador x.
Na linha 14, é alocada uma variável do tipo string44endnote: 4Um arranjo de char (caracteres).. Na linha 15, alocamos uma nova variável y.
(Comentários e Continuação de Linha.) Códigos C++ admitem comentários e continuação de linha como no seguinte exemplo acima. Comentários em linha podem ser feitos com \\ e de múltiplas linhas com \* ... */. Linhas de instruções muito compridas podem ser quebradas em múltiplas linhas com a instrução de continuação de linha \.
(Notação científica.) Podemos usar notação científica em C++. Por exemplo é digitado da seguinte forma 5.2e-2.
Antes de implementar, diga qual o valor de x após as seguintes instruções.
Justifique seu resposta e verifique-a.
Implemente um código em que a(o) usuária(o) entra com valores para as variáveis x e y. Então, os valores das variáveis são permutados entre si. Dica: a entrada de dados por usuária(o) pode ser feita com o método C/C++ scanf da biblioteca stdio.h. Por exemplo,
faz a leitura de um double (long float) e o armazena na variável x.
Os operadores aritméticos elementares são55endnote: 5Em ordem de precedência.:
*, /, % multiplicação, divisão, módulo
+, - adição, subtração
Qual é o valor impresso pelo seguinte código?
Observamos que as operações *, / e % têm precedência maior que as operações + e -. Operações de mesma precedência seguem a ordem da esquerda para direita, conforme escritas na linha de comando. Usa-se parênteses para alterar a precedência entre as operações, por exemplo
imprime o resultado -1. Sim, pois a divisão inteira está sendo usada. Para computar a divisão em ponto flutuante, um dos operandos deve ser double. Para tanto, podemos fazer um casting double((2+17)\%9)/2*2-1 ou, simplesmente, (2+17)\%9/2.*2-1.
(Precedência das Operações.) Consulte mais informações sobre a precedência de operadores em Wikipedia:Operators in C and C++.
Escreva um programa para computar o vértice da parábola
(1) |
para , e .
O operador % módulo computa o resto da divisão inteira, por exemplo, 5\%2 é igual a 1.
Use C/C++ para computar os inteiros não negativos e tais que
(2) |
sendo o menor possível.
A biblioteca C/C++ math.h disponibiliza várias funções e constantes elementares.
O seguinte código, imprime os valores de , e .
(Compilação e Linkagem.) A compilação de um código C/C++ envolve a linkagem de bibliotecas. A stdio.h é linkada de forma automática na compilação. Já, math.h precisa ser explicitamente linkada com
(Logaritmo Natural.) Notamos que log é a função logaritmo natural, i.e. . A implementação C/C++ para o logaritmo de base 10 é log10(x).
Compute
Compute as raízes do seguinte polinômio quadrático
(3) |
usando a fórmula de Bhaskara66endnote: 6Bhaskara Akaria, 1114 - 1185, matemático e astrônomo indiano. Fonte: Wikipédia: Bhaskara II..
Os operadores de comparação elementares são
== igual a
!= diferente de
> maior que
< menor que
>= maior ou igual que
<= menor ou igual que
Estes operadores retornam os valores lógicos true (verdadeiro, 1) ou false (falso, 0).
Por exemplo, temos
Considere a circunferência de equação
(4) |
Escreva um código em que a(o) usuária(o) entra com as coordenadas de um ponto e o código verifica se pertence ao disco determinado por .
Antes de implementar, diga qual é o valor lógico da instrução sqrt(3) == 3. Justifique sua resposta e verifique!
Os operadores lógicos elementares são:
&& e lógico
|| ou lógico
! não lógico
(Tabela Booleana do &&.) A tabela booleana77endnote: 7George Boole, 1815 - 1864, matemático britânico. Fonte: Wikipédia: George Boole. do e lógico é
A | B | A && B |
---|---|---|
true | true | true |
true | false | false |
false | true | false |
false | false | false |
O seguinte código, monta essa tabela booleana, verifique!
Construa as tabelas booleanas do operador || e do !.
Escreva um código para verificar as seguintes comparações
.
, .
, .
Considere um retângulo de vértices e . Crie um código em que a(o) usuária(o) informa as coordenadas de um ponto e o código verifica cada um dos seguintes itens:
.
.
.
Implemente uma instrução para computar o operador xor (ou exclusivo). Dadas duas afirmações A e B, A xor B é true no caso de uma, e somente uma, das afirmações ser true, caso contrário é false.
Um arranjo88endnote: 8Em inglês, array é uma sequência de dados do mesmo tipo. Os elementos dos arranjos são indexados99endnote: 9O índice é um inteiro não negativo, sendo o primeiro elemento indexado por (zero). e mutáveis (podemos ser alterados por nova atribuição).
No código abaixo, alocamos o ponto e o vetor como arranjos.
Escreva um código em que a(o) usuária(o) entra com um ponto e o programa informe se pertence ao disco determinado pela circunferência de equação . Use de um arranjo para alocar o ponto .
Considere os vetores
(5) | |||
(6) |
Faça um código que aloca os vetores como arranjos e imprime o vetor soma .
Considere a matriz
(7) |
Faça um código que aloca a matriz como um arranjo bidimensional (um arranjo de arranjos) e compute seu determinante.
As informações preenchidas são enviadas por e-mail para o desenvolvedor do site e tratadas de forma privada. Consulte a Política de Uso de Dados para mais informações. Aproveito para agradecer a todas/os que de forma assídua ou esporádica contribuem enviando correções, sugestões e críticas!