Académique Documents
Professionnel Documents
Culture Documents
Objetivos da Disciplina:
Apresentar os fundamentos bsicos de programao de computadores, com nfase especial na modelagem de problemas atravs de algoritmos computacionais e na manipulao de dados na memria principal do computador. Abordar o projeto e o desenvolvimento de programas utilizando a tcnica Portugus Estruturado, a partir do mtodo de refinamentos sucessivos e da utilizao das estruturas bsicas da Programao Estruturada. Utilizar os conceitos bsicos de programao procedimental. Descrever os mtodos de representao e manipulao de estruturas de dados lineares. Utilizar a linguagem de programao Ruby como uma ferramenta para codificao
Contedo:
O Conceito de Algoritmo e formas de representao. Tcnicas de Refinamentos sucessivos e Programao Estruturada; Tipos primitivos de dados; Constantes e variveis; Operadores bsicos; Expresses aritmticas, relacionais e lgicas; Comando de atribuio; Comando de desvio condicional; Comandos de repetio; Comando de seleo. Vetores.
3
Bibliografia
MANZANO, Jos Augusto N. G.; OLIVEIRA, Jayr Figueiredo de. Algoritmos - Lgica para
Flanaga, David. Yukihiro Matsumoto. A linguagem de programao Ruby. 1 ed. Altabooks. 2008.
Sumrio
Conceito de Algoritmo Formas de Representao do Algoritmo Descrevendo um ambiente para a execuo do algoritmo Exerccios Conceitos Bsicos de Linguagem de Programao
Compiladores
Exerccios
6
Voc pode estar pensando: Mas eu realizo esse algoritmo de maneira diferente! timo. Voc acaba de entender que pode haver diferentes algoritmos para atingir o mesmo objetivo.
Voc percebeu que executa algoritmos diariamente. Agora, comece a escrev-los: Algoritmo para trocar uma lmpada: Algoritmo para fazer um churrasco: Algoritmo para somar os inteiros menores que 10:
Algoritmo um conjunto finito de regras, bem definidas, que nos levam a soluo de um problema em um tempo finito
Algoritmo a descrio de um conjunto de aes que, obedecidas, resultam numa sucesso finita de passos, atingindo o objetivo
Algoritmos
Perguntar no ofende
Ler atentamente o enunciado, destacando os pontos mais importantes. Definir quais sero os dados fornecidos para a execuo do algoritmo. Definir quais sero os clculos a serem executados. Definir quais sero os dados gerados pela execuo do algoritmo. Construir o algoritmo. Testar o algoritmo realizando simulaes
10
Ter fim; No dar margem dupla interpretao (no ambguo); Capacidade de receber dado(s) de entrada do mundo exterior; Poder gerar informaes de sada para o mundo externo ao do ambiente do algoritmo; Ser efetivo (todas as etapas especificadas no algoritmo devem ser alcanveis em um tempo finito).
11
Descrio Narrativa
Vantagens: -o portugus etc. Providencie manteiga, ovos, 2 Kg de massa, bastante conhecido por ns; Misture os ingredientes Desvantagens Despeje a mistura na frma de bolo - impreciso; Leve a frma ao forno - pouca confiabilidade (a impreciso Espere 20 minutos acarreta a desconfiana); Retire a frma do forno - extenso (normalmente, escreveDeixe esfriar se muito para dizer pouca coisa). EXEMPLO: Receita de Bolo:
Prove
12
Fluxograma
Smbolos Padronizados
VANTAGENS: - Uma das ferramentas mais conhecidas; grficos para representar - Figuras dizem muito mais que palavras; - Padro mundial DESVANTAGENS: - Pouca ateno aos dados, no oferecendo recursos para descrev-los ou representlos; - Complica-se medida que o algoritmo cresce.
13
Linguagem Algortmica
VANTAGENS: EXEMPLO: Algoritmo CALCULA_DOBRO como base; - Usa o portugus NUM,DOBRO : inteiro - Pode-se definir quais e como os dados vo estar estruturados; incio - Passagem quase imediata do algoritmo para uma linguagem de Leia NUM programao qualquer. DOBRO 2 * NUM DESVANTAGENS: - Exige a definio de uma Escreva DOBRO linguagem no real para trabalho; fim - No padronizado.
14
hora de comear a conhecer o mundo dos algoritmos. Voc dever empregar as trs tcnicas apresentadas para resolver o seguinte problema: Narrativa, Fluxograma, Pseudocdigo.
Fazer um algoritmo para calcular e mostrar o resultado da soma de 3 nmeros fornecidos pelo usurio.
15
Passo 1: Receber os trs nmeros que sero somados Passo 2: Calcular a soma dos trs nmeros Passo 3: Mostrar o resultado obtido para a soma
16
17
Voc pode observar que este pseudocdigo utiliza algumas palavras reservadas, que dever aprender, ao longo do curso.
18
19
o meio pelo qual os dados que sero trabalhados pelo algoritmo vo ser introduzidos em nosso computador hipottico
(4) Memria:
Resolvendo um Problema
A partir de dois nmeros que sero informados, calcular a adio dos mesmos
a) saber quais so os nmeros; b) calcular a soma dos nmeros; c) responder questo com o valor do resultado.
21
Vejamos como seria resolvido esse mesmo problema em termos das operaes bsicas
a) operao de entrada de dados dos nmeros b1) movimento do valor dos nmeros entre a memria e a ULA b2) operao aritmtica de somar os 2 nmeros b3) movimentao do resultado da ULA para guardar na memria c) operao de sada do resultado, que est guardado na memria, para o dispositivo de sada desejado
22
Exerccios
01. Defina, com suas palavras, o que algoritmo. 02. Cite alguns algoritmos que podemos encontrar na vida quotidiana.
03. De acordo com seu entendimento, qual a caracterstica mais importante em um algoritmo? Justifique a sua resposta. 04. Um algoritmo no pode conter um comando como Escreva todos os nmeros inteiros positivos. Por qu?
23
Para armazenar um algoritmo na memria de um computador e para que ele possa, em seguida, comandar as operaes a serem executadas, necessrio que ele seja programado, isto , que seja transcrito para uma linguagem que o computador possa entender, direta ou indiretamente
24
Linguagens de Programao
Linguagem uma maneira de comunicao que segue uma forma e uma estrutura com significado interpretvel Portanto, linguagem de programao um conjunto finito de palavras, comandos e instrues, escritos com o objetivo de orientar a realizao de uma tarefa pelo computador
25
Logicamente, a linguagem que ns utilizamos em nosso cotidiano diferente da linguagem utilizada pela mquina A mquina trabalha somente com cdigos numricos (linguagem de mquina), baseados nos nmeros 0 e 1 (sistema binrio), que representam impulsos eltricos, ausente e presente
26
Assim, qualquer linguagem de programao deve estar situada entre dois extremos: o da linguagem natural do homem (muito clara, porm lenta) e o da linguagem de mquina (muito rpida, porm complexa) Este o conceito de nvel de linguagem: alto nvel para as mais prximas da linguagem humana; baixo nvel para as mais semelhantes linguagem de mquina
27
Tradutores
Para que um computador possa "entender" um programa escrito em uma linguagem de alto nvel, torna-se necessrio um meio de traduo entre a linguagem utilizada no programa e a linguagem de mquina.
compilador
28
Compilador
traduz o programa escrito em linguagem de alto nvel (programa-fonte) para um programa equivalente escrito em linguagem de mquina (programa-objeto)
29
30
Voc j sabe que ao formular um algoritmo usando pseudocdigo, deve obedecer uma conveno, que emprega palavras reservadas e regras de escrita O problema que no existe padronizao para pseudocdigo. Cada autor, em sua respectiva obra sobre introduo programao, adota um modelo diferente de portugol
Perguntar no ofende Professor, j que existem vrios pseudocdigos diferentes, qual devo usar nas aulas de Algoritmos?
31
Visualg
Visualg - Editor e Interpretador de Algoritmos Criado por Cludio Morgado de Souza programador/analista e professor universitrio no Rio de Janeiro
32
Exerccios
06. Qual a diferena entre linguagem de baixo nvel e linguagem de alto nvel?
33
34