Algoritmos Algoritmos e Linguagem de Programação Prof Carlos Vetorazzi Conceitos – Linhas de Código de um Algoritmo ou Programa • escrita do programa linha a linha, ou seja, a sintaxe do programa, podendo-se escrever comentários junto ao mesmo. Um programa é executado pelo computador; um algoritmo é “executado” mentalmente. – Comentários • são anotações escritas nas proximidades das linhas de código de um algoritmo ou programa, usados para explicar melhor alguma parte do código para evitar confusões de entendimento na hora de sua análise. Não são considerados código ou comandos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Conceitos – Variáveis • Os dados de um programa (ou algoritmo) são armazenados em espaços na memória do computador, chamados de “variáveis” em analogia as variáveis matemáticas, pois armazenam valores (ou dados) que podem variar ao longo da execução do programa (ou algoritmo) • As variáveis armazenam apenas um valor de cada vez • Estes espaços (variáveis) devem explicitamente requisitados ou alocados antes de sua utilização, normalmente no inicio do programa ou algoritmo (declaração de variáveis) • Toda variável possui quatro atributos: nome ou identificador, tipo de dado que armazena, endereço na memória do computador e a informação (ou valor) armazenado Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Conceitos – Tipos de dados • Define o tipo de informação ou valor armazenado por uma variável, podendo ser numéricos, literais ou booleanos. – Tipos Numéricos • Inteiro: toda e qualquer informação numérica que pertença ao conjunto dos números inteiros (não possui componente fracionário): 100, - 9, 318, 5900 • Real: toda e qualquer informação numérica que pertença ao conjunto dos números reais ou racionais , podendo possuir componente fracionário. Também são chamados de dados de ponto flutuante. Exemplos: 100.99 , 0.001 , 1.0 , -8.5056 Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Conceitos – Tipos literais • Cadeias de Caracteres ou strings: sequências (cadeia) contendo letras, números e símbolos de pontuação ou outros; qualquer símbolo existente é um caracter. É representado entre aspas duplas: “oi mundo!” , “não pise na grama” , “Carlos”, “123abcd” • Caractere: a informação ou valor é representada por um único caracter, e deve ser representada entre aspas simples: ‘a’, ‘F’, ‘1’, ‘?’ – Tipos booleanos • Podem armazenar apenas dois valores: 0 ou 1, Verdadeiro ou Falso Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Conceitos – Identificador • é o “nome” de uma variável, através do qual podemos acessar ou manipular a informação contida na mesma e deve ser único. O nome de uma variável faz referência ao endereço de memória alocado para essa variável. – regras para nomear variáveis: • Nome de variável pode ter 1 ou mais caracteres. • O primeiro caractere de uma variável deve ser uma letra ou sublinhado ( _ ). • Nenhuma variável pode ter espaço em branco em seu nome. • Nenhum nome de variável pode ser uma palavra reservada a uma instrução da linguagem usada. • Poderão ser utilizados somente letras, números e sublinhado; • Procure sempre utilizar nomes que tenham sentido mnemônico. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Conceitos – Identificadores válidos: Nota1 x _teste a123 – Identificadores inválidos: 12xy (começa com número) maçã (contém acentuação) nota 1 (contém espaço) Ab-c (contém símbolo de operador aritmético) Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Conceitos – Paradigma estruturado (ou imperativo) – estabelece que qualquer problema pode ser decomposto em partes mais simples e pode ser resolvido usando as seguintes estruturas: • Estrutura sequencial • Estrutura condicional • Estrutura de repetição (ou iterativa) Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Estrutura sequencial – A estrutura de um algoritmo segue o seguinte abaixo e os comandos ou expressões são executados sequencialmente a partir do comando Inicio. Algoritmo Inicio declaração de variáveis comando_1 comando_2 ... /*comentários */ ... comando_n Fim Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Estrutura sequencial – Declaração de variáveis • Variáveis devem ser declaradas antes que possam ser usadas. O objetivo da declaração é alocar (reservar) espaço de memória para armazenar os dados e definir um nome para que possamos nos referir a este espaço. Deve ser feita no inicio do programa/ algoritmo • A declaração é feita especificando-se o tipo e o nome da variável Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Estrutura sequencial – Declaração de variáveis – exemplos Real x Inteiro i,j,k Caracter opcao, z Caracter nome_cliente[20] Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Estrutura sequencial – Comentários • Comentários são “anotações” no algoritmo/ programa • Comentários não fazem parte do algoritmo/programa e não são “executados”. • O inicio de um comentário é marcado por /* e o final por */ , por exemplo: /* este é um comentário e pode ocupar varias linhas */ Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Estrutura sequencial – Comando de entrada (Leia) • Usado para receber (ler) dados do usuário que serão armazenados em variáveis. Algoritmo Inicio real x caracter nome[10] Leia x Leia nome Fim Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Estrutura sequencial – Comando de saída (Escreva) • Usado para mostrar dados ou mensagens. Algoritmo Inicio Inteiro i i=5 Escreva “Bom dia!” Escreva “o valor da variável e”,i Fim Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Estrutura sequencial – Expressões e operadores • O conceito de expressão está relacionado ao de uma fórmula (ou expressão) matemática, onde um conjunto de variáveis e constantes relacionam-se por meio de operadores. Operadores executam uma determinada operação sobre um ou mais operandos. Por exemplo a área de um triângulo é dada por 𝐵 ×𝐴 Area = 2 • Assim, uma expressão é uma combinação de variáveis (Area,B, A), constantes (2) e operadores (=, ×, ÷) cuja avaliação resulta em um valor Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Estrutura sequencial – Expressões e operadores • Em um algoritmo ou programa as expressões devem ser escritas em uma forma de representação linearizada (apenas uma linha) usando os operadores e regras de precedência apropriados, portanto a expressão anterior deve ser escrita como: Area=(B*A)/2 Ou ainda Area= 0,5*B*A Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Estrutura sequencial – Operador de atribuição ( = ) • O operador de atribuição é usado para atribuir a uma variável um valor explícito (“constante”) ou o valor resultante da avaliação de uma expressão (que pode incluir a própria variável): x=4 x=x+1 nome=“Fulano” Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Estrutura sequencial – Operadores aritméticos • Realizam operações aritméticas sobre dois operandos de tipo numérico Operador Significado + Adição - Subtração * Multiplicação / Divisão % Resto de divisão inteira Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Estrutura sequencial – Operadores relacionais • Utilizados para realizar comparações entre dois valores mesmo tipo. Tais valores são representados por constantes, variáveis ou expressões. O resultado obtido é sempre um valor lógico. Operador Significado == Igual a !=, <>, ≠ Diferente de > Maior que >=, ≥ maior ou igual a < Menor que <=, ≤ menor ou igual Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Estrutura sequencial – Operadores lógicos • Existem três operadores básicos, usados para formação de expressões lógicas. Operador Significado .E., && Operador lógico E .OU., || Operador lógico OU ! Negação Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Estrutura sequencial – Regras de precedência • A ordem em que são realizadas as operações pode alterar o resultado de uma expressão, essa ordem é definida pelas regras de precedência conforme a tabela abaixo. Essa ordem pode ser alterada com o uso dos parêntesis.. Operador Significado ! - Negação e negativo * / % Multiplicação, divisão e resto da divisão inteira + - Adição e subtração < ≤ ≥ > Maior que, maior ou igual a, menor que e menor ou igual a == ≠ Igual e diferente .E. Operador lógico e .OU. Operador lógico ou = Atribuição Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi