Buscar

Algoritmos Aula 1 Introdução à lógica de programação

Prévia do material em texto

Algoritmos Aula 1 - Introdução à lógica de 
programação 
Introdução 
Nesta aula, vamos apresentar um breve histórico das 
linguagens de programação e mostrar como a maioria 
dos computadores funciona internamente e seus 
principais componentes. 
Bons estudos! 
Entendendo a programação... 
A Informática é uma área que permeia quase todas as 
outras áreas. Na Engenharia, Agronomia, Arquitetura 
e até nas artes podemos encontrar exemplos de 
aplicações da tecnologia da informação. 
Um sistema computacional é composto pela 
combinação de hardware e software. 
 
O que é lógica de programação? 
 
 
A forma de representar o pensamento é muito 
importante na programação de computadores 
porque, quando um programador ou analista pensa 
em um programa, ele precisa saber expressar seu 
raciocínio por meio de uma representação ou mesmo 
de uma linguagem gráfica. 
Nas empresas, isso é muito comum. Existem 
diagramas específicos para representar fluxos de 
processos e outros procedimentos. Por exemplo: os 
organogramas, que mostram a divisão funcional de 
pessoas; as plantas de arquitetura e outros exemplos 
nos quais encontramos desenhos que representam 
algum processo ou projeto. 
Atenção 
Na informática não é diferente, e usamos alguns 
recursos para representar o conhecimento. Os 
exemplos mais comuns são os fluxogramas e os 
algoritmos. Você vai perceber que esses recursos não 
são exclusivos da área. Eles podem e devem ser 
usados em várias situações do nosso dia. 
Vamos estudar cada um deles. 
Os fluxogramas 
Em qualquer tipo de tamanho de projeto, sendo ele 
de software ou não, é feito um planejamento ou um 
esboço do que será desenvolvido. 
Esses esboços são muito importantes porque ajudam 
tanto a equipe de desenvolvimento quanto o cliente a 
entender melhor o problema a ser resolvido. Servem 
também como uma ferramenta de apoio e linguagem 
comum entre quem está desenvolvendo e o cliente. 
Uma forma de criar o esboço de um projeto em 
programação de computadores é o fluxograma. 
Fluxograma 
O fluxograma é uma representação gráfica de um 
processo ou fluxo de trabalho, feito com figuras 
geométricas padronizadas e setas ligando cada figura. 
Também pode ser definido como o gráfico que 
representa o caminho feito por algum elemento 
(como, por exemplo, um documento), entre os vários 
departamentos de uma empresa. 
Saiba mais 
A representação gráfica possibilita que entendamos, 
de forma rápida e fácil, uma solução para um 
problema e mostra como as informações ou 
documentos entre os elementos que participam no 
processo são transformadas. 
Criação de fluxogramas 
A existência de fluxogramas na representação de 
processos é fundamental para a padronização do 
trabalho. Além de auxiliar a compreensão dos 
processos desenvolvidos em cada departamento ou 
área da empresa, pode indicar oportunidades de 
otimização. 
Veja dois exemplos de fluxogramas: 
1. Suponha que um processo vá ser representado por 
um retângulo. E para o início e fim do desenho, vamos 
usar um retângulo arredondado. Sendo assim, para 
ligar um carro, o desenho do fluxo seria assim: 
 
2. Vamos examinar um exemplo de outra situação: o 
objetivo é determinar o valor do saldo no final do 3º 
mês de uma aplicação financeira, com investimento 
inicial de R$100,00, com juros de 1% ao mês. 
Observe o fluxograma a seguir: 
 
No nosso exemplo, temos alguns valores que podem 
variar: 
i: valor do investimento inicial; 
j: a taxa de juros; 
p: saldo ao final do 1º mês; 
s: saldo ao final do 2º mês; 
t: saldo ao final do 3º mês. 
Você sabe o significado de cada figura nos 
fluxogramas? 
No fluxograma, vimos que existem figuras diferentes, 
cada uma delas com um significado. Observe: 
 
Observe agora um fluxograma um pouco mais 
complexo: 
 
Não diga que é complicado! Ele é apenas um pouco 
mais elaborado do que os outros e mostra que nem 
todas as tarefas são sequenciais. 
O que faz este fluxograma? 
Ele avalia e calcula as raízes de uma equação do 
segundo grau. Para que seja possível executar a 
operação x = -b/(2*a), é preciso verificar se o valor de 
a não é zero. 
Para terminar, observe que também existem 
fluxogramas para problemas que não sejam 
exclusivamente matemáticos.Veja o fluxograma a 
seguir: 
 
A outra forma que vamos estudar, a qual representa 
uma solução de um problema, é o famoso algoritmo. 
Algoritmos 
O algoritmo é a representação do pensamento 
descrito como uma sequência de passos que visam 
atingir um objetivo. 
Quer ver um exemplo? 
Olhe como eles são mais simples e corriqueiros do 
que imaginamos: 
• Receita de bolo; 
• Orientação para se chegar a algum endereço; 
• Um manual de instruções. 
 
E qual a importância dos algoritmos na 
programação? 
Eles servem para representar o raciocínio, 
independentemente de detalhes computacionais, ou 
seja, deixam os detalhes que uma linguagem de 
programação possui. Esses detalhes podem ser 
acrescentados mais tarde. O importante é focalizar 
primeiro na resolução algorítmica do problema, 
possibilitando depois codificá-la em qualquer 
linguagem. 
Escrever um algoritmo é fácil. E quanto mais simples 
você escrever, mais claro e objetivo ele será. 
Quer ver um exemplo? 
Como fazemos para trocar uma lâmpada? Trata-se de 
uma sequência de passos, não é mesmo? 
Temos que: 
1. Pegar uma escada; 
2. Posicionar a escada embaixo da lâmpada; 
3. Buscar uma lâmpada nova; 
4. Subir na escada; 
5. Retirar a lâmpada velha; 
6. Colocar uma lâmpada nova. 
Saiba mais 
Dependendo da equipe, do problema ou do projeto, é 
bom usar uma dessas duas formas (algoritmos ou 
fluxogramas), ou até mesmo as duas formas 
simultaneamente, se for o caso, para poder esclarecer 
com precisão a solução de um determinado 
problema. O algoritmo é muito usado em várias 
situações. Na matemática, existem vários tipos de 
algoritmos, assim como na genética em Biologia e até 
mesmo na Administração e Economia. 
Como escrever um algoritmo? 
A forma mais comum de escrever um algoritmo é usar 
uma linguagem chamada de português estruturado 
ou portugol. Esta forma é a que mais se aproxima da 
definição de algoritmos como conhecemos. 
O português estruturado é uma simplificação da 
nossa linguagem natural, na qual usamos frases 
simples e estruturas que possuem um significado 
muito bem definido. 
Apesar disso, a aparência do português estruturado é 
muito semelhante a uma linguagem de programação 
tradicional. Ele possui um conjunto de palavras e 
regras que formam as sentenças válidas e compõem a 
sintaxe da linguagem. 
 
Veja o exemplo de um algoritmo em português 
estruturado na tela do computador: 
 
 
Ele também serve para documentar qualquer tipo de 
processo, em qualquer área. 
Você já entendeu que é possível representar 
programas de computador ou processos por meio de 
figuras (no fluxograma) ou por texto (no caso de 
algoritmo). É preciso agora entender como de fato os 
computadores são programados. Para isto, usamos 
uma linguagem de programação. 
 
 
 
 
 
 
 
 
 
Reflexão 
Em 1960, não tínhamos a internet na forma como é 
hoje, logo a linguagem Fortran, que é uma das 
primeiras a serem usadas em grande escala, não serve 
para programar para a internet. Essa linguagem era 
voltada para as características de sua época como 
cálculos científicos e outros. E assim ocorreu com as 
outras linguagens. Veja como evoluíram até chegar à 
linguagem C++, que vamos estudar nesta disciplina. E 
veja que o C++ deu origem a duas grandes linguagens 
muito usadas atualmente: o Java e o C#. 
A divisão da história do computador em gerações 
➢ Primeirageração 
A primeira geração dos computadores foi marcada 
pelo ENIAC (Electrical Numerical Integrator and 
Calculator). Ele foi criado em 1943 por John Eckert e 
John Mauchly e era bem diferente do que 
conhecemos por um computador atual. 
Imagine um computador que pesava 30 toneladas e 
ocupava 180 metros quadrados (é maior do que 
muitos apartamentos atuais) e fazia incríveis 5 mil 
somas ou 360 multiplicações por segundo. Para você 
ter uma ideia, o Intel I7 980-X pode fazer 
20.000.000.000 de operações por segundo (20 
GFlops). 
Mas para a época, era uma grande máquina e um 
belo avanço. Veja o ENIAC: 
Figura 1: O ENIAC. Fonte: http://t1.gstatic.com/ e 
http://images.wikia.com/. 
Além de ser muito grande, o ENIAC possuía mais de 
17 mil válvulas. Naquela época não existiam os 
componentes eletrônicos que temos hoje, então eles 
usavam válvulas para poder criar os circuitos. 
O problema das válvulas é que elas esquentavam 
demais e, sendo assim, o ENIAC emitia mais de 
200.000 watts de calor. Uma válvula é semelhante a 
uma lâmpada incandescente. 
Em 1951, foi criado o UNIVAC (Universal Automatic 
Computer). Os computadores desta época eram 
diferentes dos atuais em vários sentidos. Um deles é 
que os computadores eram construídos com 
finalidades muito específicas. 
No caso do UNIVAC, sua principal aplicação era a 
apuração do censo populacional dos EUA. 
Eis o UNIVAC: 
Figura2: 
http://www.computerhistory.info/Page4.dir/pages/U
nivac.dir/images/UnivacOperatorConsole.jpg. 
➢ Segunda geração 
A segunda geração dos computadores ficou marcada 
pelo desenvolvimento do transístor em 1947. 
Os transístores oferecem muitas vantagens em 
relação às válvulas: 
 São muito menores que as válvulas; 
 Muito mais econômicos; 
 Muito mais rápidos; 
 Não esquentam. 
Nessa geração, também apareceram linguagens de 
programação que ainda são usadas 
até hoje em algumas aplicações. Entre elas, temos o 
Assembly, Cobol e Fortran. 
Porém, os computadores ainda não eram pessoais. 
Ou seja, eram criados apenas para aplicações 
específicas, e muitas delas para aplicações militares 
(1947 foi o final da II Guerra Mundial e início da 
chamada Guerra Fria). 
Figura 3: O transistor (http://static.infoescola.com/ 
http://pt.dreamstime.com/). 
➢ Terceira geração 
A terceira geração dos computadores foi no período 
de 1965 a 1970. Outro grande avanço na eletrônica 
contribuiu diretamente na arquitetura dos 
computadores: o surgimento do circuito integrado 
(CI), também chamado de microchip. 
O CI é uma “pastilha” que contém muitos circuitos 
eletrônicos dentro dela. A indústria de miniaturização 
conseguiu, ao longo dos tempos, deixar os 
componentes eletrônicos cada vez menores. 
Assim, contribuiu também com a indústria de 
computadores, diminuindo seu tamanho e 
deixando-os serem consumidos por pessoas e 
entusiastas de eletrônica durante essa época. 
Um grande exemplo de computador dessa época foi o 
IBM Série 360, de 1964. Você percebe pela sua figura 
que ele é bem menor que seus antecessores e era 
usado comercialmente e para fins científicos. 
Figura 4: O IBM 360 
(https://pt.wikipedia.org/wiki/IBM_System/360#/me
dia/File:DM_IBM_S360.jpg). 
➢ Quarta geração 
A quarta geração tem início no começo da década de 
1970. Os computadores ficam menores ainda e 
começam a usar o microprocessador, que é um 
circuito com vários circuitos eletrônicos presentes 
internamente. 
Um único microprocessador dessa época tinha mais 
poder de processamento do que os ENIAC da primeira 
geração. Uma calculadora eletrônica em 1977, por 
exemplo, conseguia fazer 250 milhões de 
multiplicações por segundo. Comparado com o ENIAC, 
foi um grande avanço em pouco tempo. 
Na época, personagens como Steve Jobs, Bill Gates, 
Steve Wozniak e outros apareceram. Tratava-se de 
jovens que conheciam eletrônica e perceberam a 
capacidade que os computadores poderiam exercer 
na sociedade e nas pessoas. 
Figura 5: O microchip 
(https://pt.wikipedia.org/wiki/Microprocessador#/me
dia/File:AMD_INFERIOR.JPG). 
Como um computador é organizado internamente? 
Muito bem, um estudo introdutório de programação 
não pode deixar de abordar a plataforma onde ele vai 
ser utilizado. O hardware é o parceiro do software, 
por isso, vamos estudar a organização básica de 
computadores, ou seja, vamos ver como ele é por 
dentro. 
Assim como qualquer equipamento moderno como a 
TV, o telefone, o automóvel e outros, o computador é 
fruto direto da evolução tecnológica das últimas 
décadas. É claro que em 1940, quando apareceu o 
primeiro computador, a tecnologia não era como 
hoje. Naquela época, mal tínhamos a telefonia como 
conhecemos hoje, imagine um computador. A história 
dos computadores é dividida em gerações, e vamos 
dar uma rápida olhada em cada uma delas: 
 
 
 
 
Dias atuais 
Depois da quarta geração, os computadores tiveram 
uma evolução muito rápida. Assim como a tecnologia 
evoluiu em outras áreas, o computador seguiu esta 
evolução. Porém, mesmo com os computadores 
modernos que temos hoje, ultrabooks, tablets, 
surfaces e outros, sua arquitetura interna não foi tão 
modificada assim. 
 
Essa arquitetura foi criada por John Von Neumann, 
um matemático húngaro naturalizado estadunidense 
que contribuiu com várias áreas, inclusive a 
computação. A arquitetura desenvolvida por ele é 
usada de uma maneira geral nos computadores mais 
modernos, inclusive em supercomputadores, com 
algumas variações, mas de qualquer forma obedecem 
ao princípio desenvolvido por Von Neumann. 
A arquitetura tem o seguinte diagrama. Von 
Neumann sugeriu uma forma de organizar o 
computador por meio dos seguintes elementos: 
 
 
 
UMA MEMÓRIA, DIVIDIDA EM PRIMÁRIA E 
SECUNDÁRIA 
A memória primária é o que conhecemos como RAM: 
memória de acesso aleatório, podendo ser escrita e 
apagada. 
UMA UNIDADE DE CONTROLE 
Responsável pela sincronização entre os demais 
componentes. 
UMA UNIDADE LÓGICA E ARITMÉTICA (ALU) 
Responsável pelos cálculos e seus controles. 
DISPOSITIVOS DE ENTRADA E SAÍDA 
Compreendendo os discos, pendrives e demais 
dispositivos de armazenamento. 
Atividade 
Observe o esquema a seguir e escreva qual 
funcionamento básico de um computador 
convencional de acordo com seu significado. 
 
componentes principais de um computador e seu 
funcionamento 
1. Armazenamento Secundário 
2. Entrada 
3. Processamento 
4. Processamento 
5. Saída 
2. O elemento de um microcomputador que não pode 
ter dados gravados pelo usuário, mas cuja gravação 
das informações referentes às rotinas de inicialização 
é feita pelo fabricante do microcomputador é: 
A memória ROM. 
3. Assinale a alternativa correta: 
Os algoritmos são independentes da linguagem de 
programação. 
4. Verifique as afirmações abaixo e assinale a 
alternativa correta: 
I) Fluxograma e algoritmo são a mesma coisa. 
II) O fluxograma serve para mostrar um processo de 
uma maneira gráfica. 
III) O algoritmo mostra os detalhes de implementação 
de uma linguagem. 
Somente a II. 
5. Segundo o conceito da Máquina de Von Neumann: 
Instruções e dados são armazenados na mesma 
memória.

Continue navegando