Baixe o app para aproveitar ainda mais
Prévia do material em texto
CURSO: SISTEMAS DE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 1 AULA 2: CONSTRUÇÃO DE ALGORITMOS EM PSEUDOCODIGO Para iniciar um algoritmo precisamos dividir o problema em três fases fundamentais : ENTRADA: Dados que alimentam o sistema, informações inseridas pelo usuário. PROCESSAMENTO: Cálculos e manipulações dos dados de entrada. SAÍDA: Resultado obtido do processamento dos dados. ENTRADA PROCESSAMENTO SAÍDA Estrutura de um algoritmo: Na especificação de um algoritmo em Pseudocódigo é necessário o estabelecimento de uma estrutura a fim de organizar o mesmo em seções. Os algoritmos desenvolvidos em pseudocódigo possuem a seguinte estrutura: ALGORTIMO <nome do algoritmo> <área de declarações> INÍCIO <área de instruções> FIM Dentro desta estrutura tem-se as seguintes definições e espaços para códigos específicos: • ALGORTIMO: palavra reservada para indicar o início de um algoritmo; • nome do algoritmo: é somente um nome simbólico dado ao algoritmo com a finalidade de distingui-lo dos demais; • área de declarações: espaço designado para a declaração das informações (variáveis, constantes, tipos de dados do usuário, procedimentos e funções) que serão usadas na seqüência lógica de instruções do algoritmo; CURSO: SISTEMAS DE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 2 • INÍCIO e FIM: palavras reservadas que delimitam o início e o fim da seqüência lógica de instruções ou do algoritmo; e • área de instruções: espaço designado para a especificação da seqüência lógica de instruções do algoritmo que será executada para se atingir seu objetivo. INSTRUÇÕES/COMANDOS PRIMITIVOS: A manipulação de dados por um algoritmo é feita através da especificação de instruções que os manipulam. Dentro o conjunto de instrução do pseudocódigo, ou de uma linguagem de computador, são consideradas instruções ou comandos primitivos aquelas que efetuam as tarefas essenciais para a operação dos computadores, como a entrada e saída de dados e a movimentação dos mesmos para a memória. São eles, os comandos de atribuição e de entrada e saída de dados. COMANDO DE ATRIBUIÇÃO: Quando definimos uma variável, para a manipulação por nosso algoritmo, é natural que queiramos atribuir a ela algum valor. Uma das formas de atribuir um valor a uma variável e, consequentemente colocar este dado para dentro da memória do computador, é através de uma atribuição direta do valor desejado para a variável. Para tanto, utiliza-se o símbolo de atribuição ( ← ) que indica que o valor (ou o resultado da avaliação de uma expressão) que está à direita do símbolo de atribuição será colocado na posição de memória indicada pela variável que está a esquerda do símbolo, conforme a sintaxe abaixo: Nome da Variável ← Valor ou Expressão Deste momento em diante, o acesso àquele valor se dará através da invocação do nome da variável. Deve-se ter em mente que, como uma variável possui um tipo de dado associado, o valor ou resultado da avaliação de uma expressão a ser atribuido àquela variável deverá ser, obrigatoriamente, do tipo de dado definido para a variável. Uma exceção a esta restrição é o conceito de coerção, ou seja, a possibilidade de associação de um valor inteiro a uma variável do tipo numérico real. CURSO: SISTEMAS DE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 3 Como exemplo poderíamos ter as seguintes atribuições: A ← V; Resultado ← 5; B ← 5 + 13/4; Sexo ← "F"; Dolar ← 1.98; Nome ← "JOSE"; Observação: Na linguagem de programação C++, o comando de atribuição é feito pelo = (igual) e em Pascal é feito pelo := (dois pontos igual). Exemplo de atribuição: Resultado ← 5; COMANDOS DE ENTRADA E SAÍDA DE DADOS: O computador não é uma máquina isolada e precisa interagir com o mundo exterior, quer seja para receber dados fornecidos por um usuário, colocando-os na memória, quer seja para fornecer ao usuário os resultados de seus processamentos. Isto é feito através dos comandos primitivos de entrada e saída de dados. Os comandos de saída de dados são a forma pela qual informações contidas em sua memória são colocadas em um dispositivo de saída (vídeo, impressora, etc) para que o usuário possa apreciá-las. A sintaxe de um comando de saída é dada abaixo: ESCREVA “ variável/constante/expressão/literal “; Este comando gera uma saída no vídeo que poderá ser o valor de uma variável, uma constante, o resultado da avaliação expressão, um literal (conjunto de caracteres delimitados por aspas) ou qualquer combinação deste elementos deste que separados por vírgula. Por outro lado, os comandos de entrada de dados são a forma pela qual dados são fornecidos ao computador através de dispositivos de entrada (inicalmente somente através do teclado) e armazenados em sua memória, nas variáveis especificadas no comando de entrada. Desta forma, pode ser entendido como o inverso de um comando de saída de dados. A sintaxe de um comando de entrada de dados é dada abaixo: CURSO: SISTEMAS DE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 4 LEIA lista de variáveis; A partir deste ponto, tem o leitor os comandos básicos necessários para especificar as três fases de um algoritmo (Entrada, Processamento e Saída), podendo assim desenvolver seus primeiros exercícios. Observações: - Na linguagem de programação C++, o comando de entrada é o cin>> e o comando de saída é o cout<< - Na linguagem de programação Pascal, o comando de entrada é o read ou readln e o comando de saída write ou writeln ESTRUTURA SEQUÊNCIAL SIMPLES Um algoritmo em estrutura sequêncial exprime linhas de comando que serão executadas apenas uma vez, uma após a outra. Apenas a estrutura sequêncial em um algoritmo terá uma saída previsível, porém, combinada com as estruturas condicionais e de repetição tornarão essenciais. Exemplo: algoritmo exemplo inteiro A, B, C; inicio escreva “Digite um valor: “; leia A; escreva “Digite outro valor: “; leia B; C ← A + B; Escreva “A soma de “, A, “ e “, B, “ = “, C; fim Exemplo usando a linguagem de programação C++: #include <iostream> //instrui o compilador a usar a biblioteca padrão using namespace std; //uso do namespace padrão std (usado no cin , cout) int main() //cabeçalho da função principal (main) { //inicio da função CURSO: SISTEMAS DE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 5 int A, B, C; //declaração de três variáveis do tipo inteiro cout<< “Digite um valor: “; //escreve na tela o texto entre aspas cin>>A; //le um valor do teclado e armazena na variável indicada (A) cout<< “Digite outro valor: “; cin>> B; //soma os valores que estão armazenados nas variáveis A e B e armazena em C C = A + B; cout<< “A soma de “<< A<< “ e “<< B<< “ = “<< C; system(“pause”); //faz com que o sistema fique pausado return 0; // ela retorna o controle para o sistema operacional. } //fim da função Comentários em C++ Um comentário é um texto adicionado para explicar (para você ou outros programadores) o que está acontecendocom seu código. O comentário não tem efeito; serve apenas como documentação. Há dois tipos de comentários em C++. O comentário de barra dupla (//), que chamaremos de comentário no estilo C++, manda o compilador ignorar tudo que vem depois das barras até o final da linha. O comentário de barra-asterisco (/*), no estilo C, manda o compilador ignorar tudo o que vem depois até que uma marca de comentário de asterisco-barra (*/) seja detectada. Diretivas de compilação: As diretivas de compilação include e define, são comandos processados durante a compilação. Elas incluem as bibliotecas e constantes que serão anexadas quando o programa executável for criado. As bibliotecas agrupam funções de acordo com as finalidades, pois se não fizéssemos uso delas, os programas seriam muito extensos e lentos. Sintaxes: #include <nome da biblioteca> #include “nome da biblioteca” CURSO: SISTEMAS DE INFORMAÇÃO DISCIPLINA: ALGORITMOS PROFESSORA: GELLARS TAVARES Algoritmos – Professora Gellars Tavares – ano 2010 6 Onde nome da biblioteca é o nome da biblioteca que se deseja incluir. Estando entre os sinais <e> significa que está no diretório padrão e ficando entre “, significa que precisamos fornecer o caminho onde se encontra a biblioteca. Exemplos de bibliotecas: FUNÇÕES NUMÉRICAS Biblioteca (cmath) ceil(x) Arredonda valor real para cima (ex: ceil(3,2) =4) floor(x) Arredonda valor real para baixo (ex: ceil(3,2) =3) sin(x) seno de um ângulo em radianos cos(x) co-seno de um ângulo em radianos tan(x) Tangente de um ângulo em radianos abs(x) Valor absoluto do número inteiro fabs(x) Valor absoluto do número real exp(x) número e elevado a potência x log(x) logaritmo natural de x log10(x) Logaritmo decimal de x sqrt(x) raiz quadrada do número pow(base,ex p) Calcula x elevado a y FUNÇÕES CHAR Biblioteca (cstring) strcpy(s1, s2) Para armazenar uma string literal numa variável string - ou copiar o conteúdo de uma variável string para outra strcat(s1, s2) Concatena s2 no final da s1. strcmp(s1,s2) compara, <0 se s1<s2, 0 se s1==s2, >0 se s1>s2 strncpy(s1, s2,n) copia ate n caracteres strlen(s) tamanho de s sem contar com \0 endereço do primeiro / ultimo caractere c em s ou 0 strchr(s,c) strrchr(s,c) strstr(s,sub) endereço do primeiro substring em s ou 0 strupr(string) converte uma string para maiúscula strlwr (string) converte uma string para minúscula Biblioteca (ctype) toupper(char) Converte um único caractere para maiúsculo tolower(char) Converte um único caractere para minúsculo
Compartilhar