Variáveis Locais x Globais

8
Algoritmos e Programação Linguagens de Programação Teoria Aula 13 (16/06) [email protected] Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia de Computação – CECOMP

description

Algoritmos e Programação Linguagens de Programação Teoria Aula 13 (16/06) [email protected]. Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia de Computação – CECOMP. Variáveis Locais x Globais. - PowerPoint PPT Presentation

Transcript of Variáveis Locais x Globais

Page 1: Variáveis  Locais x Globais

Algoritmos e Programação

Linguagens de Programação Teoria

Aula 13

(16/06)

[email protected]

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia de Computação –

CECOMP

Page 2: Variáveis  Locais x Globais

Variáveis

Locais x Globais

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia de Computação –

CECOMP

Page 3: Variáveis  Locais x Globais

3

Variáveis Locais e Globais

Até este aula, utilizamos apenas variáveis locais, ou seja, aquelas declaradas dentro da função, sempre no início.

Variáveis Globais:

estão fora de qualquer função, usualmente no início do programa.

são acessível em todos os escopos;

Mais utilizada em programação concorrente.

Exemplo no próximo slide.

float soma(float num1, float num2){ float resultado; //Variável LOCAL

resultado = (num1 + num2 + numx);return resultado;

}

Page 4: Variáveis  Locais x Globais

4

#include <stdio.h>

float num1Global; //Variável GLOBAL

float num2Global; //Variável GLOBAL

float resultado; //Variável GLOBAL (não recomendado, uso exclusivo de soma()

float soma(float num1, float num2);

int main () { //Não foram declaradas variáveis nesta função

printf("Digite um numero: ");

scanf("%f", &num1Global);

printf("Digite um OUTRO: ");

scanf("%f", &num2Global);

printf("RESULTADO: %.2f", soma(num1Global, num2Global));

getchar(); getchar(); return(0);

}

float soma(float num1, float num2){ //Não foram declaradas variáveis nesta função

resultado = (num1Global + num2Global);

return resultado;

}

Variáveis Locais e Globais

Page 5: Variáveis  Locais x Globais

5

#include <stdio.h>

float num1Global; //Variável GLOBAL (não recomendado neste caso)

float num2Global; //Variável GLOBAL (não recomendado neste caso)

float resultado; //Variável GLOBAL (não recomendado, uso exclusivo de soma())

float soma(float num1, float num2);

void qualquer(); //E agora?

int main () {

printf("Digite um numero: ");

scanf("%f", &num1Global);

printf("Digite um OUTRO: ");

scanf("%f", &num2Global);

qualquer(); //E agora?

printf("RESULTADO: %.2f", soma(num1Global, num2Global));

getchar(); getchar(); return(0);

}

float soma(float num1, float num2){

resultado = (num1Global + num2Global);

return resultado; }

void qualquer(){//E agora?

printf("Voce executou uma funcao qualquer!\n");

num2Global = 100;

}

Variáveis Locais e Globais

Page 6: Variáveis  Locais x Globais

6

Boas Práticas

Não se deve declarar uma variável como GLOBAL se ela é de uso exclusivo de um bloco de código específico. Neste caso, a declaramos dentro da função que a utiliza (LOCAL);

Declarar variáveis Globais apenas quando necessário e para uso em mais de uma função;

Variáveis Globais podem confundir a leitura do código se não bem utilizada;

Variáveis Globais podem ser um ponto de falha do sistema, pois, qualquer função pode alterar seu valor;

É preciso saber a real necessidade de usá-las!

Variáveis Locais e Globais

Page 7: Variáveis  Locais x Globais

7

Exercício

Adicione a calculadora desenvolvida na aula anterior, uma variável capaz de armazenar quantas vezes as operações foram executadas.

Lembre-se que cada operação (+, - e *) deve estar em

uma função específica.

Após exibir cada resultado, verifique se o usuário deseja saber quantas operações realizou. Caso afirmativo, exiba o resultado e finalize o programa.

Variáveis Locais e Globais

Page 8: Variáveis  Locais x Globais

8

Material de apoio

Dev C++

http://www.baixaki.com.br/download/dev-c-.htm

http://mico.ead.cpdee.ufmg.br/cursos/C/c.html