Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE * / 22 ALGORITMOS E PROGRAMAÇÃO CONCEITOS INICIAIS PROFESSOR: EDILSON LIMA UNIDADE 1 EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 1 CONCEITOS INICIAIS 1.1 Definição de algoritmos 1.2 Formas de representação 1.3 Tipos de dados, variáveis e constantes 1.4 Instruções primitivas 1.5 Linguagem C ROTEIRO PROFESSOR: EDILSON LIMA 0*/60 ROTEIRO UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 0*/60 1 CONCEITOS INICIAIS RACIOCÍNIO LÓGICO é um conjunto de estudo que visa a determinar os processos intelectuais que são as condições gerais do conhecimento, mais podemos ser mais técnico e dizer que é sequência coerente, regular e necessária de acontecimentos, de coisas ou fatos, ou um esquema sistemático que define as interações com critérios e princípios formais de raciocínio e pensamento. UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 04/60 1 CONCEITOS INICIAIS enquanto “existe um quadrado livre e não tenha vencido (ou perdido) o jogo” então “espere a jogada do oponente, continue depois”; se “existe um quadrado livre” então se “o centro está livre” então “jogue no centro”; senão se “o oponente tem dois quadrados quaisquer em linha com o terceiro desocupado” então “jogue nesse quadrado desocupado”; senão se “há algum canto livre” então jogue nesse canto; fim se; fim se; fim se; fim se; fim enquanto; UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 05/60 1.1 Definição de algoritmos Podemos dizer que é uma proposta duvidosa, que pode ter numerosas soluções, ou questão não resolvida e que é objeto de discussão; ou É uma questão que foge a uma determinada regra, ou melhor, é o desvio de um percurso, o qual impede de atingir com sucesso um determinado objetivo com eficiência e eficácia; UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 08/60 1.1 Definição de algoritmos ALGORITMOS É um conjunto de instruções ou comandos que, quando executados , levam a um conjunto finito de ações. É um conjunto ordenado de instruções que quando seguidas desempenham uma tarefa especifica. UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 08/60 1.1 Definição de algoritmos ALGORITMOS Programas são formulações concretas de algoritmos abstratos, baseados em representações e estruturas específicas de dados. A formulação de um algoritmo geralmente consiste em um texto contendo comandos (instruções) que devem ser executados numa ordem prescrita. UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 09/60 1.1 Definição de algoritmos A grande dificuldade na concepção e no entendimento de algoritmos é o problema do relacionamento desses aspectos, ou seja: como entender (“visualizar”) as estruturas dinâmicas das possíveis execuções do algoritmo a partir da estrutura estática do texto do algoritmo. Qual é o padrão de comportamento utilizado para gerar a estrutura abaixo ou qualquer outra com a mesma estrutura? 1, 5, 9, 13, 17, 21, 25? UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 10/60 1.1 Definição de algoritmos Um algoritmo deve ser determinístico, isto é, dadas as mesmas condições iniciais deve produzir, depois de executado, os mesmos resultados. Criar um algoritmo para arrumar livros na biblioteca. UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 12/60 1.1 Definição de algoritmos PROGRAMAS E ESTRUTURAS DE DADOS Uma linguagem de programação é uma técnica de notação para programar, com a intenção de servir de veículo para: Expressão de raciocínio algoritmo. Execução automática de um algoritmo por um computador. BUSCANDO... Facilitar a escrita dos programas; Facilitar a leitura (o entendimento) dos programas; Permitir a verificação a priori dos programas; Facilitar a manutenção e modificação dos programas. UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 07/60 1.1 Definição de algoritmos Itens importante para uma programação estruturada: Escrever as instruções em sequencias ligadas entre si apenas por estruturas sequencias, repetitivas ou de selecionamento; Escrever instruções em grupos pequenos e combiná-los; Distribuir em módulos o problema entre os trabalhadores sob a supervisão de um gerente de tarefas ou analista do projeto; e Revisar o trabalho executando passo a passo o que a aplicação deve executar. UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 14/60 1.1 Definição de algoritmos Desenvolvimento Top-Down; Modularização; Estrutura de Controle (sequência simples, comando condicional, comando repetitivo); Motivação: Problemas na Produção de Softaware; Confiabilidade X Complexidade; Manutenibilidade; Importância da Documentação; Fluxo de Controle em Algoritmos. A seguir um exemplo utilizando sequência, alternativa, indentação e comentários. UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 15/60 1.1 Definição de algoritmos //informe valores para x, y e a se a > 15 então //(a > 15) x = x*4; y = y+3; senão se a > 10 então //(10 < a ≤15) x = x * 3; y = y + 2; senão se a > 5 então //(5 < a ≤10) x = x * 2; y = y + 1; senão //(a ≤5) x = 0; y = 0; fim se; fim se; fim se; UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 11/60 1.1 Definição de algoritmos Observação: O símbolo de sequenciamento ‘;’ (ponto e vírgula) representa a mais simples das estruturas de (fluxo de) controle. O símbolo possui duas funções: Separar um comando de outro; Indicar a sequência que os comandos devem ser executados, conforme eles sejam escrito. UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 1.2 Formas de representação Existem diversas formas de representação de algoritmos, mas não há um consenso com relação à melhor delas. Dentre as formas de representação de algoritmos mais conhecidas podemos citar: DESCRIÇÃO NARRATIVA: Nesta forma de representação os algoritmos são expressos diretamente em linguagem natural. Exemplo: Cálculo da média de um aluno: Obter as suas 2 notas de provas Calcular a média aritmética Se a média for maior que 7, o aluno foi aprovado, senão ele foi reprovado 16/60 UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 1.2 Formas de representação FLUXOGRAMA CONVENCIONAL: É uma representação gráfica de algoritmos onde formas geométricas diferentes implicam ações (instruções, comandos) distintos. Tal propriedade facilita o entendimento das idéias contidas nos algoritmos o que justifica sua popularidade. Esta forma é aproximadamente intermediária à descrição narrativa e ao pseudocódigo (subitem seguinte), pois é menos precisa que a primeira e, mas no entanto, não se preocupa com detalhes de implementação do programa, como o tipo das variáveis usadas. Neste tipo de algoritmo são utilizado figuras geométricas para representar operações de saída de dados realizadas em dispositivos distintos. A seguir alguns exemplos: */60 UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 1.2 Formas de representação Figura 1: Principais formas geométricas usadas em fluxogramas */60 UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 1.2 Formas de representação Figura 2: Principais formas geométricas usadas em fluxogramas Exemplo de cálculo da média de um aluno sob a forma de um fluxograma. */60 UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 20/60 1.2 Formas de representação PSEUDOCÓDIGO OU PORTUGUÊS ESTRUTURADO: essa representação de algoritmos é rica em detalhes, como a definição dos tipos das variáveis, funções, procedimento, vetores, matrizes e outros e por assemelhar-se bastante à forma em que os programas são escritos, encontra muita aceitação. Esta representação pode ser facilmente traduzida em uma linguagem de programação. A forma geral da representação de um algoritmo na forma de pseudocódigo é a seguinte: Algoritmo <nome_do_algoritmo> <declaração_de_variáveis> <subalgoritmos> início <corpo do algoritmo> fim UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 21/60 1.2 Formas de representação Algoritmo é uma palavra que indica o início da definição de um algoritmo em forma de pseudocódigo. <nome_do_algoritmo> é um nome simbólico dado ao algoritmo com a finalidade de distingui-los dos demais. <declaração_de_variáveis> consiste em uma porção opcional onde são declaradas as variáveis globais usadas no algoritmo principal e eventualmente, nos subalgoritmos. <subalgoritmos> consiste de uma porção opcional do pseudocódigo onde são definidos os subalgoritmos. Início e Fim são respectivamente as palavras que delimitam o início e o término do conjunto de instruções do corpo do algoritmo. UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 22/60 1.2 Formas de representação Exemplo: Algoritmo Calculo_Media var N1, N2, MEDIA: real; início leia N1, N2; MEDIA ← (N1 + N2) / 2; se MEDIA >= 7 então escreva “Aprovado”; se não escreva “Reprovado”; fim se; fim. UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 24/60 Computador nada mais é que uma ferramenta utilizada para solucionar problemas que envolvam a manipulação de informações, sendo que essas informações classificam-se a grosso modo em dois tipos básicos: DADOS e INSTRUÇÕES. Tipos de dados Os dados armazenados ou processados em um computador podem ser classificados de acordo com o tipo de informação neles contida. As instruções, que comandam o funcionamento da máquina e determinam a maneira como devem ser tratados os dados. As instruções são específicas para cada modelo de computador, pois são funções do tipo particular de processador utilizado em sua implementação. Os dados propriamente ditos, que correspondem à porção das informações a serem processadas pelo computador. 1.3 Tipos de dados, variáveis e constantes UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA */60 Variáveis Uma das características mais poderosas de uma linguagem de programação é a habilidade de manipular variáveis. Uma variável é um nome que se refere a um valor. Os programadores geralmente escolhem nomes significativos para suas variáveis, pois os nomes documentam para o que a variável é usada. 1.3 Tipos de dados, variáveis e constantes UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA Nomenclatura, declaração e inicialização de variáveis Toda variável possui um nome que tem a função de diferenciá-la das demais. Cada linguagem de programação estabelece suas próprias regras de formação de nomes de variáveis. Adotaremos nesta disciplina as seguintes regras: um nome de variável deve necessariamente começar com uma letra; um nome de variável não deve conter nenhum símbolo especial exceto a sublinha (_). Todas as variáveis utilizadas em algoritmos devem ser definidas antes de serem utilizadas. numa mesma linha poderão ser definidas uma ou mais variáveis do mesmo tipo. Para tal, deve-se separar os nomes das mesmas por vírgulas; variáveis de tipos diferentes devem ser declaradas em linhas diferentes. */60 1.3 Tipos de dados, variáveis e constantes UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA Nomenclatura, declaração e inicialização de variáveis Exemplo de definição de variáveis: var NOME : texto[10]; IDADE : inteiro; SALARIO : real; TEM FILHOS : lógico; Neste exemplo existem erros identifique-os. */60 1.3 Tipos de dados, variáveis e constantes UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA */60 Tipos de dados Os dados são representados pelas informações a serem tratadas (processadas) por um computador. Essas informações estão caracterizadas por três tipos de dados: Dados numéricos (inteiros e reais); Dados caracteres ou texto; e Dados lógicos. 1.3 Tipos de dados, variáveis e constantes UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA */60 Dados numéricos (inteiros e reais) Tipos inteiros São considerados inteiros aqueles valores numéricos positivos ou negativos. Tipos reais São considerados reais os valores numéricos positivos e negativos sendo números fracionários ou inteiros. 1.3 Tipos de dados, variáveis e constantes UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA Dados caracteres ou texto Tipos caracteres Caracteres ou sequências de caracteres (strings) são formados por letras, números e símbolos especiais, representando dados alfanuméricos. Na linguagem C, por exemplo permite o uso de dados alfanumérico de duas formas: • um caractere delimitado por apóstrofos: ‘x’ • uma sequência de caracteres delimitadas por aspas: “x” */60 1.3 Tipos de dados, variáveis e constantes UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA Dados lógicos Tipos lógicos Os dados do tipo lógico podem assumir somente dois valores: */60 1.3 Tipos de dados, variáveis e constantes UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA Vantagens de utilização de constante Constantes se diferem das variáveis pelo fato das variáveis armazenarem valores temporários. Quer dizer, uma variável é capaz de armazenar um único valor num dado instante de tempo, porém este conteúdo pode ser alterado no decorrer da execução do programa. Já uma constante, ao ser declarada sempre armazenará o mesmo valor, não sendo permitido alterar este valor. As constantes em C pode ser declaradas de qualquer um dos tipos de dados básicos (inteiro, real, caractere e lógico), exemplo: RESPOSTA = 2.43; */60 1.3 Tipos de dados, variáveis e constantes UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA Expressões O conceito de expressão em termos computacionais está intimamente ligado ao conceito de expressão (ou fórmula) matemática, onde um conjunto de variáveis e constantes numéricas relacionam-se por meio de operadores aritméticos compondo uma fórmula que, uma vez avaliada, resulta num valor. Por exemplo, a fórmula de cálculo da área do triângulo é dada por: AREA = ((B x H) / 2); */60 1.3 Tipos de dados, variáveis e constantes UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 1.4 Instruções primitivas Esta fórmula utiliza três variáveis: B e H, que contêm as dimensões do triângulo, e AREA, onde é guardado o valor calculado (resultado da avaliação da expressão). Há, também, uma constante (2) e o operador de multiplicação (x), que aparece duas vezes na expressão. Uma expressão é uma combinação de variáveis, constantes e operadores, e que, uma vez avaliada, resulta num valor. Operadores São elementos funcionais que atuam sobre operandos e produzem um determinado resultado. Por exemplo, a expressão 3 + 2 relaciona dois operandos (os números 3 e 2) por meio do operador (+) que representa a operação de adição. Podem ser classificados em: binários, quando atuam sobre dois operandos. Ex.: os operadores das operações aritméticas básicas (soma, subtração, multiplicação e divisão); */60 UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 1.4 Instruções primitivas unários, quando atuam sobre um único operando. Ex.: quando um valor positivo é multiplicado por (-1), cuja função é inverter o valor. Outra classificação dos operadores é feita considerando-se o tipo de dado de seus operandos e do valor resultante de sua avaliação. Segundo esta classificação, os operadores dividem-se em aritméticos, lógicos e literais. Esta divisão está diretamente relacionada com o tipo de expressão onde aparecem os operadores. Expressões Aritméticas são aquelas cujo resultado da avaliação é do tipo numérico, seja ele inteiro ou real. Somente o uso de operadores aritméticos e variáveis numéricas é permitido em expressões deste tipo. */60 UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 1.4 Instruções primitivas Expressões Aritméticas */60 UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 1.4 Instruções primitivas Expressões Lógicas e suas relações de prioridade Tabela verdade */60 UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 1.4 Instruções primitivas Observações O operador lógico NÃO sempre inverte o valor de seu operando. Ex.: NÃO V = F; e NÃO F = V; Para que a operação lógica OU tenha resultado verdadeiro basta que um de seus operando seja verdadeiro; */60 UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 1.4 Instruções primitivas Operadores relacionais */60 UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 1.4 Instruções primitivas Indentação É um termo usado na área de programação para indicar que um código-fonte está organizado, facilitando assim sua leitura e entendimento. São pequenas regras que contribuem para que seu código fique legível. Instrução Primitiva São os comandos básicos que efetuam tarefas essenciais para a operação dos computadores, como entrada e saída de dados (comunicação com o usuário e com os dispositivos periféricos), e movimentação dos mesmos na memória. Dispositivo de entrada É o meio pelo qual as informações (mais especificamente os dados) são transferidas pelo usuário. Os exemplos mais comuns são: o teclado, o cartão perfurado (já obsoleto), as fitas e os discos magnéticos, entre outros; */60 UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 1.4 Instruções primitivas Dispositivo de saída É o meio pelo qual as informações (geralmente, os resultados da execução de um programa) são transferidas pelo computador ao usuário ou aos níveis secundários de memória. Exemplos: monitor de vídeo, impressora, fitas e discos magnéticos, entre outros; Sintaxe É a forma como os comandos devem ser escritos, a fim de que possam ser entendidos pelo tradutor de programas. A violação das regras sintáticas é considerada um erro sujeito à pena do não-reconhecimento do comando por parte do tradutor; Semântica É o significado, ou seja, o conjunto de ações que serão exercidas pelo computador durante a execução do referido comando. */60 UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 1.4 Instruções primitivas Código Fonte É o conjunto de palavras ou símbolos escritos de forma ordenada, contendo instruções em uma das linguagens de programação existentes, de maneira lógica. São as linhas de programação que formam um software em sua forma original. Inicialmente, um programador "escreve" o programa em uma certa linguagem no nosso casso linguagem C. Resumindo é uma linguagem que o programador entenda (linguagem humana). Para converter essa linguagem é uma linguagem que o computador entenda (linguagem de máquina) usamos o compilador que transforma código fonte em linguagem de máquina. */60 UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 1.4 Instruções primitivas Compilador A compilação consiste na tradução do texto em código fonte (no nosso caso, a linguagem de programação C) para um código que o computador possa ler (Código executável ou linguagem de máquina), constituição essa que nós normalmente não conhecemos. Um compilador é um programa de sistema que traduz um programa descrito em uma linguagem de alto nível(código fonte) para um programa equivalente em código de máquina para um processador. Em geral, um compilador não produz diretamente o código de máquina mas sim um programa em linguagem simbólica (linguagem C) semanticamente equivalente ao programa em linguagem de alto nível. O programa em linguagem simbólica é então traduzido para o programa em linguagem de máquina através do compilador */60 UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 1.4 Instruções primitivas Código executável (linguagem de máquina) Um executável ou arquivo executável, em informática, é um arquivo em que seu conteúdo deve ser interpretado como um programa por um computador. Normalmente, eles possuem a representação binária das instruções de máquina de um processador específico, mas podem conter também uma forma intermediária que podem ser necessários serviços de um interpretador para executar. Hoje em dia, a distinção entre um programa na sua forma original (em linguagem humana) e em sua forma executável (em linguagem de máquina) está se tornando menos distinta, já que o ato de transformar a forma original no formato máquina (por compilação) ou a interpretação pode ser feito de modo implícito. */60 UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 1.4 Instruções primitivas Interpretador Ao contrário do compilador roda o código-fonte escrito como sendo o código objeto, ele traduz o programa linha a linha, o programa vai sendo utilizado na medida em que vai sendo traduzido. Cada execução do programa precisa ser novamente traduzido e interpretado. O interpretador analisa sintaticamente e semanticamente o código, se estas duas etapas forem realizadas e executadas de forma correta o código está pronto para funcionar. */60 UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 1.4 Instruções primitivas */60 UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 1.4 Instruções primitivas Atribuição de valores e variáveis atribuição, é a principal maneira de se armazenar uma informação numa variável. Sua sintaxe é: <nome_de_variável> = <expressão> */60 Pseudocódigo Algoritmo Atribuição var PRECO_UNIT, PRECO_TOT : real; QUANT : inteiro; inicio PRECO_UNIT = 5.0; QUANT = 10; PRECO_TOT= PRECO_UNIT * QUANT; fim. UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 1.4 Instruções primitivas Leitura (entrada) de dados Sua sintaxe é: leia <lista_de_variáveis> Em algoritmo leia será tratada como uma palavra reservada e não mais poderá ser usada como nome de variável em algoritmos. A lista_de_variáveis é um conjunto de uma ou mais nomes de variáveis, separados por vírgulas. A semântica da instrução de leitura (ou entrada) de dados é, de certa forma, inversa à da instrução de escrita: os dados são fornecidos ao computador por meio de um dispositivo de entrada e armazenados nas posições de memória das variáveis cujos nomes aparecem na lista_de_variáveis. */60 UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 1.4 Instruções primitivas escreva (saída) de dados meio pelo qual informações são colocadas nos dispositivos de saída, para que o usuário possa visualizá-las. Há duas sintaxes possíveis para esta instrução: escreva <variáveis> ou escreva < lista de variáveis> escreva em algoritmo é considerada uma palavra reservada e não mais poderá ser utilizada como nome de variável e sim como um comando de saída de dados. Uma lista_de_variáveis é um conjunto de nomes de variáveis separados por vírgulas. */60 UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 1.4 Instruções primitivas */60 Pseudocódigo Algoritmo Entrada de Dados var PRECO_UNIT, PRECO_TOT : real; QUANT : inteiro; inicio leia(PRECO_UNIT, QUANT); PRECO_TOT= PRECO_UNIT * QUANT; escreva(PRECO_TOT); fim. UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 1.5 Linguagem C A linguagem C é uma linguagem simbólica de fácil entendimento, que possui uma sintaxe bastante estruturada e flexível, tornando sua programação bem simplificada. É case sensitive, isto quer dizer que faz diferenças entre maiúsculas e minúsculas. Exemplo: Total TOTAL tOTAL Palavras reservadas, não podem ser utilizadas para nomear variáveis ou funções. Exemplos: break, continue, define, do, for, function, if, return, switch, struct, while. */60 UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 1.5 Linguagem C Um bloco de comandos é demarcado com os símbolos {e } Exemplo: { printf(“teste 1”) ; printf(“teste 2”); } Entrada e Saída Printf (escreva) –Imprime para a saída padrão (normalmente o vídeo) Scanf (leia) –Lê da entrada padrão (normalmente o teclado) */60 UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA 1.5 Linguagem C Printf Sintaxe: printf(“caracteres de controle”, lista de expressões); –O formato indica como exibir as variáveis Exemplo: int numero = 3; printf("numero = %i\n", 2*numero); Scanf Sintaxe: scanf("caracteres de controle", lista de variáveis); Exemplo: scanf("%d %d", &m, &n) */60 UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA Constantes de Caractere de Barra Invertida */60 1.5 Linguagem C UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA Comandos de formato da função */60 1.5 Linguagem C UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA Especificadores de formato da função scanf() */60 1.5 Linguagem C UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA Exemplo de um programa que calcula um fatorial de um número #include <stdio.h> #include <conio.h> #include <stdlib.h> int main() { int n, fat, i; printf("Digite o numero:"); scanf("%i", &n); fat= 1; i = 2; while(i <= n) { fat= fat* i; i = i + 1; } printf("Fatorial (%i) = %i\n", n, fat); system("pause"); return 0; } */60 1.5 Linguagem C UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA */60 1.5 Linguagem C UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA Algumas informações Todo programa em C deve ter uma função main, pois é esta função que será chamada quando o programa for executado. O conteúdo da função é delimitado por chaves { }. O código que estiver dentro das chaves será executado sequencialmente quando a função for chamada. Biblioteca padrão de entrada e saída em C existe um conjunto de funções definidas pelo programador, funções que utilizarão outras funções definidas pelo programador e algumas funções oferecidas pelo sistema (as funções oferecidas pelo sistema são chamadas funções de biblioteca ou funções pré-definidas). A importação de uma biblioteca é dada pelo comando INCLUDE (incluir) seguido da biblioteca entre os sinais de menor (<) e maior (>). */60 1.5 Linguagem C UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA Stdio.h • printf(): imprime na saída padrão (monitor); • scanf(): lê dados da entrada padrão (teclado); • fopen(): permite a abertura ou criação de arquivos; • fclose(): fecha um arquivo aberto com fopen(); • fprintf(): grava informações em arquivo; • fscanf(): lê informações de arquivo; • remove(): apaga um arquivo. Stlib.h • atoi(): converte uma string para um valor inteiro; • atof(): converte uma string para um valor real; • rand(): gera um número ou sequência de forma aleatória; • malloc(): aloca memória dinamicamente; • free(): libera a memória alocada por malloc(). */60 1.5 Linguagem C UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE EDILSON LIMA UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE */ 66 ROTEIRO PROFESSOR: EDILSON LIMA Bibliografia ARAÚJO, Everton C. Algoritmos: fundamento e prática. 2. ed. Florianópolis: VisualBooks, 2005. MANZANO, José Augusto N. G.; OLIVEIRA, Jayr Figueiredo. Algoritmos: lógica para desenvolvimento de programação de computadores. 17.ed. São Paulo: Érica, 2005. SALIBA, Walter Luís Caram. Técnicas de programação: uma abordagem estruturada. São Paulo: Pearson Education do Brasil, 1992. GUIMARÃES, Ângelo de Moura; LAGES, Newton Alberto de Castilho. Algoritmos e Estrutura de Dados. 28ª Tiragem. Editora LTC São Paulo. */60 UM SERVIÇO WEB DE ACESSO A UM SISTEMA DE GERENCIAMENTO DE AUXÍLIO A PESQUISA - PATRONAGE * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Compartilhar