Mostrando postagens com marcador Algoritmo. Mostrar todas as postagens
Mostrando postagens com marcador Algoritmo. Mostrar todas as postagens

segunda-feira, 13 de maio de 2013

Estrutura de Condição Se-Senão (If-else)


Exemplo de exercício para mostrar o valor da média. Se for maior ou igual a 5 exibe a mensagem “Aluno aprovado”, ou “Aluno Desaprovado” caso contrário.

Início
/*Entrada de Dados*/
real media, nota1, nota2, nota3, nota4;

Escreva (“Insira a primeira nota”);
leia (nota1);
Escreva (“Insira a segunda nota”);
leia (nota2);
Escreva (“Insira a terceira nota”);
leia (nota3);
Escreva (“Insira a quarta nota”);
leia (nota4);

/*Processamento*/
media = (nota1 + nota2 + nota3 + nota4) / 4;

/*Saída de Dados*/
Se (media >= 5) {
Escreva (“Aluno aprovado com média”, media);
}
Senão {
Escreva (“O aluno foi reprovado com a média”, media);
};

fim!

sexta-feira, 10 de maio de 2013

Operadores

Operadores aritméticos
Tanto variáveis como constantes poderão ser utilizadas na elaboração de cálculos matemáticos, ou seja, na elaboração de expressões aritméticas, desde que sejam estabelecidas como do tipo real ou inteira e, para que isto ocorra é necessário a utilização de operadores aritméticos.

Principais operadores: ** (exponenciação), /, *, + e -

Operadores relacionais
= =, !=, >, <, >=, <=


Operadores lógicos
Relacionam 2 ou mais condições ao mesmo tempo (operadores booleanos). Mais comum: e, ou e não.
  • e: todos os relacionamentos lógicos necessitam ser verdadeiros
  • ou: pelo menos um dos relacionamentos lógicos necessita ser verdadeiro
  • não: inversão do resultado lógico de uma determinada condição (!)
Expressões aritméticas
Será muito comum trabalhar com expressões aritméticas ou fórmulas matemáticas em algoritmos. As expressões aritméticas em computação são escritas de forma diferente da forma conhecida em matemática:

Exemplo: x = {43 . [55 : (30 + 2)]}
Na forma computacional teríamos: x = (43 * (55 / (30 + 2)))

Tipos, Variáveis e Constantes

Tipos de Dados
Definem o conjunto de valores que uma variável pode receber, armazenar e o conjunto de operadores que podem agir sobre eles.

Inteiro: qualquer valor pertencente ao conjunto dos números inteiros. Exemplos: 1, 0, -3.
Real: qualquer valor pertencente ao conjunto dos números reais. Exemplos: -2, 3.5, 0, 2.
Carácter: seqüência de caracteres contendo letras, dígitos e/ou símbolos especiais. Os dados literais são sempre delimitados pelas aspas ( “ ); também são chamados de cadeia de caracteres, alfanuméricos, string. Exemplos: “Alo”, “Algoritmos”, “4.3”.
Lógico: toda e qualquer informação que pode assumir apenas duas situações biestáveis.
Exemplo: a porta pode estar aberta ou fechada. A lâmpada pode estar acesa ou apagada.

Armazenamento de dados na memória
A memória pode ser comparada a um armário repleto de gavetas (variáveis), que seriam os
locais físicos responsáveis por armazenar objetos (dados).
  • Cada célula de memória ocupa 1 byte e cada tipo de dados necessita de uma certaquantidade de memória para armazenar a informação.
  • Para recuperar uma determinada informação na memória é necessário saber o tipo dedado desta informação (o número de bytes que ela ocupa) e a posição inicial desteconjunto de bytes na memória. Por exemplo: para recuperar a informação ‘Azul”,tempos que saber que são 4 e que inicia na posição 33. Para contornar esse problema,foi criado o conceito de variável. Uma variável contém uma referência ao endereçoinicial, e sabe-se o número de bytes que ocupa na memória através do seu tipo de dado.
Variável
É a representação de um dado que pode ser alterado durante a execução do algoritmo; possui apenas um valor num determinado instante. Cada variável deve ter um nome e pode guardar apenas um objeto por vez e sempre de um tipo. A definição do nome e do tipo de uma variável é chamada declaração.

Constante
Representa um dado que não é alterado durante a execução do algoritmo. Assim como as variáveis, as constantes devem possuir um NRO_LADOS_QUADRADO, PI, etc.

Regras de utilização de uma variável/constante
  • O nome de uma variável/constante pode ser formado por um ou mais caracteres.
  • O primeiro caracter nunca poderá ser um número.
  • Não deve ter espaços em branco.
  • Não poderá ser uma palavra reservada (comando/instrução).
  • Não é permitido o uso de caracteres especiais (*, -, +, !, ?, etc). O único caracter especial permitido é o sublinhado ( _ ).
  • No caso da linguagem C que utilizaremos no curso, os compiladores diferenciam letras MAIÚSCULAS de minúsculas; ou seja “A” é diferente de “a”. Por isso é recomendável adotar um padrão: defina variáveis sempre em MAIÚSCULO.

quinta-feira, 9 de maio de 2013

Algoritmo - Saiba o que é, e suas definições

Um algoritmo é seqüência ordenada, e sem ambigüidade, de passos que levam à solução de um dado problema.

Construção de Algoritmo (Passos)
1. Ler atentamente o enunciado do problema;
2. Retirar do enunciado a relação das entradas de dados;
3. Retirar do enunciado a relação das saídas de dados;
4. Determinar o que deve ser feito para transformar as entradas nas saídas
especificadas (ações);
5. Construir o algoritmo; e
6. Executar o algoritmo (realizar teste: teste de mesa).

Diagrama de Blocos: usamos símbolos geométricos para representar a seqüência de
passos/ações a serem tomadas para a solução de um problema.

Português estruturado: o algoritmo é descrito na forma de código simplificado que depois
pode ser facilmente passado para uma linguagem de programação. Também conhecido
como pseudocódigo, pseudolinguagem e/ou portugol.

Exemplo de Português Estruturado:
Fornecidos dois números inteiros quaisquer; efetuar a soma dos mesmos e
apresentar o resultado obtido.

Início
/* declaração de variáveis */
Inteiro N1, N2, SOMA;
/* Entrada de dados */
Escreva (“Entre com um número inteiro qualquer”);
Leia(N1);
Escreva (“Entre com outro número inteiro qualquer”);
Leia(N2);
/* Processamento */
SOMA = N1 + N2;
/* Saída de dados */
Escreva(“Soma dos números fornecidos =”, SOMA);
fim

quarta-feira, 8 de maio de 2013

Algoritmo para Rotina de Ordenação

Existem vários métodos para obter a ordenação de elementos de uma matriz. Um método bastante simples de ordenação consiste na comparação de cada elemento com todos os elementos subsequentes. Sendo o elemento comparado menor para ordenação decrescente, ou maior para ordenação crescente que o atual, ele será trocado de posição com o outro.

Ordem crescente
Para (i=0; i<4; i=i+1) {
    Para (j=i+1; j<=4; j=j+1) {
        Se (A[i] > A[j]) então {
            X = A[i];
            A[i]=A[j];
            A[j]= X;
        };
    };
};

Ordem decrescente (troca de sinal "<")
Para (i=0; i<4; i=i+1) {
    Para (j=i+1; j<=4; j=j+1) {
        Se (A[i] < A[j]) então {
            X = A[i];
            A[i]=A[j];
            A[j]= X;
        };
    };
};