A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Técnicas de Programação - TPR

Apresentações semelhantes


Apresentação em tema: "Técnicas de Programação - TPR"— Transcrição da apresentação:

1 Técnicas de Programação - TPR
Edson Lourenço da Aparecida

2 Objetivos do Curso Codificar algoritmos utilizados para solução de problemas através do conhecimento dos recursos de uma linguagem de programação imperativa e bloco-estruturada. Desenvolver habilidades cognitivas e sociais intrínsecas num projeto de trabalho inter e multidisciplinar. Dominar o processo de solução de problemas através do desenvolvimento de programas de computador utilizando uma linguagem de programação. Pré-requisito: Conhecer aspectos básicos de operação de um sistema operacional e seus principais comandos.

3 Programa Noções básicas de Algorítmos
Características de linguagem imperativa e bloco-estruturada Estrutura básica de um programa Tipos de dados Declaração de variáveis e constantes Expressões aritméticas: operadores artiméticos e prioridade Comando de atribuição Expressões lógicas: operadores lógicos, tabela verdade, Prioridade Comandos de entrada e saída Estruturas de controle de fluxo: seqüência, seleção, repetição Modularidade Conceitos e vantagens de utilização, Escopo de variáveis`(locais e globais), Tipos de subprogramas (procedimentos e funções), Passagem de parâmetros (por valor e por referência), Programação modular (funções) Tipos de dados estruturados Registro, Vetores e Matrizes, Vetores e Matrizes de Registros, Arquivos Textos e Binários Ponteiros Noções Básicas, Alocação Dinâmica

4 Avaliação G1 = (P1 + P2 + (MT+TF)) / 3 Onde: P1 & P2: Prova escrita
MT: média dos trabalhos de implementação a serem solicitados ao longo do semestre TF: nota do trabalho prático final MT+TF = 100 , P1=100 e P2=100 pontos

5 Avaliação Presença Aprovação sem PF: PF GF Aprovação:
75% de presença é necessário para aprovação Aprovação sem PF: G1 >=7.0 & 75% de presença PF Prova escrita, abordando os conteúdos de TODAS as unidades GF GF = G1 + PF/2 Aprovação: GF >= 5.0 & 75% de presença

6 Técnicas de Programação - TPR
Conceitos básicos

7 Sumário Algoritmo x Programa Linguagens de Programação Abstração
Classes de Linguagens de Programação Relação entre Algoritmos e Programação

8 Algorítmo Definições:
“Um conjunto finito de regras que provê uma seqüência de operações para resolver um tipo de problema específico” [KNUTH] “Seqüência ordenada, e não ambígua, de passos que levam à solução de um dado problema” [TREMBLAY] Ou seja: Um algoritmo é como uma “receita de bolo” para o computador, onde estão definidos todos os comandos que ele deve executar para alcançar um objetivo

9 Algorítmo Um algoritmo é uma forma de indicar o caminho para a solução dos mais variados problemas Em geral, existem muitos caminhos que levam à solução de um problema Portanto, para cada problema existe mais do que um algoritmo [Orth 2001]

10 Algorítmos: Exemplos Instruções para se utilizar um aparelho eletrodoméstico; Uma receita para preparo de algum prato; Guia de preenchimento para declaração do imposto de renda; A regra para determinação de máximos e mínimos de funções por derivadas sucessivas; A maneira como as contas de água, luz e telefone são calculadas mensalmente; etc.

11 Algorítmos: Importância
O computador, por si só, não tem vontade própria ! É necessário especificar uma seqüência de passos lógicos para que o computador possa executar uma tarefa qualquer. Com uma ferramenta algorítmica, podemos conceber uma solução para um dado problema, independendo de uma linguagem específica e até mesmo do próprio computador

12 Algorítmos: Características
ter fim; não dar margem à dupla interpretação; capacidade de receber dado(s) de entrada do mundo exterior; poder gerar informações de saída para o mundo externo ao do ambiente do algoritmo; ser efetivo: todas as etapas especificadas no algoritmo devem ser alcançáveis em um tempo finito.

13 Aprendendo Algorítmos
Tem que Praticar !!!

14 Algorítmos X Programas
Um programa é a formalização de um algoritmo em uma determinada linguagem de programação, segundo suas regras de sintaxe e semântica, de forma a permitir que o computador possa entender a seqüência de ações. Programa é um software que diz para o computador o que o hardware deve fazer: Ler e escrever em arquivos do HD Exibir informações no monitor ....

15 Linguagem de Programação
Um conjunto de termos e de regras que permitem a formulação de instruções a um computador C, C++, Delphi, Pascal,Java, etc. Regras Sintáticas: conjunto de regras que determina quais construções são corretas para formação dos programas; preocupa-se com a “forma” dos programas Regras Semânticas: descrição da maneira que um programa sintaticamente correto é interpretado ou executado; preocupa-se com o “significado” dos programas

16 Classes de Linguagens de Programação
Considerando o nível de abstração, identifica-se três classes de linguagens de programação: Linguagem de Máquina Baseada num código binário Exemplo:  (soma) (reg1) ($108) Linguagem de Baixo Nível Códigos binários são substituídos por mnemônicos Exemplo LOAD R2, $108 ADD R1, R2 Linguagem de Alto Nível Mais próxima da linguagem do homem, não requer conhecimento da arquitetura da máquina e é portável, isto é, independente da máquina a = a + 10; C, C++, Pascal, Java, LISP são exemplos de linguagens de alto nível

17 Processo de Criação e Execução de um Programa
Os computadores, existentes hoje em dia são capazes de executar somente programas em linguagem de baixo nível, a Linguagem de Máquina. Linguagens de Máquina são projetadas levando-se em conta os seguintes aspectos : rapidez de execução de programas; custo de sua implementação; e flexibilidade com que permite a construção de programas de nível mais alto. Por outro lado, linguagens de programação de alto nível são projetadas em função de : facilidade de construção de programas; e confiabilidade dos programas.

18 Processo de Criação e Execução de um Programa
O PROBLEMA: Como a linguagem de nível mais alto pode ser implementada em um computador, cuja linguagem é bastante diferente e de nível mais baixo ? SOLUÇÃO: Através da tradução de programas escritos em linguagens de alto nível para a linguagem de baixo nível do computador. Tipos de programas tradutores : Montadores, Interpretadores e Compiladores.

19 MONTADOR Efetua a tradução de linguagem de montagem ( Assembly ) para a linguagem de máquina, da seguinte forma: obtém a próxima instrução do Assembly; traduz para as instruções correspondentes em linguagem de máquina; executa as instruções em linguagem de máquina; e repete o passo 1 até o fim do programa.

20 INTERPRETADOR Efetua a tradução de uma linguagem de alto nível para linguagem de máquina da seguinte forma: obtém próxima instrução do código-fonte em linguagem de alto nível; traduz para as instruções correspondentes em linguagem de máquina; executa as instruções em linguagem de máquina; e repete o passo 1 até o fim do programa

21 COMPILADOR Efetua a tradução de todo o código-fonte em linguagem de alto nível para as instruções correspondentes em linguagem de máquina, gerando o código-objeto do programa. Em seguida é necessário o uso de um outro programa ( Link-Editor ) que é responsável pela junção de diversos códigos-objeto em um único programa executável.

22 COMPILADOR EDIÇÃO COMPILAÇÃO LINK-EDIÇÃO CÓDIGO-FONTE CÓDIGO-OBJETO
PROGRAMA EXECUTÁVEL ALGORITMO

23 Possibilidades de Erros em Programas
Erros de Compilação : erros de digitação e de uso da sintaxe da linguagem. Erros de Link-Edição : erro no uso de bibliotecas de sub-programas necessárias ao programa principal. Erros de Execução : erro na lógica do programa (algoritmo).

24 Programas: Critérios de Qualidade
Integridade: os resultados gerados pelo processamento do programa devem estar corretos; Clareza: refere-se à facilidade de leitura do programa. Leitura por outro programador, manutenção Simplicidade: a clareza e precisão de um programa são normalmente melhoradas tornando seu entendimento o mais simples possível, consistente com os objetivos do programa. Eficiência: Um programa deve ter desempenho SUFICIENTE para atender às necessidade do problema e do usuário, bem como deve utilizar os recursos de memória de forma moderada, dentro das limitações do problema; Modularidade: consiste no particionamento do programa em módulos menores bem identificáveis e com funções específicas, de forma que o conjunto desses módulos e a interação entre eles permite a resolução do problema de forma mais simples e clara; e Generalidade: é interessante que um programa seja tão genérico quanto possível de forma a permitir a reutilização de seus componentes em outros projetos.

25 Programação: Etapas Especificar claramente o problema:
o que deve ser resolvido; Projetar uma solução (algorítmo) para solucionar o problema: transformar o que deve ser resolvido em como resolvê-lo; Escrever a solução em uma linguagem de programação (programa): editar um arquivo em uma linguagem de programação; Testar a solução (programa).

26 Estrutura de um Programa
Cabeçalho Esta área é utilizada para se fazer a identificação do programa com um nome. Área de Declarações: Esta área é utilizada para validar o uso de qualquer tipo de identificador que não seja predefinido. Ex: declaração das variáveis que serão utilizadas durante a execução de um programa, bem como, também o seu tipo. Corpo Área onde programa propriamente dito está escrito Tem início e fim definidos através de comandos de delimitação.

27 Exemplo Desenvolver um algorítmo que calcule do dobro de um determinado valor e apresente o resultado obtido.”

28 Etapas Ler o valor a ser multiplicado e guardar na variável NUM;
Efetuar a multiplicação da variável NUM por 2 e guardar na variável RESULTADO; Apresentar o valor da variável RESULTADO

29 Linguagem Algorítmica
Algoritmo CALCULA_DOBRO Variaveis Inteiro NUM,RESULTADO; início Ler NUM; DOBRO = 2 * NUM; Escrever RESULTADO; fim

30 Variáveis É uma região previamente identificada, que tem por finalidade armazenar informações (dados na memória) de um programa temporariamente Uma variável armazena apenas um valor por vez. Sendo considerado como valor o conteúdo de uma variável, este valor está associado ao tipo de dado da variável.

31 Operação de Atribuição
Permite que se forneça um valor a uma certa variável. Se for atribuído uma expressão à variável, será armazenado o resultado daquela expressão. Se for atribuído uma outra variável, será armazenado o conteúdo daquela variável.

32 Exemplos A = 2 NOME = 'João‘ A = B + C B = A SENHA = 'X3Y9‘
NOTA = NOTA – 1 NOTA = 10 C = 1 / 3 X = 2.5

33 Operações de Entrada e Saída
Comando ler nos permite ler valores dados atribuindo-os à variáveis indicadas; Comando escrever nos permite mostrar os resultados. ler NOTA ler A,B,C escrever NOTA+2 ler NOM escrever A,B

34 Estruturas Básicas de Controle
Sequenciação Seleção; e Repetição

35 Estrutura de Seqüenciação
Define que os comandos deverão ser executados numa seqüência linear. Leitura: seguindo-se o texto em que estão escritos, de cima para baixo, um comando após o outro. INICIOFIMComando-1Comando-2Comando-n Exemplo inicio comando-1; comando-2; comando-n fim

36 Exercícios Determine os valores finais de A,B, e C considerando-se a seqüencia de comandos a seguir:: A = 0; B = 1; C = A + B; A = A + 1; B = A + B + C Desenvolver um programa que efetue a leitura de dois valores numéricos. Faça a operação de adição entre os dois valores e apresente o resultado obtido.”

37 Estruturas de controle


Carregar ppt "Técnicas de Programação - TPR"

Apresentações semelhantes


Anúncios Google