Baixe o app para aproveitar ainda mais
Prévia do material em texto
8/15/15 1 Linguagem de Programação Prof. Dr. Paulo Nazareno Maia Sampaio Aula 1 SUMÁRIO 2 Algoritmos e Programação 2.1 Definições Básicas 8/15/15 2 Linguagem de Programação Lógica de Programação • É a técnica de encadear pensamento para atingir determinado objetivo. Algoritmos • Um algoritmo é uma seqüência de ações (passos) finitas, bem definidas, que resolve, em tempo finito, um problema de ordem computacional. OBS.: O algoritmo não é a solução do problema, mas o caminho que leva a mesma. Linguagem de Programação 8/15/15 3 Algoritmos (cont´) • Exemplos de algoritmos – Mascar chiclete; – Falar com alguém através um telefone público; – Somar três números; – Fazer sanduíche; – Trocar lâmpada; – Sacar dinheiro em um banco 24 horas. • OBS.: existem outras formas de fazer essas atividades Linguagem de Programação Programa de Computador • É um algoritmo escrito em uma linguagem de computador. Linguagem de Programação 8/15/15 4 Programa de computador (cont´) • Exemplo de linguagens: – C, JAVA, Pascal, Fortran, Cobol, Lisp, Prolog. • Obs.: Não adianta conhecer a linguagem se você não construir o algoritmo. Linguagem de Programação Programa de Computador (cont´) • Principais elementos das linguagens – Instruções de Entrada/Saída – Instruções de cálculo – Instruções lógicas e de comparação – Instruções de armazenamento/pesquisa de dados. Linguagem de Programação 8/15/15 5 Método para construir algoritmo • Entender o problema • Definir dados de entrada • Definir o processamento (responsável pela transformação dos dados de entrada em dados de saída) • Definir dados de saída • Construir algoritmo usando a notação adequada • Validar o algoritmo (Testar) Linguagem de Programação 4 Etapas Problema Especificação Algoritmo Programa Problema Computador (Ferramentas) ???? Identificar os dados, resultados e relações Passos a seguir para obter a solução Linguagem de Programação 8/15/15 6 Especificação • Adaptação do problema à capacidade disponível para a sua resolução... • É necessário conhecer a “capacidade disponível”... • Técnicas: decomposição e abstracção Linguagem de Programação Decomposição Problema Parte 1 Parte 2 Parte 3 Sol 1 Sol 2 Sol 3 Solução Linguagem de Programação 8/15/15 7 Decomposição (cont´) • Identificação de “componentes” independentes, partes do problema, de solução conhecida ou mais tratável • Se assim for, posso solucionar as componentes, e pela resolução conjunta solucionar o problema Linguagem de Programação Abstração Identificação das características chave entre o problema novo e outro(s) já conhecido(s) /resolvido(s) Linguagem de Programação 8/15/15 8 Tipos de algoritmos: Pseudo-código Programa TESTE Var a, b,c: inteiro; Início Leia (a, b, c); Escreva (a,b,c); Fim Linguagem de Programação Exemplo Elaborar um algoritmo para determinar as raízes de uma equação do 2º grau. Apresentá-lo em linguagem algoritmica. • Seja P2=ax^2+bx+c. Dados os valores de P2, a,b,c, determine o valor de x Linguagem de Programação 8/15/15 9 Exercícios (1) Elaborar um algoritmo que receba pelo teclado 2 números inteiros, calcule e mostre o dobro do primeiro e o triplo do segundo. Explicitá-lo na forma de fluxograma e em linguagem algoritmica. Linguagem de Programação Exercícios (2) Elaborar um algoritmo para converter uma temperatura em graus Celsius para Fahrenheit. Escrever o fluxograma e também em linguagem algoritmica. Obs: Temp Fahrenheit = (Temp Celsius * 1.8) + 32 Linguagem de Programação 8/15/15 10 Exercícios (3) Elaborar um algoritmo para converter um valor em horas e minutos, num formato apenas em minutos. Escrever o fluxograma e também em linguagem algoritmica. Linguagem de Programação Exercícios (4) ! Faça um pseudocódigo que receba pelo teclado as notas de duas provas, um trabalho teórico/prático, um trabalho interdisciplinar e uma prova final. Calcule e mostre a média, sabendo que: - 2 Provas: peso 4.0 - 1 Trabalho Prático: peso 2.0 - 1 Trabalho Interdisciplinar: peso 1.0 - Prova Final: peso 3.0 Linguagem de Programação 8/15/15 11 Exercícios (5) ! Faça um pseudocódigo que receba o valor do raio de uma esfera o seu volume, basendo-se nas fórmulas dadas. Mostre o valor da área e o valor do volume da esfera. Utilize para π o valor de 3,14. ! AREA = 4 π R2 ! VOLUME = 4/3 πR3 Linguagem de Programação Exercícios (5) - Solução algoritmo “area_da_esfera” var // declaração de variáveis VPi, raio, area, volume: real; inicio // constante VPiß 3.14; // leitura do raio da esfera leia (raio); // cálculo da área e volume da esfera area ß 4 * VPi * raio * raio; ou area ß 4 * 3.14 * raio * raio; volume ß 4/3 * VPi * raio * raio * raio ; // comunicação do resultado escreva (“Area: ”, area); escreva (“Volume: ”, volume); fimalgoritmo Linguagem de Programação 8/15/15 12 Estrutura Seqüencial - Exemplo Exemplo Algoritmo que lê dois dados, calcula a média e imprime o resultado Algoritmo Media var num1, num2, media: inteiro; Início leia (num1) leia (num2) media ← (num1 + num2) / 2 escreva (media) FimAlgoritmo #include <stdio.h>; void main () { int num1, num2, media; scanf ("%d", &num1); scanf ("%d", &num2); media = (num1 + num2) / 2; printf("%d", media); } Linguagem de Programação 24 Entrada de Dados Função scanf scanf ("formatos", &var1, &var2,...) Exemplos: int i, j; float x; char c; scanf("%d", &i); scanf("%d %f", &j, &x); scanf("%c", &c); scanf("%s", &nome); %d inteiro %f float %lf double %c char %s palavra Linguagem de Programação 8/15/15 13 Saída de Dados Função printf printf ("formatos", var1, var2,...) Exemplos: int i, j; float x; char c; printf("%d", i); printf("%d, %f", j, x); printf("%c", c); printf("%s", nome); %d inteiro %f float %lf double %c char %s palavra Linguagem de Programação Operadores Matemáticos Decrementa em 1 o valor de x x-- -- Incrementa em 1 o valor de x x++ ++ Resto da divisão de x por y x % y % Divide x por y x / y / Multiplica x e y x * y * Subtrai y de x x – y - Soma x e y x + y + Comentário Exemplo Operador Linguagem de Programação 8/15/15 14 Entrada e Saída Linguagem de Programação Exemplo #include <stdio.h> #include <stdlib.h> main() { double n1, n2, nf, media; scanf ("%lf %lf %lf",&n1, &n2, &nf); media=(n1+n2+nf)/3; printf ("%lf",media); if (media >= 7) { printf(“Aluno Aprovado”); } else { printf(“Aluno Reprovado”); } system("PAUSE"); } Linguagem de Programação 8/15/15 15 Referências 1. S/N. “Algoritmos e Técnicas”. CEFET/RN. (disponível na web) 2. Silva, V. “Método de Programação”. La Salle. (disponível na web) 3. S/N. “Lógica e Linguagem”. Faculdade Santissimo Sacramento. (disponível na web) 4. Costa, B. “Algoritmos – Aula I”. UFRN. (disponível na web) 5. Costa, B. “Algoritmos – Aula II”. UFRN. (disponível na web) Prof. Dr. Paulo Nazareno Maia Sampaio Aula 1 Linguagem de Programação
Compartilhar