80 likes | 158 Views
Algoritmos e Programação Linguagens de Programação Teoria Aula 13 (16/06) mario.godoy@univasf.edu.br. Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia de Computação – CECOMP. Variáveis Locais x Globais.
E N D
Algoritmos e ProgramaçãoLinguagens de ProgramaçãoTeoriaAula 13(16/06)mario.godoy@univasf.edu.br Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia de Computação – CECOMP
Variáveis Locais x Globais Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia de Computação – CECOMP
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; }
Variáveis Locais e Globais #include <stdio.h> float num1Global; //Variável GLOBAL float num2Global; //Variável GLOBAL floatresultado; //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 #include <stdio.h> float num1Global; //Variável GLOBAL (não recomendado neste caso) float num2Global; //Variável GLOBAL (não recomendado neste caso) floatresultado; //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 • 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 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.
Material de apoio • Dev C++ • http://www.baixaki.com.br/download/dev-c-.htm • http://mico.ead.cpdee.ufmg.br/cursos/C/c.html