Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Unidade 2: Algoritmos
Prof. Josué Pereira de Castro
Universidade Estadual do Oeste do ParanáCurso: Bacharelado Ciência da Computação
Cascavel, 2010
Prof. Josué P. Castro (UNIOESTE) Unidade 2 Cascavel, 2010 1 / 28
Unidade 2: Algoritmos
Sumário
1 Algoritmos
2 Linguagem AlgoritmicaDefinição da LinguagemExercícios
Prof. Josué P. Castro (UNIOESTE) Unidade 2 Cascavel, 2010 2 / 28
Unidade 2: Algoritmos
Sumário
1 Algoritmos
2 Linguagem AlgoritmicaDefinição da LinguagemExercícios
Prof. Josué P. Castro (UNIOESTE) Unidade 2 Cascavel, 2010 2 / 28
Algoritmos
Sumário
1 Algoritmos
2 Linguagem AlgoritmicaDefinição da LinguagemExercícios
Prof. Josué P. Castro (UNIOESTE) Unidade 2 Cascavel, 2010 3 / 28
Algoritmos
Algoritmos I
Definição: Algoritmo
É uma sequência ordenada e sem ambiguidade de passos que levama solução de um dado problema.
Prof. Josué P. Castro (UNIOESTE) Unidade 2 Cascavel, 2010 4 / 28
Algoritmos
Algoritmos II
Características de um AlgoritmoDeve descrever exatamente as instruções que devem serexecutadas, e em que sequênciaA ordem dos passos deve ser precisamente determinadaDeve ser composto por um número finito de passosDeve ser eficiente (deve resolver o problema usando o mínimode recursos)Deve ser eficaz (deve resolver o problema em qualquer situação,ou seja, todas as situações de exceção que possam alterar ocomportamento do algoritmo devem ser especificadas e tratadas)
Prof. Josué P. Castro (UNIOESTE) Unidade 2 Cascavel, 2010 5 / 28
Algoritmos
Algoritmos III
Definição: ProgramaAlgoritmo implementado em uma linguagem de programação etraduzido por um interpretador ou compilador.
Prof. Josué P. Castro (UNIOESTE) Unidade 2 Cascavel, 2010 6 / 28
Linguagem Algoritmica
Sumário
1 Algoritmos
2 Linguagem AlgoritmicaDefinição da LinguagemExercícios
Prof. Josué P. Castro (UNIOESTE) Unidade 2 Cascavel, 2010 7 / 28
Linguagem Algoritmica
Linguagem Algoritmica
Padrão adotado: Portugol utilizado no interpretador IC.Interpretador Portugol IC: Software interpretador de algoritmosutilizado na disciplina (disponível na página da disciplina:www.jpcastro.wordpress.com).
Prof. Josué P. Castro (UNIOESTE) Unidade 2 Cascavel, 2010 8 / 28
Linguagem Algoritmica Definição da Linguagem
Definição da Linguagem I
ConstantesSão valores fixos que não se modificam ao longo do tempo,durante a execução de um programaPodem ser: numéricas, lógicas ou caractere
Constantes Numéricas:Podem ser inteiras ou reaisSão expressas no sistema decimal, em ponto fixo ou notaçãocientíficaExemplos:
a) 25b) 3.1415c) 0.1e2
Prof. Josué P. Castro (UNIOESTE) Unidade 2 Cascavel, 2010 9 / 28
Linguagem Algoritmica Definição da Linguagem
Definição da Linguagem II
Constantes Lógicas:
Representam valores lógicos, podendo apenas assumir doisvalores: verdadeiro ou falsoNo IC, assim como na linguagem C, não há um tipo específicopara dados lógicos. o tipo int é usado da seguinte forma: 0equivale e falso, não-zero equivale a verdadeiro.
Prof. Josué P. Castro (UNIOESTE) Unidade 2 Cascavel, 2010 10 / 28
Linguagem Algoritmica Definição da Linguagem
Definição da Linguagem III
Constantes Literais:Podem ser formadas por qualquer sequência de caracteres(letras, dígitos, símbolos especiais, espaço em branco)São delimitadas por aspas (“”) para não confundir com outrositens da linguagem.Exemplos:
a) "José da Silva"b) "Av. da Paz, No 1234"c) "2345.67"d) "02/03/2010"
Obs: Números entre aspas são caracteres e não valores numéricos,logo, não podem ser realizadas quaisquer operações matemáticascom eles
Prof. Josué P. Castro (UNIOESTE) Unidade 2 Cascavel, 2010 11 / 28
Linguagem Algoritmica Definição da Linguagem
Definição da Linguagem IV
VariáveisSão representações simbólicas para os elementos de um certoconjuntoEm computação cada variável corresponde à uma posição dememória, cujo conteúdo pode variar ao longo do tempo, durante aexecução do programa.
Obs: Embora uma variável possa assumir diferentes valores, ela sópode armazenar um único valor a cada instante.
Toda variável é identificada por um nome, também chamado deidentificador
Prof. Josué P. Castro (UNIOESTE) Unidade 2 Cascavel, 2010 12 / 28
Linguagem Algoritmica Definição da Linguagem
Definição da Linguagem V
Regras para formação de identificadores:1 Identificadores são formados por qualquer número de caracteres
alfanuméricos, incluindo o sublinhado.2 O primeiro caractere deve ser, obrigatoriamente, uma letra ou um
sublinhado, seguido por qualquer número de letras, dígitos ousublinhados.
3 Não são permitidos símbolos especiais, caracteres acentuados,espaços em branco nem símbolos de operadores matemáticos,relacionais ou lógicos.
4 Palavras reservadas da linguagem (seus comandos) não podemser usados como identificadores.
Prof. Josué P. Castro (UNIOESTE) Unidade 2 Cascavel, 2010 13 / 28
Linguagem Algoritmica Definição da Linguagem
Definição da Linguagem VI
Declaração de VariáveisSintaxe:tipo nome;outipo nome = valor;
Comentários:São anotações colocadas nos algoritmos para facilitar a leitura ea compreensão do mesmoSintaxe:// comentário
Obs: O comentário inicia-se com “//” e prossegue até o final da linha
Prof. Josué P. Castro (UNIOESTE) Unidade 2 Cascavel, 2010 14 / 28
Linguagem Algoritmica Definição da Linguagem
Definição da Linguagem VII
Expressões:São operações realizadas sobre constantes e/ou variáveisPodem ser numéricas, relacionais, lógicas ou de caracteres
Operadores aritméticos
Operador Operação+ Soma e mais unário− Subtração e menos unário∗ Multiplicação/ Divisão% Resto da divisão inteira++ Incremento anterior e posterior−− Decremento anterior e posterior
Prof. Josué P. Castro (UNIOESTE) Unidade 2 Cascavel, 2010 15 / 28
Linguagem Algoritmica Definição da Linguagem
Definição da Linguagem VIII
Operadores Relacionais
Operador Operação= Igual!= Diferente> Maior>= Maior ou igual< Menor<= Menor ou igual
Prof. Josué P. Castro (UNIOESTE) Unidade 2 Cascavel, 2010 16 / 28
Linguagem Algoritmica Definição da Linguagem
Definição da Linguagem IX
Operadores Lógicos
Operador OperaçãoA && B Retorna verdadeiro se A e B forem verdadeiros
Caso contrário retorna falsoA || B Retorna verdadeiro se A ou B são verdadeiros, ou se
ambos são verdadeiros. Caso contrário retorna falso!A Retorna verdadeiro se A é falso, caso contrário retorna
falso
Expressões Aritméticas:São expressões formadas por operadores aritméticos e seusoperandos são constantes ou variáveis de tipos numéricos(inteiros ou reais)
Prof. Josué P. Castro (UNIOESTE) Unidade 2 Cascavel, 2010 17 / 28
Linguagem Algoritmica Definição da Linguagem
Definição da Linguagem X
Expressões Lógicas:
São expressões cujos operadores são relacionais ou lógicos, ecujos operandos podem ser relações, constantes ou variáveis dequalquer tipo ou expressões aritméticasEm outras palavras: é qualquer expressão que possa ser avaliadacomo verdadeira ou falsa.
Prof. Josué P. Castro (UNIOESTE) Unidade 2 Cascavel, 2010 18 / 28
Linguagem Algoritmica Definição da Linguagem
Definição da Linguagem XI
Prioridades dos operadores
Entre os operadores aritméticos:2o ∗ e /3o + e −
Entre os operadores Relacionais:1o Todos tem a mesma prioridade
Entre os operadores lógicos:1o !2o &&3o ||
Obs.: A ordem de avaliação das expressões pode ser modificada como uso de parênteses. Expressões entre parênteses tem prioridademaior que qualquer outro operador.
Prof. Josué P. Castro (UNIOESTE) Unidade 2 Cascavel, 2010 19 / 28
Linguagem Algoritmica Definição da Linguagem
Definição da Linguagem XII
Expressões LiteraisSão expressões cujos operandos são constantes ou variáveisliteraisGeralmente possuem apenas um único operador, que é o “+”(concatenação)
Operador de Atribuição
Operador que permite atribuir um determinado valor à umavariávelO valor atribuído deve ser compatível com o tipo da variável queirá recebê-loSintaxe: IdVariável = <expressão>
Prof. Josué P. Castro (UNIOESTE) Unidade 2 Cascavel, 2010 20 / 28
Linguagem Algoritmica Definição da Linguagem
Definição da Linguagem XIII
(Cont.)Onde: IdVariável é o identificador da variável que
receberá o valor atribuído= é o símbolo de atribuição<expressão> pode ser uma constante, umavariável, ou uma expressão cujo valor, após a suaavaliação, será atribuído à variável do lado esquerdodo símbolo de atribuição
Prof. Josué P. Castro (UNIOESTE) Unidade 2 Cascavel, 2010 21 / 28
Linguagem Algoritmica Definição da Linguagem
Definição da Linguagem XIV
Exemplos:1 q = 12 cor = "verde"3 teste = falso4 total = w + e + r
Prof. Josué P. Castro (UNIOESTE) Unidade 2 Cascavel, 2010 22 / 28
Linguagem Algoritmica Definição da Linguagem
Definição da Linguagem XV
Comandos de Entrada e SaídaSão comandos (ou funções) fornecidos pelas linguagens deprogramação para possibilitar a aquisição de dados de e para ocomputador, a partir de periféricos e fornecer meios de exibiçãodos resultados do processamento para outros periféricosEm Portugol existem os comandos:
leia (< var1 >,< var2 >, ..., < varn >)escreva (< expr1 >,< expr >, ..., < exprn >)
Estrutura SequencialNuma linguagem algoritmica os comandos são sempreexecutados em sequência linear, seguindo o texto do programa,de cima para baixo, a não ser que uma estrutura de controlemodifique este comportamento.
Prof. Josué P. Castro (UNIOESTE) Unidade 2 Cascavel, 2010 23 / 28
Linguagem Algoritmica Definição da Linguagem
Definição da Linguagem XVI
Exemplo:1 Construa um algoritmo que leia dois números inteiros, A e B, em
seguida calcule a soma destes dois números e armazene oresultado em outra variável inteira C. Por fim, imprima os valoresdos dados lidos e a soma obtida.
2 Modifique o programa anterior para realizar todas as quatrooperações aritméticas com os números inteiros A e B,armazenando os resultados em variáveis inteiras, chamadas so(para soma), su (para subtração), mu (para multiplicação), di(para divisão). Seu programa deve escrever quatro linhas, umapara cada resultado, de acordo com o seguinte padrão:A op B = Reonde op é o sinal da operação que está sendo realizada e Re é oresultado da operação.
Prof. Josué P. Castro (UNIOESTE) Unidade 2 Cascavel, 2010 24 / 28
Linguagem Algoritmica Exercícios
Exercícios I
1 Faça um algoritmo para ler três números inteiros e calcule a suamédia aritmética, também como um número inteiro. Em seguida oalgoritmo deve imprimir os três números lidos na primeira linha,separados por espaço e na segunda linha deve imprimir a médiacalculada.
2 Elabore um algoritmo para ler dois inteiros, o ano atual e o ano denascimento de uma pessoa e calcular a sua idade (em anosinteiros). A seguir, imprima o ano de nascimento e a suarespectiva idade, separados por espaço.
3 Faça um algoritmo que leia um número real R correspondente aoraio de uma circunferência e imprima o seu diâmetro (d = 2× R),o seu perímetro (P = 2× π × R)e a sua área (A = π × R2),separados por espaço, também como números reais.
Prof. Josué P. Castro (UNIOESTE) Unidade 2 Cascavel, 2010 25 / 28
Linguagem Algoritmica Exercícios
Exercícios II
4 Construa um algoritmo para calcular o volume de uma esfera deraio R, sendo R um número real lido a partir da entrada, eimprima o raio R e o respectivo volume da esfera 4
3 × π × R3,separados por espaço.
5 A diagonal de uma caixa retangular com dimensões A, B e C édada por: D =
√A2 + B2 + C2. Faça um programa que leia os
valores de A, B e C, como números reais, e calcule e imprima ovalor da diagonal D também como um número real.
6 Faça um programa que leia dois números reais, respectivamentea base e a altura de um triângulo. Em seguida o programa devecalcular a área deste triângulo e então imprimir os valores da basee da altura seguidos pelo valor da área, separados por espaço.
Prof. Josué P. Castro (UNIOESTE) Unidade 2 Cascavel, 2010 26 / 28
Linguagem Algoritmica Exercícios
Exercícios III
7 A revendedora de carros A&B Ltda. paga a seus funcionáriosvendedores dois salários mínimos fixos mais uma comissão fixade R$50,00 por carro vendido e mais 5% do valor da comissão(sobre todos os carros vendidos pelo funcionário). Elabore umprograma que leia o valor do salário mínimo vigente (em R$) e onúmero de carros vendidos pelo funcionário. Determine eimprima o salário total do vendedor.
Prof. Josué P. Castro (UNIOESTE) Unidade 2 Cascavel, 2010 27 / 28
Linguagem Algoritmica Exercícios
Fim
FIM
Prof. Josué P. Castro (UNIOESTE) Unidade 2 Cascavel, 2010 28 / 28