sábado, 27 de abril de 2019

Funções


            Funções   


Uma função é um grupo de instruções que juntas executam uma tarefa. Todo programa C tem pelo menos uma função, que é main(), e todos os programas mais triviais podem definir funções adicionais.

Uma função também pode ser referida como um método ou uma sub-rotina ou um procedimento, etc.



               Declaração de funções   

A declaração de função informa ao compilador sobre o nome de uma função, tipo de de valor a ser retornado e parâmetros(argumentos). Uma definição de função fornece o corpo real da função.

Sintaxe

A declaração de funções em C obedece a seguinte estrutura:

tipo nomedaFuncao (argumentos){

    corpo da função

}


sendo que:
  • tipo refere-se ao tipo de resposta que a função devolve e deve ser void (vazio) se a função não tem valor de resposta;
  • nomedaFuncao o nome da função é o identificador da função;
  • argumentos é uma lista de variáveis que representam valores de entrada para a função e deve ser void caso não haja valores de entrada;
  • corpo da função no corpo da função, a primeira seção é destinada à declaração das variáveis e a segunda, aos comandos.


                Funções que não devolvem resposta    

Nosso primeiro exemplo é uma função que não tem valor de resposta e não recebe argumentos ao ser chamada.

Exemplo:
Neste exemplo temos a função imprimir que é usada para imprimir a mensagem Ola mundo.


Uma função do tipo void, quando executada, apenas produz um determinado efeito desejado, sem contudo devolver um valor de resposta. Sendo assim, o compilador não permite que funções void sejam usadas em expressões.

                Funções que devolvem resposta    

Se uma função não é do tipo void, então ela deve, necessariamente, devolver um valor  como resultado de sua execução. Para isso, a função deve empregar o comando return. Esse comando, além de especificar a resposta da função, faz com que o controle retorne ao ponto onde ela foi chamada no programa, interrompendo imediatamente sua execução.

Exemplo: Calculando a hipotenusa de um triângulo retângulo.


Essa função recebe as medidas dos catetos de um triângulo rectângulo e devolve como resposta a medida da sua hipotenusa.

                Funções recursivas    

Uma função recursiva é uma função que se refere a si própria. A ideia consiste em utilizar a própria função que estamos a definir na sua definição.
Em todas as funções recursivas existe:
  • Um passo básico (ou mais) cujo resultado é imediatamente conhecido.
  • Um passo recursivo em que se tenta resolver um sub-problema do problema inicial.
Se analisarmos a função factorial, o caso básico é o teste de igualdade a zero (zerop n), o resultado imediato é 1, e o passo recursivo é (* n (fact (- n 1))).
Geralmente, uma função recursiva só funciona se tiver uma expressão condicional, mas não é obrigatório que assim seja. A execução de uma função recursiva consiste em ir resolvendo subproblemas sucessivamente mais simples até se atingir o caso mais simples de todos, cujo resultado é imediato. Desta forma, o padrão mais comum para escrever uma função recursiva é:
  • Começar por testar os casos mais simples.
  • Fazer chamada (ou chamadas) recursivas com subproblemas cada vez mais próximos dos casos mais simples.
Dado este padrão, os erros mais comuns associados às funções recursivas são, naturalmente:
  • Não detectar os casos simples
  • A recursão não diminuir a complexidade do problema.
Ex:


               References   
https://www.tutorialspoint.com/cprogramming/c_functions.htm


http://www.dca.fee.unicamp.br/courses/EA072/lisp9596/node17.html

Share:

terça-feira, 23 de abril de 2019

INTRODUÇÃO À JAVASCRIPT

Resultado de imagem para javascript

           Porque usar JavaScript?

JavaScript é uma das três linguagens que todos os desenvolvedores da Web devem  aprender:

    1. HTML usado para definir o conteúdo de páginas web

    2. CSS para especificar o layout das páginas

    3. JavaScript para programar o comportamento de páginas da web


         Algumas caracteristicas
  • Linguagem dinamicamente tipada
  •  Linguagem de programação Orientada a Objectos;
  • Usado para criação de scripts em amientes Webs;
  • Incorporados em aplicações Desktop, incluindo servidores de Base de dados da Web e em programas que não são da Web, como processadores de texto e PDF;
  • Multi-plataforma;
  • Case-sensitive;
  • etc.

         O que JavaScript pode fazer?

  • Localizar o elemento de um documento HTML(getElementById());
  • Mudar o conteúdo  de um elemento HTML(innerHTML);
  • Mudar valor de um atributo em um elemento HTML ex.  e img.
  • Exibir um valor em uma pagina web(document.write());
  • Exibir uma janela contendo uma mensagem em um document(window.alert())
  • etc.
         Declaraçõess

Existem três tipos de declarações em JavaScript.
  var - Declara uma variável, opcionalmente, inicializando-a com um valor.
                    Ex: var x = 5; cria a variavel x e atribui o valor 5
let - Declara uma variável local de escopo do bloco, opcionalmente, inicializando-a com um valor.
 const - Declara uma constante de escopo de bloco, apenas de leitura.

Uma variável declarada usando a declaração var ou let sem especificar o valor inicial tem o valor  undefined.

Uma tentativa de acessar uma variável não declarada resultará no lançamento de uma exceção ReferenceError


            Valor = indefinido

Em programas de computador, as variáveis são frequentemente declaradas sem um valor. O valor pode ser algo que deve ser calculado ou algo que será fornecido posteriormente, como a entrada do utilizador.
Uma variável declarada sem valor terá o valor indefinido.
A variável soma terá o valor indefinido após a execução desta declaração:var soma;



         Conversão de tipos de dados

A conversão de valores para um determinado tipo de dados pode ser feita de forma explicita e implícita.

Conversão implicita O JavaScript é uma linguagem de tipagem dinâmica. Isto significa que não é necessário especificar o tipo de dado de uma variável quando ela for declarada, e tipos de dados são automaticamento convertidos conforme necessário durante a execução do script

Conversão explicita - No caso de um valor que representa um número está armazenado na memória como uma string, existem métodos para a conversão.
parseInt irá retornar apenas números inteiros. Um método alternativo de conversão de um número em forma de string é com o operador + (operador soma).


         Objectos em JavaScript

Um objecto é uma conjunto/colecção de dados e/ou funcionalidades relacionadas (que geralmente consistem em diversas variáveis e funções). É um tipo de variável especial que possui propriedades e métodos. . Existem três tipos de objectos
>> Objectos internos(Strings, Numbers, date)
>>Objectos do Browser(Window, document)
>>Objectos Personalizados.


         Definição de objectos

Podemos usar a palavra chave var seguido e atribuirmos os valores necessários:
    Ex: var carro = {marca:"Nissan", fabrico:2019, cor:"blue"}; 


Quando uma variável JavaScript é declarada com a palavra-chave "new", a variável é criada como um objeto:

  var car = new String(); //declara a variável car como um bjecto string


     Exemplo 01


  1. Crie um portal web que permite calcular a soma de dois números fornecidos via teclado.
O primeiro passo irá consistir em criar um documento HTML:

Após a criação do ficheiro HTML o último passo poderá consistir em criar o Javascript:
     Exemplo 02 

Tendo em conta a imagem abaixo programe o evento clique de modo que possa acender a lâmpada ao clicar no botão acender a lâmpada e de modo a desligar a lâmpada ao pressionar no botão Desligar.



Utilize as seguintes imagens:






Digite o seguinte código HTML:

Crie um ficheiro com extensão JS e digite código abaixo:


   

     Exercícios
  1. Crie uma página web que permite exibir uma mensagem de boas vindas;
  2. Crie uma página web que permite solicitar o nome do Utilizador e exibir no browser.
  3. Modifique o programa de modo a exibir o nome do utilizador como convidado caso não o utilizador não forneça o nome.
  4. Crie um portal web que permite ajudar o motorista a calcular o consumo da viatura em uma determinada viagem.
  5. Modifique o código do exemplo2 de modo a acender a lâmpada ao passar o cursor do mouse sobre a imagem. Utilize os eventos onmousemove e onmouseout.
  6. Crie um portal web que permite ajudar o motorista a calcular o IMC. O IMC – Índice de Massa Corporal é um critério da Organização Mundial de Saúde para dar uma indicação sobre a condição de peso de uma pessoa adulta. A fórmula é IMC = peso / ( altura )2. Elabore um programa que leia o peso e a altura de um adulto e mostre sua condição de acordo com a seguinte relação: 
                  IMC em adultos Condição 
                  Abaixo de 18,5 - Abaixo do peso
                  Entre 18,5 e 25 - Peso normal
                  Entre 25 e 30 - Acima do peso
                  Acima de 30 - obeso


Share:

domingo, 21 de abril de 2019

Directiva ou Pré processor


Pré processor

O pré-processador C modifica um arquivo fonte antes da compilação, permitindo a compilação condicional com #ifdef, definindo constantes com #define, incluindo arquivos de cabeçalho com #include e usando macros incorporadas, como __FILE__.  O preprocessador oferece diversas diretivas, sendo que as principais são #include e #define.


A DIRETIVA #define

A diretiva #define serve para definir constantes simbólicas que aumentam a legibilidade do código-fonte. Essa diretiva associa um identificador a um texto da seguinte maneira:


#define identificador texto
 

Exemplo:


Resultado da execução:

Quando o programa passa pelo preprocessador, a diretiva #define é executada e, então, toda ocorrência da palavra diga é substituída por printf e toda ocorrência da palavra oi é substituída por “\nOlá, tudo bem?”.


No resultado da execução anterior o comando diga exibiu a mensagem Olá, tudo bem?, mas não conseguiu exibir devidamente palavras com acentos. Para efeitos de acentuação podemos recorrer a biblioteca locale.h, e a função setlocale() como ilustra a imagem abaixo:


Resultado da execução:

Conforme mostra a imagem acima a palavra Olá já aparece acentuada devido ao uso da biblioteca locale.h.


A DIRETIVA #include

Outra diretiva bastante utilizada é #include. Essa diretiva, quando executada, faz com que uma cópia do arquivo cujo nome é dado entre < e > seja incluído no código-fonte. Por exemplo, suponha que definimos as macros a seguir e as salvamos num arquivo denominado macros.h:
#define quad(n) ( (n)*(n) )
#define abs(n) ( (n)<0 ? −(n) : (n) )
#define max(x,y) ( (x)>(y) ? (x) : (y) )

Então, toda vez que precisarmos de um destes macros, não será preciso digitá-los novamente; basta solicitar ao preprocessador que inclua uma cópia do arquivo macros.h no início do nosso programa.


Crie o ficheiro macros.h, para isso abra o programa notepad usando a opção start/notepad.

Clique no icon notepad para abrir a janela abaixo:

 



Digite o texto contido na janela abaixo




Clique a opção file/save/ e grave em C:\Program Files (x86)\Dev-Cpp\MinGW32\include conforme ilustra a imagem abaixo:


Introduz o código abaixo

Resultado da execução
Ao passar pelo preprocessador, as ocorrências desse macro são substituídas pela expressão n * n, com o parâmetro n devidamente instanciado.

Observe que nenhum cálculo é realizado durante o preprocessamento e, portanto, ocorre uma simples substituição.

 

 

 References

PEREIRA, S. L. Linguagem C
https://www.cprogramming.com/reference/preprocessor/
http://www.tutorialspoint.com/cplusplus/cpp_preprocessor.htm
https://www.techonthenet.com/c_language/directives/index.php
 
Share:

Seguidores

Visitantes do blog

Pesquisar neste blogue

posts recentes

Traduzir