domingo, 26 de abril de 2020

Programacao em C++ - Namespace std

Share:

Operadores C/C++


             Operadores          


Operadores são elementos funcionais que atuam sobre operandos e produzem um determinado resultado.

Ex.:

A expressão 3 + 2 relaciona dois operandos (os números
3 e 2) por meio do operador (+) que representa a operação de adição.
De acordo com o número de operandos sobre os quais os operadores actuam, os últimos podem ser classificados em:

Binários, quando actuam sobre dois operandos. Ex.: os operadores das operações aritméticas básicas (soma, subtração, multiplicação e divisão);

Unários, quando actuam sobre um único operando. Ex.: o sinal de (-) na frente de um número, cuja função é inverter seu sinal.

Outra classificação dos operadores é feita considerando-se o tipo de dado de seus operandos e do valor resultante de sua avaliação.
Segundo esta classificação, os operadores dividem-se em
Aritméticos, Lógicos, Bitwise, atribuição e misc.
Esta divisão está directamente relacionada com o tipo de expressão onde aparecem os operadores.
Um caso especial é o dos operadores relacionais, que permitem comparar pares de operandos de tipos de dados iguais, resultando sempre num valor lógico.

As expressões são classificadas de acordo com o tipo do valor resultante de sua avaliação.
Expressões Aritméticas: São aquelas cujo resultado da avaliação é do tipo numérico, seja ele inteiro ou real.
Somente o uso de operadores aritméticos e variáveis numéricas é permitido em expressões deste tipo.

         Operadores aritméticos         
Operador
Tipo
Operação
+
Binário
Adição
-
Binário
Subtração
*
Binário
Multiplicação
/
Binário
Divisão
++
Binário
incremento
- -
Binário
decremento
%
Binário
Retorna o resto da divisão
+
Unário
Manutenção de sinal
-
Unário
Inversão de sinal


Expressões lógicas são aquelas cujo resultado da avaliação é um valor lógico (V ou F).

Existem outros operadores lógicos, como por exemplo o OU_EXCLUSIVO., mas suas funções podem ser exercidas por combinações dos três tipos de operadores que seguem.

Operador
Tipo
Operação
Prioridade
OU
Binário
Disjunção
3
E
Binário
Conjunção
2
Não
Unário
Negação
1

Ex.:
Tendo duas variáveis lógicas A e B. Cada uma possui somente dois valores possíveis, então eis os resultados das operações lógicas.


A
B
Não A
Não B
A ou B
A e B
F
F
V
V
F
F
F
V
V
F
V
F
V
F
F
V
V
F
V
V
F
F
V
V

Existem também   operadores relacionais     que podem aparecer em operações lógicas como mostra a tabela.

             operadores relacionais   

Operador
Operação
==
Igual
!=
Diferente
<
Menor
< =
Menor ou igual
>
Maior
> =
Maior ou igual


Estes operadores são somente usados quando se deseja efectuar comparações.
Comparações só podem ser feitas entre variáveis de mesma natureza é do mesmo tipo de dado.
O resultado de uma comparação é sempre um valor lógico.

               Operadores bitwise     
Opera em bits e efectua a operação bit por bit.
Veja a tabela de verdade:
p
q
p & q
p I q
p ^ q
0
0
0
0
0
0
1
0
1
1
1
1
1
1
0
1
0
0
1
1

Operadores bitwise
Assume que A = 60 e B = 13
Em numeração binaria teremos
     A = 0011 1100
     B = 0000 1101
Aplicando os operadores teremos o seguinte resultado:
    A & B = 0000 1100
    A I B  = 0011 1101
    A ^ B = 0011 0001
       ~ A = 1100 0011


          Operadores de atribuição     

São usados para efeitos de atribuição de valores.

Operador
Exemplo
Significado
=
C = A + B
Atribue o valor de A+B a C
+=
C+=A
É equivalente a C = C+A
-=
C-= A
É equivalente a C = C-A
%=
C %= A
Equivalente a C = C % A
*=
C *= A
Equivale a C = C * A
/=
C /= A
Equivale a C = C / A




          Operadores Misc    

Operador
Exemplo
S ignificado
sizeof
sizeof(a)
Retorna o valor da variável a
*
*var
Ira apontar para a variável var
&
&a
Retorna o endereço da variável a
cast
Int(2.20)
Converte um tipo de dado para 
o outro, neste caso ira retornar 2



Share:

sexta-feira, 24 de abril de 2020

Programacao em C Estruturas de repetição

Share:

quinta-feira, 16 de abril de 2020

Estruturas de repetição - C


        Estrutura de repetição     

As estruturas de controle apresentadas nas secções anteriores apresentam algo em comum, apenas permitem executar um procedimento apenas uma vez. Com isso, caso haja necessidade de executar mais de uma vez, será necessário reiniciar a execução do programa. Como forma de contornar esta limitação podemos recorrer a estruturas de repetição, que nos permite repetir a execução de um procedimento o número de vezes que for necessário. As estruturas de repetição também são designadas de laços ou loops.

Existem três comandos básicos que podem ser usados na estrutura de repetição: forwhile do.

    Comando for     
É uma espécie de um loop contado que é usado quando se conhece previamente o número de vezes em que um procedimento será repetido.
Existem duas sintaxes que podem ser utilizadas na declaração da cláusula for. Como ilustra a sintaxe 1, no temos apenas uma única instrução enquanto que na segunda sintaxe, temos uma declaração composta por mais de uma instrução. Nesse último caso é obrigatório delimitar as instruções usando o chavetas.

Sintaxe 1
  for (var_inicial; condição; expressão)
   instruções;

Sintaxe 2        
  for (var_inicialcondiçãoexpressão)
     {
     Intrução 1;
     Intrução 2;
     Intrução 3;
             ...
Intrução n;
}

Nas duas sintaxes temos quatro aspectos importantes que demarcam a cláusula for:
·         Var_inicial – variável do tipo inteiro que representa o valor inicial a ser usado para efeitos de contagem;
·         Condição – expressão que identifica a condição de contagem. Enquanto a condição for verdadeira a contagem continua.
·         Expressão – identifica o procedimento de contagem a ser usado.
·         Instruções – identificam a operação a ser realizada.

A seguir é apresentado um exemplo de utilização da cláusula for que exibe como resultado uma contagem crescente de 1 a 10.

#include <stdio.h>
#include <stdlib.h>
int main() {
     int i;   
     for(i=0; i<=10; i++)
     printf(" %d ",i);
    
     return 0;
}

Contagem crescente usando o comando for

A variável contadora é inicializada com o valor 0, e é especificado o valor final de referência no entanto a contagem ira começar de 1 a 10, permitindo com que o programa seja executado 10 vezes recorrendo apenas a uma única instrução for. Sem este comando para obter o mesmo resultado seria necessário recorrer a 10 instruções printf.
     0 1 2 3 4 5 6 7 8 9 10      

       Comando while     

Na clausula while a execução de um procedimento é repetido enquanto uma determinada condição for satisfeita(verdadeira). Esta clausula é usada quando não se conhece o número de vezes em que um procedimento será repetido.
Existem duas sintaxes que podem ser utilizadas na declaração da cláusula while. Como ilustra a sintaxe 1, neste caso temos apenas uma única instrução enquanto que na segunda sintaxe(sintaxe 2) temos uma declaração composta por mais de uma instrução. Nesse último caso é obrigatório delimitar as instruções usando chavetas.

Sintaxe 1        
While (condição)
     Intrução 1;

Sintaxe 2
     While (condicao)
{
               Intrução 1
               Intrução 2
               intrução 3
                       ...
Intrução n
 }
                       
Exemplo:
   #include<iostream>
   using namespace std;
   int main()
   {
        int i=0;
        while(i!=1)
        {
            printf(" Digite o valor de i: ");
            scanf(" %i ",&i);
        }
        printf(" Fora do loop");
    }
                       
Neste exemplo o programa exibe uma mensagem sempre que o valor da variável i for diferente de 1. E quando o utilizador digitar 1 o programa termina a execução.

           Comando do        

A execução de um procedimento é repetido até que uma determinada condição seja alcançada. Nesta cláusula existe uma característica particular, o teste lógico é realizado no final da execução do loop.
Existem duas sintaxes que podem ser utilizadas na declaração da cláusula do. Na primeira sintaxe temos apenas uma única instrução, enquanto que na segunda instrução temos uma declaração composta por mais de uma instrução. Nesse último caso é obrigatório delimitar as instruções com chavetas.

Sintaxe 1        
            do
          Instrução
       while (condição);

Sintaxe 2
            do{
           Intrução 1;
      Intrução 2;
      intrução 3;
             ...
      Intrução n;
        }
        until (condicao) do
                       
Exemplo
     #include <stdio.h>
     #include <stdlib.h>

     int main()
     {
      int num, right_digit;
      printf("Enter your number. \n");
      scanf(" %d ",&num);

     do {
         right_digit = num % 10;
         printf(" %d ",right_digit);
         num = num / 10;
     }
     while( num != 0 );
     printf(" \n ");
   return 0;

    }

Este programa recebe um número inteiro qualquer e exibe na ordem inversa.

       Exercícios propostos       

  1. Execute e compile os exemplos apresentados nesta apostila.
  2. Leia um valor numérico n e escreva o valor da soma dos n termos.
  3. Fazer um programa que leia um conjunto de 10 notas de alunos de uma disciplina, armazene-as na variável nota e determine a maior delas.
  4. Recorrendo ao comando for, crie um programa que permita exibir o seguinte output: az by cx dw ev fu gt hs Ir jq kp lo mn nm ol pk qj ri sh tg uf ve wd xc yb za.
  5. Tem-se um conjunto de dados contendo a altura e o sexo (M ou F) de 15 pessoas. Faça um Programa que calcule e escreva: a média de altura das mulheres; o número de homens.
  6. Desenvolver um programa que efectue a soma de todos os números ímpares e que se encontram no conjunto dos números de 1 até 500.
  7. Escreva um programa que receba a idade de 10 pessoas, calcule e imprima a quantidade de pessoas maiores de idade (idade >= 18 anos).
  8. Fazer um programa que calcule a média aritmética de n números digitados pelo teclado. Até que o usuário informe o valor zero.
  9. Escreva um programa que leia vários números inteiros ate que seja informado o numero 0. Se o número lido for positivo, escreva uma mensagem indicando se ele é par ou ímpar. Se o número for negativo, escreva a seguinte mensagem Este número nãé positivo. (use a função mod deve ser "x mod y" e retorna o resto da divisão de x por y).

Share:

Seguidores

Visitantes do blog

Pesquisar neste blogue

posts recentes

Traduzir