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
M=B
escrever
valor de M
fim
sim
M=A
exemplo:
Escrever a mensagem:
“Meu primeiro programa”
início
escrever
“Meu primeiro programa”
fim
exemplo:
Somar quatro números
início
1
S=0
ler V
ler V
S=S+V
S=S+V
ler V
ler V
S=S+V
S=S+V
escrever
valor de S
1
fim
Imagine se fossem 100 números!
Será que não existe uma maneira mais
simples ?
início
I=1
S=0
I≤4
não
escrever
valor de S
fim
sim
ler V
S=S+V
I=I+1
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
1
I=1
S=0
escrever
valor de S
ler V
fim
S=S+V
I=I+1
I≤4
não
1
sim
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
não
sim
I>4
sim
não
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
não
escrever
valor de P
fim
sim
ler V
P=PxV
I=I+1
início
1
I=1
P=1
escrever
valor de P
ler V
fim
P=PxV
I=I+1
I ≤ 20
não
1
sim
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
Download

Algoritmo vs. Programa