





Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Aborda desde os conceitos báscos até alguns exemplos sobre algoritmos
Tipologia: Notas de estudo
1 / 9
Esta página não é visível na pré-visualização
Não perca as partes importantes!






Várias definições de algoritmos estão presentes na literatura (ver bilbliografia indicada). De forma geral um algoritmo pode ser definido como:
Um algoritmo representa de forma estruturada, um padrão de comportamento de eventos ou sequência de ações, que levam a um resultado esperado.
Resumindo: algoritmo = como definir o problema, esquematizar, exercício do raciocínio; técnicas de programação = como operacionalizar, recursos, exercício da implementação.
1.1. Exemplos
a) Seqüência de ações para chegar ao trabalho/universidade:
Acordar → levantar → tomar café → pegar o ônibus Ou → chegar ao destino → pegar o carro
Note que, para cada ação acontecer, é necessário que a ação imediatamente anterior tenha sido executada. Note também que, cada ação pode conter outros eventos associados (outros algoritmos).
b) Manuais de montagem e utilização de equipamentos;
c) Qual o padrão de comportamento utilizado para gerar a sequência abaixo? 1, 5, 9, 13, 17, 21, 25 ... resposta: _________
Como no item 1 ".... um algoritmo é de forma geral, uma descrição passo a passo de como um problema pode ser solucionado. A descrição deve ser finita, e os passos devem ser bem definidos sem ambiguidades" [Terada]. A razão da existência do algoritmo vem da dissonância entre um estado desejado e aquele observado na realidade. Algoritmo não é a solução de um problema, mas é o meio de obtê-la. A resolução de um problema envolve vários parâmetros que devem ser organizados através de alguma técnica formal.
As técnicas de desenvolvimento estruturado de algoritmos, tem o objetivo de:
Uma técnica formal afasta a possibilidade de uma ambiguidade. Ou seja, a partir de dadas condições iniciais a execução do algoritmo será realizada por um mesmo "caminho" (sequência de ações), que deve resultar num mesmo estado final. Uma destas técnicas é o portugol.
1.3. PORTUGOL
Portugol é uma pseudolinguagem que permite ao programador pensar no problema em si e não no equipamento que irá executar o algoritmo. Devem ser considerados a sintaxe (em relação à forma) e a semântica (em relação ao conteúdo ou seu significado). Em portugol a sintaxe é definida pela linguagem e a semântica depende do significado que quer se dar ao algoritmo.
No portugol e nas linguagens de programação, basicamente têm-se comandos e variáveis que operacionalizam a execução de um algoritmo. Estes comandos são
1.4.1.1. Tipos de Variáveis
Variáveis são componentes das linguagens de programação, que identificam os valores que estão sendo manipulados pelos programas. Uma variável, como o próprio nome sugere, contém valores que variam de acordo com a execução do programa. Uma variável deve possuir um tipo específico. As variáveis em portugol, são divididas em 4 tipos principais, (embora na linguagem C existam modificações para estes tipos principais).
No portugol, os tipos básicos de variáveis são:
Exemplos: inteiro: valor; // a variável valor é do tipo inteiro real: media; // a variável media é do tipo real caracter: nome_aluno; // a variável nome_aluno é do tipo caracter lógico: maior; // a variável maior é do tipo booleano
1.4.1.2. Identificadores de Variáveis
O identificador de uma variável, se refere ao nome de como ela vai ser conhecida no programa. È importante não esquecer que:
a) Não é possível definir variáveis de diferentes tipos com o mesmo identificador (nome); O exemplo: real A; inteiro A; causaria erro na programação, mas pode ser
usado real A1; inteiro A2; ou normalmente um nome mais significativo, como real media, inteiro valor, caracter nome, etc.
b) Tomar alguns cuidados em relação à sintaxe da linguagem, por exemplo, não é possível ter identificador como: caracter ?nome, real valor*, inteiro 1x,.
c) .Letras maiúsculas e minúsculas são tratadas de forma diferente, então Media é diferente de media, como também de MEDIA.
Cada variável definida no programa usa um local da memória, que é acessada através do nome dado a variável. O espaço de memória ocupado pelo conteúdo da variável, depende do tamanho destes tipos de dados, que variam de acordo com o tipo do processador a com a implementação do compilador. Como referência inicial para este estudo sobre variáveis, pode-se considerar pelo ANSI C, o seguinte:
Exemplo:
Pode-se supor a memória como uma matriz, como a figura abaixo, onde cada célula possui tamanho de 1 byte (8 bits):
Para armazenar o valor inteiro A= 1, necessita-se de 2 bytes (1 inteiro = 2 bytes na memória); Para armazenar o valor real B= 1, necessita-se de 4 bytes (1 real = 4 bytes na memória);
área ocupada por outros programas.
1.5.2. Operadores Aritméticos
Os símbolos das operações básicas são:
Exemplos a) Desenvolva um algoritmo em portugol para somar dois valores inteiros (10 + 5)
inicio inteiro x,y,z; x = 10; y = 5; z <- x + y; fim
Reservar 3 espaços de memória do tipo inteiro, chamados x, y e z.
Atribuição de valores iniciais às variáveis.
O resultado da soma de x + y será armazenado no espaço de memória z
Obs:
1.5.3. Entrada e Saída de Dados
Na construção de algoritmos, é conveniente que o usuário possa informar dados externos, para serem operados pelo programa. Assim, um programa pode receber um dado informado por um operador através de um comando de leitura. Da mesma forma, pode ser necessário conhecer o resultado de determinada operação executada pelo computador, então será necessária uma forma de exibir os dados.
Cada linguagem tem uma forma específica para entrada e saída de dados. Em algoritmos usaremos os comandos genéricos leia() e escreva(), para realizar a interface com o usuário.
Exemplo:
início real A, B, C; leia(A); leia(B); c <- A + B; escreva(B); fim
Lê os valores fonecidos pelo usuário e armazena em A e B.
Apresenta a resposta (tela, impressora, arquivo, etc)