linguagens de programação introdução à programação...
TRANSCRIPT
-
Graduação em Ciência da Computação - CIn/UFPE - Introdução à Programação
Linguagens e Algoritmos - Prof. Ricardo Massa F. Lima 1
Introdução à Programação Linguagens de Programação
Algoritmos
Alguns dos slides utilizados nessa aula foram gentilmente cedidos pelo Prof. Paulo Borba e Prof. Adriano Sarmento
uma linguagem que pode ser traduzida para a linguagem entendida pelo computador
10010010 10001110
a = 10; a = a + 1; ?
10010010 10001110
Linguagem imp
recisa
conduzem a en
ganos
-
Graduação em Ciência da Computação - CIn/UFPE - Introdução à Programação
Linguagens e Algoritmos - Prof. Ricardo Massa F. Lima 2
Inadequação entre o nível de detalhe exigido pelo leitor e o utilizado na formulação da frase
difícil em geral fácil para estudante de origami
Nível de detal
he pode
ser inadequado
-
Graduação em Ciência da Computação - CIn/UFPE - Introdução à Programação
Linguagens e Algoritmos - Prof. Ricardo Massa F. Lima 3
se idade < 18 então
pode dirigir
senão
não pode dirigir
001011101100…
-
Graduação em Ciência da Computação - CIn/UFPE - Introdução à Programação
Linguagens e Algoritmos - Prof. Ricardo Massa F. Lima 4
Compilação
a = 10; a = a + 1; Compilador
10010010 10001110
Código- fonte Código de máquina
a = 10; a = a + 1; Interpretador
10010010 Código- fonte
Código de máquina
10001110
Interpretação
-
Graduação em Ciência da Computação - CIn/UFPE - Introdução à Programação
Linguagens e Algoritmos - Prof. Ricardo Massa F. Lima 5
deve ter uma estrutura bem estabelecida quanto à ordem em que seus passos são executados
algoritmos paralelos: duas ou mais seqüências de passos independentes
Sandwich de queijo passo1: corte o pão em duas partes passo2: abra o pão passo3: insira o queijo no pão passo4: feche o pão
-
Graduação em Ciência da Computação - CIn/UFPE - Introdução à Programação
Linguagens e Algoritmos - Prof. Ricardo Massa F. Lima 6
Sandwich de queijo e verdura (paralelo) passo1: corte o pão em duas partes passo2: corte o tomate passo3: corte a cebola passo4: abra o pão passo5: insira o queijo no pão passo6: insira o tomate no pão passo7: insira a cebola no pão passo8: feche o pão
A informação sobre o estado do programa em execução deve ser suficiente para determinar univocamente as ações a serem tomadas em cada passo
Não deve requerer criatividade, bastando a capacidade de seguir instruções
A informação sobre o estado do programa em execução deve ser suficiente para determinar univocamente as ações a serem tomadas em cada passo
Não deve requerer criatividade, bastando a capacidade de seguir instruções
Alimentar Animais passo1: conduza o leão e o coelho para seus refeitórios passo2: alimente o coelho com cenoura passo3: alimente o leão com carne
-
Graduação em Ciência da Computação - CIn/UFPE - Introdução à Programação
Linguagens e Algoritmos - Prof. Ricardo Massa F. Lima 7
Dados dois números quaisquer, as operações de soma, subtração, multiplicação e divisão são algoritmos ?
A operação de divisão não é um algoritmo
0.3333... 1
3
Em que sentido os passos descritos a seguir falham em construir um algoritmo ? passo1: retire uma moeda do bolso e coloque sobre a mesa passo2: retorne ao passo 1
Processo chegará ao fim quando o bolso não tiver mais moedas !
Ambiguidade !!! Nenhuma indicação sobre a conduta a adotar quando não houver mais moedas
Primitivas e suas regras usadas para representar precisamente idéias complexas constitui uma Linguagem de programação
Sistema notacional que permite expressar idéias informalmente durante o desenvolvimento do algoritmo
regras da linguagem formal relaxadas
estrutura sintático-semânticas semelhantes (menos formais) às usadas pelas linguagens de programação
-
Graduação em Ciência da Computação - CIn/UFPE - Introdução à Programação
Linguagens e Algoritmos - Prof. Ricardo Massa F. Lima 8
Selecionar uma, dentre duas, ações, conforme valor da condição se o produto interno bruto tiver aumentado, compre ações
ordinárias; caso contrário, venda ações ordinárias
compre ações ordinárias se o produto interno bruto tiver aumentado; caso contrário venda-as
compre ou venda ações ordinárias dependendo do crescimento ou queda, respectivamente, do produto interno bruto
se (aumento do produto interno bruto) então (compre ações ordinárias) senão (venda ações ordinárias)
Ex: dividir total por 366 ou 365, conforme o ano seja bissexto ou
não, respectivamente
se (ano bissexto) então (dividir total por 366) senão (dividir total por 365)
Sintaxe abreviada se (condição) então (ação)
Ex: se as vendas diminuírem, reduza em 5% o preço
se (vendas diminuírem) então (reduzir em 5% o preço)
Ex: Determine se o aluno foi reprovado (nota menor que 5) ou
aprovado
Seleções aninhadas
se (nota >= 5) então (aluno aprovado) senão (aluno reprovado)
se (nota >= 5) então se (nota >= 7) então (aluno aprovado) senão (fazer prova final)
senão (aluno reprovado)
Importância da Edentação
se (nota >= 5) então {se (nota >= 7) então (aluno aprovado) senão (fazer prova final)} senão (aluno reprovado)
se (nota >= 5) então se (nota >= 7) então (aluno aprovado) senão (fazer prova final)
senão (aluno reprovado)
-
Graduação em Ciência da Computação - CIn/UFPE - Introdução à Programação
Linguagens e Algoritmos - Prof. Ricardo Massa F. Lima 9
Nos permite referenciar valores através de nomes que fazem sentido
associe celsius ao valor 25 associe fahrenheit ao valor (9/5) x Celsius + 32 se (fahrenheit >= 5) então (quente)
senão (frio)
se (((9/5) x 25 + 32) >= 5) então (quente) senão (frio)
Execução recorrente de uma seqüência de comandos enquanto uma condição permanecer verdadeira
Ex: havendo ingressos para vender, permanecer vendendo ingressos enquanto (houver ingressos) faça (vender um ingresso)