sexta-feira, 29 de maio de 2020

Exercicios de aplicação - Funções


         Exercícios de aplicação - Funções       

Usando mais de uma função resolva os exercícios propostos:

  1. Crie uma função que exibe uma mensagem.
  2.  Crie um programa que exibe uma mensagem 5 vezes usando uma estrutura de repetição.
  3.   Programa que recebe várias mensagens usando estrutura de repetição e exibir na tela.
  4. Uma função que recebe duas strings como argumento e informa se as strings são iguais. Se forem iguais retornar 1 e caso contrario 0.
  5. Programa que recebe três valores via teclado e calcula o produto desses números.
  6. Programa que exibe o maior de dois números
  7. Programa que recebe 10 números inteiros e determina o menor
  8. Programa que recebe como argumento um array e o seu respectivo tamanho e exibe o menor usando funções.
  9. Programa que recebe um array e o seu respectivo tamanho e no final exibir na ordem crescente. Coloque a função de ordenação fora do método main.
  10. Considere a matriz bidimensional A = {{ 7, 16, 55, 13, 12 }, { 12, 10, 52, 0, 7 }, { -2, 1, 2, 4, 9 }}. Crie uma função que recebe como argumento uma matriz bidimensional A e determinar e exibir o seu dobro. 
Share:

Exercícios de aplicação - CANVAS



      Exercícios de aplicação - CANVAS            


Share:

terça-feira, 26 de maio de 2020

Pré-Processamento - Directiva condicional


        Pré-Processamento       

 Directivas condicionais directives (C/C++)

 Directivas condicionais instruem ao  pré-processador a seleccionar se deve ou não incluir um pedaço de código no fluxo de token final passado para o compilador. Podem testar expressões aritméticas ou se um nome é definido como uma macro ou ambos simultaneamente usando uma directiva especifica.

A linguagem de programação C apresenta um conjunto de directivas que são usadas para estruturas de controlo condicionais: #if, #elif, #else, and #endif.


Directiva

Descrição

Sintaxe

#if

Testa se uma determinada expressão é verdadeira

#if expression
//code
#endif

#else

A alternativa de #if

#if expression
//if code
#else
//else code
#endif

#elif

#else e #if em apenas uma directiva

#if expression
//if code
#elif expression
//elif code
#else
//else code
#endif

#endif

Término da instrução #if

 

#ifdef

Retorna verdadeiro se o macro estiver definido

#ifdef MACRO
//code
#endif

#ifndef

Retorna verdadeiro se o macro não estiver definido

#ifndef MACRO
//code
#endif

 

Exemplo:

#include <stdio.h> 

#include <conio.h> 

#define NUM 1 

int main() { 

       #if NUM==0 

           printf("O valor do numero e': %d",NUMBER); 

       #else 

          printf("O valor do numero nao e'' zero"); 

       #endif        

return 0;

}

Operadores de Macro

Existem operadores que tem um significado especifico no contexto de operadores.

 

Operador      

Nome

Descrição

\

Operador de continuidade

Sinaliza a continuidade da declaração na linha seguinte

#

 

Stringize

 

Ao usar ao longo da declaração do macro. Sinaliza a conversão do valor de macro para string

##

Token pasting

Combina 2 argumentos em apenas um

#defined()

defined

É aplicado em macro para verificar se uma constante esta definida. Caso esteja definido retorna true(1) caso contrario retorna false(0)

 

Exemplo:

Verifica se o número é igual a zero e mostra a mensagem correspondente.

#include <stdio.h> 

#include <conio.h> 

#define NUM 1 

int main() { 

#if NUM==0 

printf("O valor do numero e': %d",NUM); 

#else 

printf("O valor do numero nao e' zero"); 

#endif        

return 0;

}

  

 

Observações

Cada diretiva #if em um arquivo de origem deve corresponder a uma diretiva #endif de fechamento. Qualquer número de diretivas #elif pode aparecer entre as diretivas #if e #endif, mas no máximo uma diretiva #else é permitida. A diretiva #else, se presente, deve ser a última diretiva antes de #endif.

 

As diretivas #if, #elif, #else e #endif podem aninhar nas partes de texto de outras diretivas #if. Cada diretiva #else, #elif ou #endif aninhada pertence à diretiva #if anterior mais próxima.

 O pré-processador seleciona uma das ocorrências de texto fornecidas para processamento adicional. Um bloco especificado no texto pode ser qualquer sequência de texto. Pode ocupar mais de uma linha.

 O pré-processador seleciona um único item de texto avaliando a expressão constante após cada diretiva #if ou #elif até encontrar uma expressão constante verdadeira (diferente de zero). S seleciona todo o texto (incluindo outras diretivas de pré-processador começando com #) até o #elif, #else ou #endif associado.

 Se todas as ocorrências de expressão constante forem falsas ou se nenhuma diretiva #elif aparecer, o pré-processador selecionará o bloco de texto após a cláusula #else. Quando não há cláusula #else, e todas as instâncias de expressão constante no bloco #if são falsas, nenhum bloco de texto é selecionado.

 
Share:

Pré-Processamento


        Pré-Processamento       

Macros Predefinidos

Os macros predefinidos possuem um significado especifico e não podem ser alterados.  Estão disponíveis quase em todos os compiladores que implementam esses padrões. Compiladores mais antigos podem não fornecer todos eles. Todos os seus nomes começam e terminam com underscores  duplos.

 

__DATE__

Exibe a data actual no formato "MMM DD YYYY" format.

__TIME__

Exibe a hora actual no formato "HH:MM:SS" format.

__FILE__

Exibe o path do directorio actual

__LINE__

Exibe o número de linha definido em formato decimal

__STDC__

Exibe 1 se o compilador for baseado no padrão ANSI

 

Exemplo:

#include <stdio.h>

 int main() {

    printf("File :%s\n", __FILE__ );

    printf("Date :%s\n", __DATE__ );

    printf("Time :%s\n", __TIME__ );

    printf("Line :%d\n", __LINE__ );

    printf("ANSI :%d\n", __STDC__ ); 

}

 


Share:

sexta-feira, 22 de maio de 2020

Exemplos JavaScript



Exemplos - JavaScript


Share:

segunda-feira, 18 de maio de 2020

Canvas API

      O elemento canvas    

O elemento Canvas API é usado para efectuar desenhos na tela através de JavaScript.  o O único elemento HTML existente para isso é o elemento canvas, o resto todo é feito via Javascript. Veja como inse­rir o elemento canvas numa página:

  <canvas id=”x” width=”300” height=”300”></canvas>   

Onde

  • x é o id do elemento canvas poderá ser acedido através do método getElementById().
  • width - Especifica  o comprimento do rectangulo
  • Height - especifica a altura do rectangulo.
  • <canvas> - elemento html
Essa declaração deo elemento canvas irá retornar um retângulo vazio. O método getContext() irá nos permitir contexto de desenho, com Javascript,


         Método getContext()       

Share:

sexta-feira, 15 de maio de 2020

Programando com Android Studio

Adicionar legenda

          Programando com Android Studio        

 
Share:

Mobile Cloud Computing e Sistemas Operativos Moveis

Adicionar legenda


Mobile Cloud Computing e Sistemas Operativos Moveis



Share:

sexta-feira, 8 de maio de 2020

Estruturas de controle - sequencial e decisão em C++



       ESTRUTURA DE CONTROLE          
As estruturas de controlo exercem um papel preponderante na criação de um programa, e independentemente da linguagem de programação utilizada as estruturas de controle é que determinam o fluxo da execução de um programa. Elas podem ser:
  • Estruturas sequênciais
  • Estruturas de decisão; 
  • Estruturas de repetição. 

      Estrutura de controle sequencial
Nesse tipo de estrutura, o fluxo do programa é executada de forma sequencial e cada instrução é executado apenas uma única vez e após o termino da instrução anterior.

    Comando 1
    Comando 2
    Comando 3
       …
    Comando n


A sintaxe de um programa que obedece a estrutura sequencial é ilustrada acima. Numa programa que obedece uma estrutura sequencial podem existir n comandos e cada comando é executado após o comando anterior e é mantida a ordem de execução.


Características principais de um programa em com a estrutura sequencial:
  • As instruções são executadas de forma sequencial;
  • É mantida a ordem de execução das instruções e cada instrução é executada uma única vez e após o término da anterior.
Um exemplo de um programa sequencial em C++ é apresentado a seguir

Exemplo 1

#include <iostream>
using namespace std;
int main{
        cout("Bem vindo ao Sistema \n");
        
cout("Obrigado pela sua presença");
}


Como resultado de execução o programa ira exibir a seguinte mensagem:

Bem vindo ao sistema!     
Obrigado pela sua presença



Neste exemplo temos um programa em C que exibe na tela duas mensagens sendo a primeira Bem vindo ao sistema e a segunda Obrigado pela sua presença. A ordem de exibição das mensagens satisfaz a ordem de execução do programa.


No exemplo a seguir também estamos perante o mesmo cenário em que o resultado da execução corresponde a ordem de execução do programa. 

   Exemplo 2:

    #include <stdlib>
    int main (){
          int n1, n2, s;
          
cout(‘Introduz o primeiro número’);
          cin(n1);
          
cout(‘Introduz o segundo númeroa’);
          
cin(n2);
          s = n1 + n2;
          
cout("A soma é igual %d : ",s);
     }


Programa que efectua a soma de dois números

Descrição do código linha por linha
  1. Declaração de variáveis: São declaradas as variáveis n1, n2 e s para armazenar o primeiro valor, o segundo número e a soma respectivamente.
  2. Recorre-se ao comando cout para exibibir a mensagem Introduz o primeiro número : e posisiona o cursor na linha seguinte
  3. Recorrendo ao comando cin Lê-se o primeiro número introduzido usando o teclado
  4. Recorre-se ao comando cout para exibibir a mensagem Introduz o segundo número : e posisiona o cursor na linha seguinte graças a presença de \n
  5. Lê o segundo número introduzido
  6. Efectua-se a soma dos dois números e armazena se o resultado da execução passo a passo
  7. Exibe a soma determinada na linha anterior e a mensagem A soma é igual.
  8. Termina a execução.


            Estrutura de decisão            
Nem sempre que as situações da vida são lineares, em várias situações nós precisamos tomar decisões que dependem da satisfação de determinadas condições. Por exemplo, num dia de sol com uma temperatura acima de 35º C para definirmos a nossa agenda para o final de semana, tipo de roupa a usar, depende da temperatura que se faz sentir, se a temperatura for abaixo de zero graus não fará sentido usarmos roupa de verão.


Em uma estrutura de decisão pode existir uma condição ou várias que definem o fluxo de execução da instrução ou conjunto de instruções, mas a execução de uma determinada instrução depende da satisfação de uma determinada condição podendo haver execução de uma instrução quando esta condição for verdadeira e outra instrução quando a condição for falsa. Nesse contexto uma condição é uma expressão lógica.

Na programação temos um cenário similar em que o fluxo da execução de uma programação depende da satisfação de uma dada condição podendo haver execução de uma instrução quando esta condição for verdadeira e outra instrução quando a condição for falsa.


As estruturas de decisão que podem definir fluxo de execução podem ser:
  • De decisão simples
  • Composta
  • De selecção

            Estrutura de decisão simples            
Numa estrutura de decisão simples ou estrutura de desvio condicional simples, temos a execução de uma instrução ou conjunto de instruções apenas quando a expressão lógica for verdadeira. 

Sintaxe

  If (condição)
     Intrução;


A estrutura de decisão simples é representada pela seguinte sintaxe:

No exemplo 3 temos uma estrutura de decisão simples que exibe uma mensagem Aprovado quando o valor da média é superior a 10.

Exemplo 3

    #include <stdio.h> 
    int main (){
        float t1, t2, media;
        
cout("Introduz o valor de teste1 e teste 2");
        
cin(t1,t2);
        media = (t1 + t2)/2
        If (media >10) 
        
cout("Aprovado");
    } 



          Estrutura de decisão composta          
Numa estrutura de decisão composta ou estrutura de desvio condicional composta, o resultado da execução depende da avaliação da expressão lógica. Se a expressão lógica for verdadeira, uma instrução ou conjunto de instruções serão executados e caso a avaliação da mesma expressão for falsa(caso contrário), uma instrução ou conjunto de instruções serão executados. 

A estrutura de decisão composta é representada pela seguinte sintaxe:

Sintaxe:

      If (condição) {
          Intrução 1
      }else{
          Intrução 2
      }
No exemplo 2 temos uma estrutura de decisão composta na qual é avaliada a media, e se a media for maior que 10 será exibida a mensagem Aprovado e caso contrário é exibida a mensagem Reprovado.

Exemplo 4
            #include <stdio.h> 
         int main (){
             float t1, t2, media;
             
cout("Introduz o valor de teste1 e teste 2");
             
cin(t1,t2);
             media = (t1 + t2)/2
             If (media >10) {
                
cout("Aprovado");
             else
                
cout("Reprovado" );
          } 


          Estrutura de decisão múltipla          
Numa estrutura de decisão múltipla, o resultado da execução depende da avaliação da expressão lógica e podem existir inúmeras condições. A primeira condição é antecedida por um if, e as restantes por um else if. Se a expressão lógica for verdadeira, uma instrução ou conjunto de instruções serão executados e caso a avaliação da mesma expressão for falsa(caso contrário), uma instrução ou conjunto de instruções serão executados.  

A estrutura de decisão múltipla é representada pela seguinte sintaxe:

Sintaxe:

      If (condição 1) {
          Intrução 1;
      }else if(condição 2){
          Intrução 2;
      }else if(condição 3){
                        Intrução 3;
      }       ...
       else if (condição n){
          instrução n;
      }
No exemplo 5 temos uma estrutura de decisão múltipla na qual é avaliada a media, e se a media for maior ou igual a 14 será exibida a mensagem Dispensado, se a média for maior ou igual a 10 será exibida a mensagem Admitido e caso contrário é exibida a mensagem Excluído.

Exemplo 5:

         #include <stdio.h>
         int main (){
             float t1, t2, media;
             cout("Introduz o valor de teste1 e teste 2");
             cin(t1,t2);
             media = (t1 + t2)/2
             If (media >=14) {
                cout("Dispensado");
             }else 
If (media >=10) {
                cout("Admitido" );
             }else{
                cout("Excluído" );
             }
          } 



            Comando Switch case               

Uma instrução switch permite que uma variável seja testada quanto à igualdade em relação a uma lista de valores. Cada valor é chamado de caso, e a variável que está sendo activada é verificada para cada caso de switch.

Este comando permite nos evitar o recurso ao if, fornecendo nós o switch como um comando alternativo. É uma forma de reduzir a complexidade de vários if … else encadeados.
É muito utilizado, principalmente para uso em estruturas de menu.

Sintaxe

     switch(expressao) { 
           case (constante) : 
                 instrução 1; 
                 break; // opcional 

           case (constante) : 
                 instrução 2; 
                 break; // opcional 

          case (constante) : 
                 instrução 3; 
                 break; // opcional

               ...
          case (constante) : 
                 instrução n; 
                 break; // opcional

          default : // opcional

                 instruções;
      }


As regras a seguir se aplicam a uma instrução switch case:
  • A expressão usada em uma instrução switch deve ter um tipo inteiro ou char ou ser de um tipo de classe em que a classe tenha uma única função de conversão para um tipo integral ou enumerado.
  • pode ter qualquer número de instruções case em um switch. Cada case é seguido pelo valor a ser comparado e dois pontos.
  • A constante em um case deve ser o mesmo tipo de dados que a variável definida no switch e deve ser uma constante ou literal.
  • Quando a variável que está sendo considerada é igual a um case, as instruções que seguem o case serão executadas até que uma declaração de interrupção seja alcançada.
  • Quando uma instrução de interrupção é alcançada, o switch termina e o fluxo de controle salta para a próxima linha após a instrução do switch.


Nem todo case precisa conter uma interrupção. Se nenhuma interrupção aparecer, o fluxo de controle avança para os casos subsequentes até que uma interrupção seja atingida.

Uma instrução de switch pode ter um case predefinido opcional, que deve aparecer no final do switch. O case padrão pode ser usado para executar uma tarefa quando nenhum dos casos for verdadeiro. Nenhuma interrupção é necessária no case predifinido.


No exemplo a seguir é ilustrado um programa que verifica o dia da semana, o utilizador digita um número no intervalo de 1 a 7 e o programa vai retornar o dia da semana equivalente ao número.

Exemplo 6:

       #include <stdio.h>
       int main (void ){
           int valor;
           cout ("Digite um valor de 1 a 7: ");
           cin(valor);
   
           switch ( valor ){
                   case 1 :
                   cout ("Domingo\n");
                   break;

                   case 2 :
                   cout ("Segunda\n");
                   break;

                   case 3 :
                   cout ("Terça\n");
                   break;

                   case 4 :
                   cout ("Quarta\n");
                   break;

                   case 5 :
                   cout ("Quinta\n");
                   break;

                   case 6 : 
                   cout ("Sexta\n");
                   break;

                   case 7 :
                   cout ("Sabado\n");
                   break;

                   default :
                   cout ("Valor invalido!\n");
            }

       return 0;
       }

Share:

Seguidores

Visitantes do blog

Pesquisar neste blogue

posts recentes