Aprendendo a Programar Programando em Linguagem C - FSM
Aprendendo a Programar Programando em Linguagem C - FSM
Aprendendo a Programar Programando em Linguagem C - FSM
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.