22.10.2014 Views

Aprendendo a Programar Programando em Linguagem C - FSM

Aprendendo a Programar Programando em Linguagem C - FSM

Aprendendo a Programar Programando em Linguagem C - FSM

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

aluno do ensino médio e a relação contiver poucos números, uma simples olhada na relação permitirá se<br />

identificar o maior número. Mas, e se o processador for um aluno das classes iniciais do ensino fundamental?<br />

E se a relação contiver 10 000 números? E se os números estiver<strong>em</strong> escritos <strong>em</strong> forma de fração ordinária?<br />

Uma solução possível é supor que o maior número é o primeiro da relação e comparar este suposto<br />

maior com os d<strong>em</strong>ais números, alterando-o quando for encontrado um número na relação maior do que<br />

aquele que até aquele momento era o maior.<br />

1. Chame de A o primeiro número dado.<br />

2. Faça M = A.<br />

3. Repita 9 999 vezes as instruções 3.1 e 3.2.<br />

3.1 Chame de A o próximo número dado.<br />

3.2 Se A > M substitua o valor de M por A.<br />

4. Forneça M para o valor do maior número.<br />

Para ex<strong>em</strong>plificar, suponha que a entrada fosse o conjunto {5, 3, 8, 11, 10...}. Até a quinta execução<br />

das instruções 3.1 e 3.2 teríamos a seguinte tabela:<br />

1.8 Linguagens de alto nível<br />

A M<br />

5 5<br />

3<br />

8 8<br />

11 11<br />

10<br />

Computadores digitais foram concebidos para executar<strong>em</strong> instruções escritas <strong>em</strong> linguag<strong>em</strong> de<br />

máquina. Isto significa que um computador é capaz de executar um algoritmo escrito nesta linguag<strong>em</strong>. Um<br />

algoritmo escrito <strong>em</strong> linguag<strong>em</strong> de máquina é normalmente chamado de programa objeto. Nos primórdios<br />

da computação, os algoritmos que se pretendiam que foss<strong>em</strong> executados por um computador eram escritos<br />

<strong>em</strong> linguag<strong>em</strong> de máquina, o que tornava a tarefa de desenvolvimento de algoritmos muito trabalhosa,<br />

devido ao fato de que era necessário que se conhecesse qual sequência de bits correspondia à instrução<br />

pretendida. Naturalmente, esta dificuldade acontecia pelo fato de que o ser humano não está habituado a uma<br />

linguag<strong>em</strong> com apenas dois símbolos básicos. Um grande avanço ocorreu na computação quando se<br />

conseguiu desenvolver programas que traduziss<strong>em</strong> instruções escritas originariamente numa linguag<strong>em</strong> dos<br />

seres humanos para a linguag<strong>em</strong> de máquina. O surgimento de programas para esta finalidade permitiu o<br />

desenvolvimento de algoritmos <strong>em</strong> linguagens que utilizam caracteres, palavras e expressões de um idioma,<br />

ou seja, uma linguag<strong>em</strong> cujos símbolos básicos e cujas palavras estão no cotidiano do ser humano. Uma<br />

linguag<strong>em</strong> com esta característica é chamada linguag<strong>em</strong> de alto nível, onde alto nível aí não se refere à<br />

qualidade e sim ao fato de que ela está mais próxima da linguag<strong>em</strong> do ser humano do que da linguag<strong>em</strong> da<br />

máquina (quando alguma coisa está mais próxima da máquina do que do ser humano diz<strong>em</strong>os que ela é de<br />

baixo nível). Como ex<strong>em</strong>plos de linguagens de alto nível t<strong>em</strong>os Pascal, C, Delphi, Visual Basic, Java e C ++ .<br />

Um algoritmo escrito numa linguag<strong>em</strong> de alto nível é chamado programa fonte ou simplesmente programa<br />

Como foi dito acima, um programa fonte deve ser traduzido para a linguag<strong>em</strong> de máquina. Há dois<br />

tipos de programas que faz<strong>em</strong> isto: os interpretadores que traduz<strong>em</strong> os comandos para a linguag<strong>em</strong> de<br />

máquina um a um e os compiladores que traduz<strong>em</strong> todo o programa para a linguag<strong>em</strong> de máquina. Um<br />

compilador ao receber como entrada um programa fonte fornece como saída um programa escrito <strong>em</strong><br />

linguag<strong>em</strong> de máquina, chamado programa objeto. A compilação do programa, portanto, gera um programa<br />

que pode então ser executado. É comum nos referirmos à execução do programa fonte quando se está<br />

executando o programa objeto.<br />

Já um interpretador traduz para a linguag<strong>em</strong> de máquina os comandos do programa um a um,<br />

executando-os <strong>em</strong> seguida. Assim a interpretação de um programa não gera um programa objeto.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!