4 O conceito de variável Para resolver problemas no computador é necessário manipular dados, sejam números ou caracteres. Se alguém precisa calcular o resultado de uma única conta provavelmente o melhor seria utilizar uma calculadora. A utilidade de se escrever um programa aparece quando usamos variáveis que possuem a capacidade de conter valores, é possível então calcular o resultado de várias contas.
As variáveis são indentificadas por um nome, o chamado identificador, e o denominação variável deriva da possibilidade dos valores poderem variar.
5 Atribuição de valores Para um programa, uma variável é um pedaço de memória identificado de alguma forma onde serão armazenados dados. Existem várias maneiras de indicar-se a atribuição de um valor a uma variável: A = 5 b := b + 4 d 8
E numa linguagem de programação isto é feito pela mais fundamental das instruções, denominada de instrução de atribuição ( em C também chamamos de operador de atribuição ou afectação). A sintaxe (maneira como se escreve) varia, conforme vimos anteriormente, e o funciomento é simples: após a execução da instrução pelo computador, a variável ( o pedaço de memória com um nome ) recebe o valor indicado. Exemplo: x = 10
6 Algoritmo e Programa Caso exista, a solução de qualquer problema pode ser descrita passo a passo, por exemplo: uma receita de bolo, um plano de viagem, o conjunto de instruções para a matrícula na Universidade e etc. Uma descrição detalhada para solucionar um determinado problema é chamado de algoritmo.
Quando a solução de um problema é implementada em um computador, é feita através de um ou mais programas, assim podemos dizer que um programa é a expressão de um algoritmo de modo que possa ser executado por um computador.
7 - Fluxograma É uma representação gráfica de um algoritmo por meio de símbolos. Cada símbolo tem uma forma geométrica que define sua função genérica e no seu interior haverá uma descrição do passo do algoritmo. Os símbolos são ligados por flechas que indicam o fluxo.
7.1 Símbolos do fluxograma SÍMBOLO TERMINAL indica os pontos de início e fim do fluxograma SÍMBOLO DE ENTRADA OU SAÍDA indica os passos envolvendo troca de dados com o exterior
7.1 Símbolos (cont.) SÍMBOLO DE PROCESSO indica cálculo ou o manuseio de dados SÍMBOLO DE COMPARAÇÃO indica a comparação de dois valores fornecendo os resultados sim e não SÍMBOLO DE CONEXÃO indica a ligação de dois pontos do fluxograma
exemplo: Calcular o maior de dois números
início ler A e B A > B não sim M = A M = B escrever valor de M fim
exemplo: Escrever a mensagem: Meu primeiro programa
início escrever Meu primeiro programa fim
exemplo: Somar quatro números
início S = 0 1 ler V ler V S = S + V S = S + V ler V ler V S = S + V 1 S = S + V escrever valor de S fim
Imagine se fossem 100 números! Será que não existe uma maneira mais simples?
início I = 1 S = 0 I 4 sim ler V S = S + V I = I + 1 não escrever valor de S fim
Observe que utilizamos uma estrutura de repetição, uma das importantes em programação.
Nesta estrutura foi feita primeiro a pergunta I 4 e só depois foram feitas as acções: ler V S = S + V (somar) I = I + 1 (contar ) Seria possível fazer as acções primeiro e só depois perguntar?
início I = 1 S = 0 ler V 1 escrever valor de S fim S = S + V I = I + 1 I 4 sim 1 não
Observe que, se na comparação quisermos trocar o sim pelo não basta fazer a pergunta ao contrário ( a negação ). As comparações abaixo são equivalentes. I 4 sim I > 4 não não sim
Mas, veremos mais adiante que apenas para certas estruturas (de comparação e repetição) existem intruções apropriadas.
Exercício Considere o seguinte problema: Calcular o produto de 20 números. - faça um fluxograma sem utilizar uma estrutura de repetição (para casa). - faça, agora, com uma estrutura de repetição com a comparação por primeiro. - depois, faça com a comparação por último.
início I = 1 P = 1 I 20 sim ler V P = P x V I = I + 1 não escrever valor de P fim
início I = 1 P = 1 ler V 1 escrever valor de P fim P = P x V I = I + 1 I 20 sim 1 não
8 Linguagem de alto nível A linguagem interna do computador é conhecida como linguagem de máquina e é deveras complicada. Uma linguagem de alto nível está mais próxima da linguagem natural sendo bastante accessível, para aprender a programar basta fazermos um curso básico de programação.
9 - Compilador Um programa numa linguagem de alto nível para poder ser executado (funcionar) precisa ser traduzido para a linguagem de máquina. Existem dois tipos de programas tradutores: os compiladores e os interpretadores.
Com o compilador, o programa escrito pelo programador, chamado de programa-fonte, código-fonte ou simplesmente fonte é traduzido de uma só vez. Isto é o compilador cria uma versão executável do programa, e basta compilar o fonte uma só vez. O funcionamento do interpretador é diferente, traduz e executa as instruções uma e uma, e cada vez que o programa é executado é necessário fazer a tradução, pois não é criada uma versão executável.
10 Compilação e execução de um programa em C programa fonte (compilador) gcc programa executável
Exemplo: Após ter feito um programa fonte ( com o editor jpico ) de nome prog1.c, faça: $ gcc o prog1 prog1.c... neste momento se fizer: $ ls... verá que foi criado (pelo programa gcc ) o programa executável de nome prog1, para executá-lo basta fazer: $./prog1