Algoritmos e Programação
Prof. Ivo Brites
10/08/2012
Aula 2
1
Universidade de Cuiabá
Engenharia Ambiental
2 ° Semestre
O que é uma Linguagens de Programação
 Linguagem?
“Conjunto de regras que estabelecem normas de
comunicação”.
 Para haver um entendimento, ambas as partes devem falar a
mesma língua.
 Caso as partes envolvidas na comunicação falem línguas
diferentes, surge a necessidade de um tradutor
(intermediário).
O que é uma Linguagens de Programação
 Linguagem de Programação?
O que é uma Linguagens de Programação
 Uma linguagem de programação deve ser extremamente
formal e exata.
 Um determinado comando tem que ter o mesmo significado para
todos os programadores que utilizam ele e para todos os
compiladores da linguagem.
O que é uma Linguagens de Programação
 Para garantir a formalidade e a sua exatidão toda LP
possui:
 Sintaxe - é a forma de suas expressões, de suas instruções e de suas
unidades de programa.
 Semântica - A semântica trata da análise do significado das expressões,
das instruções e das unidades de programa
Linguagens Compiladas
 Programas escritos em linguagens de alto nível devem ser
traduzidos para linguagens de máquina.
 Um compilador implementa uma linguagem fonte
traduzindo programas escritos nessa linguagem para a
linguagem objeto da máquina alvo onde os programas vão ser
executados.
Linguagens Compiladas
Dados
Execução
Resultados
Linguagens Interpretadas
 Gera código intermediário que é executado, por um
programa ou máquina virtual, sem gerar código de
máquina.
 Um interpretador simula a execução de cada instrução ou
comando de um programa, de forma que o seu efeito seja
reproduzido corretamente, à medida que essa execução se
torna necessária.
Noções de Lógica
O que é lógica?
 O uso corriqueiro da palavra lógica está normalmente relacionado à coerência e
à racionalidade. Freqüentemente se associa lógica apenas à matemática, não se
percebendo seu aplicabilidade e sua relação com as demais ciências.
Existe lógica no Dia-a-Dia?
 Sempre que pensamos, a lógica ou a ilógica necessariamente nos acompanham.
Quando falamos ou escrevemos, estamos expressando nosso pensamento, logo,
precisamos usar a lógica nessas atividades.
9
Noções de Lógica
Mas e a lógica de programação?
 Significa o uso correto das leis do pensamento, da ‘ordem da razão’ e de
processos de raciocínio e simbolização formais na programação de
computadores.
 O raciocínio é algo abstrato, nós seres humanos temos a capacidade de
expressá-lo através de palavra falada ou escrita, que por sua vez se baseia em um
determinado idioma, que segue uma série de padrões (gramática). Algo similar
ocorre com a lógica de programação.
O que é um algoritmo?
 Um algoritmo pode ser definido como uma seqüência de passos que visam a
atingir um objetivo bem definido.
10
Noções de Lógica
Exemplos de algoritmos:
Algoritmo 1.1 – Troca de lâmpada
 pegar uma escada;
 posicionar a escada embaixo da lâmpada;
 buscar uma lâmpada nova;
 subir na escada;
 retirar a lâmpada velha;
 colocar a lâmpada nova.
11
Noções de Lógica
Exemplos de algoritmos:
Algoritmo 1.2 – Troca de lâmpada com teste
 acionar o interruptor;
 se a lâmpada não acender, então
 pegar uma escada;
 posicionar a escada embaixo da lâmpada;
 buscar uma lâmpada nova;
 subir na escada;
 retirar a lâmpada velha;
 colocar a lâmpada nova.
12
Noções de Lógica
Exemplos de algoritmos:
Algoritmo 1.3 – Troca de lâmpada com teste para 10 soquetes
 acionar o interruptor do primeiro soquete;
 se a lâmpada não acender, então
 pegar uma escada;
 posicionar a escada embaixo da lâmpada;
 buscar uma lâmpada nova;
 subir na escada;
 retirar a lâmpada velha;
 colocar a lâmpada nova;
 enquanto a lâmpada não acender, faça
 retirar a lâmpada queimada;
 colocar uma lâmpada nova;
 acionar o interruptor do segundo soquete;
 se a lâmpada não acender, então
 pegar uma escada;
 posicionar a escada embaixo da lâmpada;
13
...
Noções de Lógica
Exemplos de algoritmos:
Algoritmo 1.3 – Troca de lâmpada com teste para 10 soquetes
 acionar o interruptor do décimo soquete;
 se a lâmpada não acender, então
 pegar uma escada;
 posicionar a escada embaixo da lâmpada;
 buscar uma lâmpada nova;
 subir na escada;
 retirar a lâmpada velha;
 colocar a lâmpada nova;
 enquanto a lâmpada não acender, faça
 retirar a lâmpada queimada;
 colocar uma lâmpada nova;
14
Noções de Lógica
Exemplos de algoritmos:
Algoritmo 1.4 – Troca de lâmpada com teste para 10 soquetes com repetição
 ir até o interruptor do primeiro soquete;
 enquanto a quantidade de soquetes testados for menor que dez, faça
 acionar o interruptor;
 se a lâmpada não acender, então
 pegar uma escada;
 posicionar a escada embaixo da lâmpada;
 buscar uma lâmpada nova;
 subir na escada;
 retirar a lâmpada velha;
 colocar a lâmpada nova;
 enquanto a lâmpada não acender, faça
retirar a lâmpada queimada;
 colocar uma lâmpada nova;

15
 ir até o interruptor do próximo soquete;
Noções de Lógica
Exemplos de algoritmos:
Algoritmo 1.5 – Fluxograma
16
Tópicos Preliminares
 Tipos primitivos
 Variáveis
 Expressões aritméticos, lógicas e relacionais
 Comandos de entrada e saída
 Blocos
17
Tópicos Preliminares
 Tipos primitivos
 Inteiro: toda e qualquer informação numérica que pertença ao
conjunto dos números inteiros.
 Real: toda e qualquer informação numérica que pertença ao
conjunto dos números reais.
 Caracter: toda e qualquer informação composta de um conjunto
de caracteres alfanuméricos: numéricos (0..9), alfabéticos
(A...Z, a...z) e especiais (por exemplo, #,?,!,@).
 Lógico: toda e qualquer informação que pode assumir apenas
duas situações.
18
Tópicos Preliminares
 Constantes
 Entendemos que um dado é constante quando não sofre
nenhuma variações no decorrer do tempo, ou seja, seu valor é
constante desde o início até o fim da execução do algoritmo,
assim como é constante para execuções diferentes no tempo.
 Variável
 Um dado é classificado com variável quando tem a possibilidade
de ser alterado em algum instante no decorrer do tempo.
19
Tópicos Preliminares
 Formação de identificadores
 Os identificadores acompanham as seguintes regras de
formação:
1.
2.
3.
20
Devem começar por um caracter alfabético.
Podem ser seguidos por mais caracteres alfabéticos ou numéricos.
Não devem ser usados caracteres especiais.
Tópicos Preliminares
 Operadores Aritméticos , Caracteres, Relacionais e Lógicos
– consultar a linguagem do VisuAlg, página 2.
 Comandos de entrada e saída – consultar a linguagem do
VisuAlg, página 2.
 Blocos
 Um bloco pode ser definido como um conjunto de ações com
uma função definida; nesse caso, um algoritmo pode ser visto
como um bloco.
21
Exemplo
// Algoritmo : MEDIA ARITMETICA
algoritmo "mediaaritmetica"
// Seção de Declarações
var
V1, V2, Media : real ;
inicio
// Seção de Comandos
escreva("Qual o primeiro valor? ")
leia(V1)
escreva("Qual o segundo valor? ")
leia(V2)
Media <- (V1+V2) / 2
escreval("A média aritmética é : ", Media)
fimalgoritmo
22
Estruturas de Controle
 Estrutura sequencial
 A estrutura sequencial de um algoritmo corresponde ao fato de
que o conjunto de ações primitivas será executado em uma
sequência linear de cima para baixo e da esquerda para a direita.
23
Estruturas de Controle
 Estrutura de seleção
 Uma estrutura de seleção permite a escolha de um grupo de
ações (bloco) a ser executado quando determinadas condições,
representadas por expressões lógicas ou relacionais, são ou não
satisfeitas.
 Seleção Simples
se <condição> entao
C//comando único
fimse
 Seleção Composta
24
se <condição> entao
C//comando único
Senao
C//comando único
fimse
Exercícios
Construa um algoritmo que calcule a média aritmética
entra quatro notas bimestrais quaisquer fornecidas por um
aluno (usuário).
2. Faça um algoritmo para calcular o volume de um esfera de
raio R, em que R é um dado fornecido pelo usuário. O
volume de uma esfera é dado por V = 4/3∏R3
3. Vamos incluir agora, no primeiro algoritmo a informação
do resultado falso da condição (Média >=7) como
reprovado, e o verdadeiro da condição como aprovado.
4. Dados três valores A, B e C referentes aos lados de um
triangulo, verificar se compõem um triangulo equilátero,
isósceles ou escaleno.
1.
25
Bibliografia
 [1] FORBELLONE, André Luiz Villar. EBERSPÄCHER,
Henri Frederico. Lógica de Programação – A
construção de algoritmos e estruturas de dados.
Editora Pearson Brasil, 2005.
 [2] SALIBA, Walter Luiz Caram. Técnicas de
Programação. Editora Pearson Brasil, 1993.
 [3] WIRTH, Niklaus. Algoritmos e Estruturas de Dados.
Editora LTC – Livros Técnicos e Científicos, 1999.
 [4] WEB
26
Download

Linguagem de Programação WEB