Algoritmos e Lógica de Programação

Kom i gang. Det er Gratis
eller tilmeld med din email adresse
Algoritmos e Lógica de Programação af Mind Map: Algoritmos e Lógica de Programação

1. Tipos de dados definidos pelo usuário.

1.1. Recebe valores digitados pelos usuário, atribuindo-os às variáveis.

1.2. Pode ser dos tipos inteiro, real, cadeia de caracteres ou lógico.

1.3. Inteiro : será introduzido à variável um numero que é escrito sem componente fracional -> 4,35, -234 ,etc.

1.4. Real : será introduzido a variável um numero um valor fracionário ou não -> 10 , 4.12 , 10.9892,√2,etc.

1.5. Caracter: será introduzido à variável uma cadeia de caracteres -> joao pedro, cacau, etc.

1.6. Lógico : define variáveis do tipo booleano, ou seja, com valor VERDADEIRO ou FALSO.

2. Linguagem de Programação

2.1. Baixo nível

2.1.1. Mais Próxima a linguagem do Computador

2.1.1.1. Linguagem de Maquina

2.1.1.2. Linguagem Assembly

2.1.2. são voltadas para o entendimento da máquina, sua sintaxe é mais complexa e não contam com comandos intuitivos( como por exemplo comandos como "print" ou "delete"). Sendo assim, para utilizá-las é preciso conhecer não só a linguagem, mas também o hardware com qual irá trabalhar.

2.2. Alto nível

2.2.1. Mais Próxima a linguagem Humana

2.2.1.1. Javascript

2.2.1.2. Python

2.2.2. Como são linguagens voltadas para o entendimento humano logo, são muito mais intuitivos e amigáveis principalmente para quem está iniciando na área de programação. Estas linguagens abstraem conceitos voltados para maquina e sintetizam comandos, por exemplo: "print" e "delete" são instruções comuns nessas linguagens e servem para mostrar uma informação na tela ou deletar algum dado.

2.3. especificar um conjunto de instruções

2.4. Gerações das Linguagens de Programação

2.4.1. Primeira Geração

2.4.1.1. 1940

2.4.1.2. Baixo nível

2.4.1.3. 0 e 1

2.4.2. Segunda Geração

2.4.2.1. Assembly

2.4.2.2. Primeira metade de 1950

2.4.2.3. Linguagem de montagem

2.4.2.4. Baixo Nível

2.4.2.5. Mnemônicos e símbolos

2.4.3. Terceira Geração

2.4.3.1. Linguagens

2.4.3.1.1. Java

2.4.3.1.2. C++

2.4.3.1.3. C

2.4.3.1.4. Lisp

2.4.3.1.5. Fortran

2.4.3.2. Procedurais

2.4.3.3. Segunda metade de 1950

2.4.3.4. Linguagens de alto nível

2.4.4. Quarta Geração

2.4.4.1. James Martin

2.4.4.1.1. Livro: "Applications Development Without Programmers", em 1982.

2.4.4.2. Aplicações específicas

2.4.4.3. Linguagens de alto nível

2.4.4.4. Linguagens

2.4.4.4.1. SQL

2.4.4.4.2. PostScript

2.4.4.4.3. Nomad

2.4.5. Quinta Geração

2.4.5.1. Linguagens de alto nível

2.4.5.2. Lógica com restrição

2.4.5.3. Inteligência artificial e linguística computacional

2.4.5.4. Linguagens

2.4.5.4.1. Prolog

2.4.5.4.2. OPS5

2.5. INT(x)

3. VANTAGENS E DESVANTAGENS DAS LINGUAGENS DE ALTO NÍVEL vantagens: facilidade de aprendizagem; produtividade do programador; tempo menor para escrever códigos; facilidade de entendimento para outro programador caso precise verificar o código em questão. desvantagens: algumas ocasiões o desempenho pode ser prejudicado; exige maior tempo de processamento; ocupam maior memoria em relação as de baixo nível.

4. Linguagem de máquina

4.1. É uma linguagem de baixo nível que permite a comunicação direta com a máquina por ser de base binária (composta por zeros e uns). Entretanto, não é muito utilizada, na atualidade, pois é difícil de ser aprendida, trabalhada, além de ser muito suscetível a erros.

5. O que são operadores aritméticos?

5.1. Operadores Artméticos são aqueles que nos permite realizar uma operação aritmética fundamental básica da matemática, aquelas que conhecemos desde cedo como soma, subtração, multiplicação e divisão. Em algoritmos eles também são simples e têm a mesma simbologia em todas as linguagens de programação ( +, -, * e / ).

6. Operadores aritiméticos

6.1. SINAL

6.1.1. Fornece o valor +1, -1 ou 0 de acordo com valor da variável, se ela for, respectivamente, positiva, negativa ou zero

6.2. DIV

6.2.1. Retorna o quociente de uma divisão de números Inteiros

6.3. TRUNCA

6.3.1. Retorna a parte inteira de um número Fracionário

6.4. ARREDONDA

6.4.1. Realiza o arrendondamento de um número fracionário o transformando em um número inteiro

6.5. +

6.5.1. Realiza a operação de soma

6.6. -

6.6.1. Realiza Subtração

6.7. *

6.7.1. Realiza Multiplicação

6.8. /

6.8.1. Realiza Divisão

6.9. % ou MOD

6.9.1. Retorna o resto de uma divisão de números Inteiros

7. Decisão - Indica processos de decisão e é representado por um losango.

8. Resulta somente a parte inteira de um número real

9. Diagrama de Blocos

9.1. SÍMBOLOS MAIS ULTILIZADOS

9.1.1. Fluxo de Dados - Indica o sentido do fluxograma e é representado por uma seta.

9.1.2. Terminal - Indica o início ou fim de um processamento e é representado po uma elipse.

9.1.3. Processamento - Indica processamento em geral e é representado por um retangulo.

9.1.4. Entrada/Saída - Indica a operação de entrada e saída de dados e é representado por um parelelogramo.

9.1.5. Desvio - Indica o desvio para um ponto qualquer do programa e é representado por um circulo pequeno.

10. Operadores

10.1. **

10.2. Operador de atribuição

10.2.1. <-

10.3. Funções primitivas

10.3.1. LOG(x)

10.3.1.1. Resulta o logaritmo da base10 de "X"

10.3.2. SEN(x)

10.3.2.1. Resulta o seno de X

10.3.3. ABS(x)

10.3.3.1. Resulta o valor absoluto de X

10.3.4. ARREDONDA(x)

10.3.4.1. Arrendonda um número real para um número inteiro

10.3.5. RAIZ(x)

10.3.5.1. Resulta a raiz quadrada de X

10.4. Operadores relacionais

10.4.1. Eles são utilizados para comparar STRING de caracteres e números.

10.4.2. Estes operadores sempre retornam valores lógicos( VERDADEIRO OU FALSO).

10.4.3. Operadores lógicos

10.4.3.1. Estes operadores servem para combinar resultados de expressões.

10.4.3.2. Retoma se o resultado final é verdadeiro ou falso.

11. algoritmo "Média" var Media, P1, P2, P3, P4: real inicio Escreva("Digite a nota 1: ") Leia (P1) Escreva("Digite a nota 2: ") Leia (P2) Escreva("Digite a nota 3: ") Leia (P3) Escreva("Digite a nota 4:") Leia (P4) Media <- (P1 + P2 + P3 + P4) / 4 Se (Media >= 7) entao Escreval (Media," Aluno Aprovado!") Senao Escreval (Media," Aluno Reprovado!") Fimse fimalgoritmo

12. Algoritimos - Comandos Básicos

12.1. Identificadores básicos

12.1.1. Real

12.1.2. Lógico

12.1.3. Inteiro

12.1.4. Texto ou Cadeia de caracter

12.1.5. Carcater

12.2. Comandos simples

12.2.1. leia(x)

12.3. Comandos compostos

12.3.1. leia(x); y<-2*x

13. Exemplo: A ß 10 X ß ‘A’ Escreva (A) Escreva (“a letra x é”, x)

14. Com o diagrama podemos definir uma sequência de símbolos, com significado bem definido. Portanto, sua principal função é a de facilitar a visualização dos passos de um processamento.

15. Comando de entrada

15.1. Este comando permite imprimir algo em um dispositivo de saída.

16. Comando de saída

16.1. Este comando determina que será utilizada uma entrada por parte do usuário para fornecer um valor a uma determinada variável.

16.1.1. Exemplo: leia (idade)

17. Comando de atribuição

17.1. Este comando atribui valores variáveis e constantes que serão manipulados pelo programa.😗

18. Conceito simplificado - Algoritmo

18.1. Passos

18.1.1. Linguagem computacional

18.1.1.1. Input

18.1.1.2. Output

18.2. Solução

18.2.1. Mundo real

19. Escreva(x) ou Imprima(x)

20. Considerado algoritmo:

20.1. Sequência ordenada

21. Início e fim

22. Vetor de vetores.

23. Problema

23.1. Mundo real

24. Entrada Manual - Indica à entrada de dados via teclado e é representado por um trapezio.

25. Mindmeister

25.1. Estruturas de controle

25.1.1. estrutura condicional

25.1.1.1. if, if-else, operador ternário

25.1.1.1.1. Bem definido

25.1.2. estrutura de repetição

25.1.2.1. for, while, do-while

25.1.2.1.1. return, break, continue

25.1.2.1.2. contador, sentinela

25.2. criar pasta

25.2.1. estrutura de seleção

25.2.1.1. switch-case

25.2.2. Padrões de Mapa

25.2.2.1. Estilos

25.2.2.1.1. Brainstorming

25.2.2.1.2. Mapa Mental

25.2.2.1.3. Reuniões

25.2.2.1.4. Outros

26. O diagrama de blocos ou fluxograma é uma forma padronizada eficaz para representar os passos lógicos de um determinado processamento (algoritmos).

27. Alguns comandos de entrada recebem seus dados a partir dos dispositivos de entrada , que permitem a interação direta do usuário com a maquina. Alguns deles são:

27.1. Teclado

27.2. Mouse

27.3. Joystick

28. ALGORITMO × PROGRAMA

29. Possibilidades de ERROS num Programa

29.1. Erros de compilação

29.1.1. digitação ou de sintaxe da linguagem

29.2. Erros de link-edição

29.2.1. uso de bibliotecas de sub-programas

29.3. Erros de execução

29.3.1. algoritmo

30. Conceitos introdutórios

31. Algoritmo🤔 é uma descrição passo a passo de como um computador irá executar uma operação específica🤭 Programa😅 uma entidade que implementa uma ou mais operações de forma que seja útil para as pessoas que o utilizam 😉

31.1. Novo Tópico

32. Funciona como tradutor de uma linguagem de alto nível em uma linguagem de baixo nível que se comunica diretamente com o processador, o compilador que permite escrever códigos utilizando linguagens mais simples como c, Java etc., sem precisar se preocupar com linguagem de maquina assembly ou binaria, o compilador é uma ferramenta que entende as duas linguagens, desse modo anunciará quando ocorrer erros de semântica no código fonte ao tentar se transformar em uma linguagem de baixo nível, após o compilador ler todas as linhas do algoritmo pode ser transferido e executado por outros computadores.

33. Alguns exemplos de algoritmos que podemos citar são: receitas culinárias, manual de instrução de aparelhos, funções matemáticas

34. 7. Utilizar espaços em Branco Para melhorar a legibilidade e aparência do algoritmo

35. ESTRUTURAS BÁSICAS DE CONTROLE

35.1. RGRAS PRÁTICAS PARA A CONTRUÇÃO DE ALGORITMOS LEGÍVEIS

35.1.1. 1. Incorporar comentários no algoritmo - objetivo: descrever o significado das variáveis utilizadas - Exemplo: { Cálculo da média } Obs.: Os comentários devem ser encerrados entre chaves.

35.1.2. 2. Escolher nomes de variáveis que traduzam o tipo de informação que ela carrega - objetivo: certificar que o algoritmo funcionará corretamente imprimindo os dados de acordo com o tipo da variável. - exemplo: var: nota matrícula

35.1.3. 3. Grifar palavras-chave - objetivo: Destacar as estruturas de controle - Exemplo: se B =-1 então Obs: Se e então são estruturas de controle. Palavras a serem sublinhadas

35.1.4. 5. Fazer algoritmos que possam ser lidos, alterados por outras pessoas além de quem o construiu.

35.1.5. 8. Escolher nomes representativos para suas variáveis.

35.1.6. 9. Utilizar um comando por linha - Objetivo: tornar o algoritmo mais legível e mais fácil de ser depurado - Exemplo: A<-14,2;I<-1;enquantoI<10 façaX<-X+1;K<-I*K;I<I+1; fim enquanto Usando um comando por linha temos : A<-14,2 I<-1 Enquanto I<10 Faça X<-X+1 K<-I*K I<-I+1 Fim Enquanto

35.1.7. 4. Alinhar os comandos de acordo com o nível de acordo com o nível a que pertencem - Objetivo: Destacar a estrutura na qual o comando está contido - Exemplo: B<- A*C Enquanto P=1 faca P<- P+1 F <- X+ Nota/2 Fim enquanto Imprima ( F, Nota)

35.1.8. 10. Utilizar parêntese - Objetivo: aumentar a legibilidade e prevenir erros - Exemplo: Usando poucos Parêntese A*B*C/(C*D*E) Usando parênteses adicionais (A*B*C)/(C*D*E)

35.1.9. 11. Alterar comentários sempre que uma modificação for feita no algoritmo

36. VETORES

36.1. 6. Usar comentários no início do programa para explicar o que o algoritmo faz. - Exemplo: Uma descrição do que faz o algoritmo - Explicação do significado das variáveis mais importantes - Estrutura de dados utilizadas

36.2. São arranjos que armazenam elementos na memória principal, todos com o mesmo nome, um de cada vez. O índice i indica a posição de um elemento, e N são inteiros positivos

36.2.1. Declaração de Vetor

36.2.1.1. Tipo de dado: Nome [dimensão] Tipo de dado: inteiro, Real, Caracter Nome: nome do vetor dimensão: 1..N (Tamanho do vetor)

36.2.1.2. Exemplo de declaração Real: A [1..10] Caracter: Nome[1..10] Para o visualg Real: A[1..10] de inteiro Nome: Vetor[1..10] de caracter

36.2.2. Exemplo: Este algoritmo lê 18 números e faz a soma dos mesmos. Var j, soma :inteiro V: Vetor [1..18] de inteiro Inicio Para j de 1 ate 18 faca Escreval("Digite um número", j , "inteiro") Leia (V[j]) fimpara soma<-0 para j de 1 ate 18 faca Soma<- soma + V[j] fimpara Escreval ("A SOMA DOS NÚMEROS É", soma) Fimalgoritmo

36.3. Exemplo de vetores usando caractere

36.3.1. Ex: Um vetor que leia 20 nomes e os apresente em ordem alfabética. (No Visualg) Declarações das variáveis V: vetor [1..20] de caracter x, y: inteiro c: caracter Inicio para x de 1 ate 20 passo 1 faca escreval ("digite o",x, "nome: ") leia (v[x]) fimpara para y de 1 ate 20 passo 1 faca para x de 1 ate 19 passo 1 faca se (v[x]>v [x+1]) entao c<-v [x] v[x]<-v[x+1] v[x+1]<-c fimse fimpara fimpara para x de 1 ate 20 passo 1 faca escreval ("nomes em ordem alfabetica: "v[x]) fimpara fimalgoritimo

37. Soma Var v:vetor[1..5] de real n:inteiro s:real Inicio escreval ("Soma de 5 números") para n de 1 ate 5 faca escreva ("Digite o número ",n,":") leia (v[n]) s<-s+v[n] fimpara limpatela escreva ("Soma: ",s) Fimalgoritmo

38. se <expressão-lógica> entao <sequência-de-comandos-1> senao <sequência-de-comandos-2> fimse

39. Declaramos uma matriz da seguinte forma: nome_matriz: [x..y,w..z] de tipo Onde x..y são os limites de linhas é w..z são os limites de coluna. Exemplo: matriz com 5 linhas e 3 colunas: Matriz: vetor[0..4,0..2] de inteiro

39.1. Exemplos de matrizes no visualg

39.1.1. Algoritmo "Somar_Matrizes" Var a: vetor [1..3,1..5] de real b: vetor [1..3,1..5] de real c: vetor [1..3,1..5] de real i,j:inteiro Inicio para i de 1 ate 3 faca para j de 1 ate 5 faca escreva("Digite o valor da posição[",i,",",j,"] para o conjunto A: ") leia (a[i,j]) fimpara fimpara para i de 1 ate 3 faca para j de 1 ate 5 faca escreva ("Digite o valor da posição[",i,",",j,"] para o conjunto B: ") leia (b[i,j]) fimpara fimpara Escreval () Escreval("Matriz A:") Escreval ("----------------") para i de 1 ate 3 faca para j de 1 ate 5 faca escreva (a[i,j]:3) fimpara escreval () fimpara escreval("----------------") Escreval() escreval("Matriz B:") escreval("----------------") para i de 1 ate 3 faca para j de 1 ate 5 faca escreva (b[i,j]:3) fimpara escreval () fimpara escreval("----------------") para i de 1 ate 3 faca para j de 1 ate 5 faca c[i,j]<- a[i,j]+b[i,j] Fimpara fimpara Escreval() escreval ("A matriz soma de (A+B) é igual a: ") escreval("----------------") para i de 1 ate 3 faca para j de 1 ate 5 faca escreva (c[i,j]:3) Fimpara escreval() fimpara escreval("----------------") Fimalgoritmo

39.1.1.1. Digite o valor da posição[ 1, 1] para o conjunto A: 1 Digite o valor da posição[ 1, 2] para o conjunto A: 2 Digite o valor da posição[ 1, 3] para o conjunto A: 2 Digite o valor da posição[ 1, 4] para o conjunto A: 1 Digite o valor da posição[ 1, 5] para o conjunto A: 2 Digite o valor da posição[ 2, 1] para o conjunto A: 2 Digite o valor da posição[ 2, 2] para o conjunto A: 2 Digite o valor da posição[ 2, 3] para o conjunto A: 1 Digite o valor da posição[ 2, 4] para o conjunto A: 2 Digite o valor da posição[ 2, 5] para o conjunto A: 1 Digite o valor da posição[ 3, 1] para o conjunto A: 1 Digite o valor da posição[ 3, 2] para o conjunto A: 1 Digite o valor da posição[ 3, 3] para o conjunto A: 2 Digite o valor da posição[ 3, 4] para o conjunto A: 2 Digite o valor da posição[ 3, 5] para o conjunto A: 1 Digite o valor da posição[ 1, 1] para o conjunto B: 2 Digite o valor da posição[ 1, 2] para o conjunto B: 2 Digite o valor da posição[ 1, 3] para o conjunto B: 2 Digite o valor da posição[ 1, 4] para o conjunto B: 1 Digite o valor da posição[ 1, 5] para o conjunto B: 1 Digite o valor da posição[ 2, 1] para o conjunto B: 2 Digite o valor da posição[ 2, 2] para o conjunto B: 2 Digite o valor da posição[ 2, 3] para o conjunto B: 2 Digite o valor da posição[ 2, 4] para o conjunto B: 2 Digite o valor da posição[ 2, 5] para o conjunto B: 1 Digite o valor da posição[ 3, 1] para o conjunto B: 1 Digite o valor da posição[ 3, 2] para o conjunto B: 1 Digite o valor da posição[ 3, 3] para o conjunto B: 2 7Digite o valor da posição[ 3, 5] para o conjunto B: 2 Matriz A: ---------------- 1 2 2 1 2 2 2 1 2 1 1 1 2 2 1 ---------------- Matriz B: ---------------- 2 2 2 1 1 2 2 2 2 1 1 1 2 1 2 ---------------- A matriz soma de (A+B) é igual a: ---------------- 3 4 4 2 3 4 4 3 4 2 2 2 4 3 3 ---------------- >>> Fim da execução do programa !

40. Tipos de dados

41. VisuAlg

41.1. O que é?

41.1.1. VisuAlg é um programa gratuito de edição, interpretação e execução de algoritmos, com uma linguagem próxima ao portugol (português estruturado).

41.2. Formato básico do pseudocódigo

41.2.1. algoritmo "semnome" // Função : // Autor : // Data : // Seção de Declarações inicio // Seção de Comandos fimalgoritmo

41.3. Principais comandos

41.3.1. escreva (<lista-de-expressões>)

41.3.2. escreval (<lista-de-expressões>)

41.3.3. leia (<lista-de-variáveis>)

41.3.4. Para ... faça Esta estrutura repete uma sequência de comandos um determinado número de vezes.

41.3.5. Enquanto ... faça Esta estrutura repete uma sequência de comandos enquanto uma determinada condição (especificada através de uma expressão lógica) for satisfeita.

41.3.6. se <expressão-lógica> entao <sequência-de-comandos> fimse

41.3.6.1. inteiro: define variáveis numéricas do tipo inteiro, ou seja, sem casas decimais. real: define variáveis numéricas do tipo real, ou seja, com casas decimais. caractere ou caracter: define variáveis do tipo string, ou seja, cadeia de caracteres. logico: define variáveis do tipo booleano, ou seja, com valor VERDADEIRO ou FALSO.

41.4. Exemplo de algoritmo no VisuAlg

41.4.1. Repita ... até Esta estrutura repete uma sequência de comandos até que uma determinada condição (especificada através de uma expressão lógica) seja satisfeita.

42. criar projetos

42.1. ALGORITMOX

43. Uma matriz quadrada 2x2 real, por exemplo, pode ser definida pela seguinte linha de comando: A: vetor[1..2, 1..2] de real.

44. Matrizes no visualg

44.1. Utilizando de variáveis inteiras como i e j, por exemplo, podemos definir os elementos dessa matriz com a estrutura de repetição "para".

44.2. Algoritmo "exemplo de matriz quadrada"

44.3. Var

44.4. A: vetor[1..2, 1..2] de real

44.5. i, j: inteiro

44.5.1. Quando a estrutura de repetição está em i=1, varia-se j de 1 até 2, ou seja, define-se A(11) e (A12). Após o looping ser satisfeito, inicia-se outro com i=2, definindo-se A(21) e A(22).

44.6. Inicio

44.6.1. para i<-1 ate 2 faca

44.6.1.1. para j<-1 ate 2 faca

44.6.1.1.1. Leia (A[i,j])

44.6.1.2. fimpara

44.6.2. fimpara

44.6.3. para i<-1 ate 2 faca

44.6.3.1. para j<-1 ate 2 faca

44.6.3.1.1. Escreval ("O termo A", i, j, " é:", A[i,j])

44.6.3.2. fimpara

44.6.4. fimpara

44.7. Fimalgoritmo

44.8. O comando "Escreval ("O termo A", i, j, " é:", A[i,j])" escreve, em cada linha, o elemento A(ij) na ordem em que foi realizada a leitura.

45. Leia(x)

46. algoritmo, programa, bloco, inteiro, fim

47. são palavras que terão uso específico no pseudocódigo e que não deverão ser usadas como identificadores para não causar confusão na interpretação

47.1. exemplo:

47.1.1. procedimento, real, texto, const, matriz

47.1.2. var, tipo, inicio, imprima, se, função

47.1.3. então, senão, enquanto, repita

47.1.4. variando, faça, caso, ate, vetor

47.1.5. procedimento, execução, etc...

47.1.6. exemplo de algumas palavras reservadas em um programa Algoritmo "soma de n° primos e mutiplicaçao dos pares do vetor [1..100]" Var j:inteiro A: vetor [1..100] de inteiro B:inteiro Inicio para j de 1 ate 100 faça escreva("digite o", j,"° numero") leia(A[j]) fimpara para j de 1 ate 100 faça se A[j] mod 2 =0 entao B<-A[j]*5 escreval("a resposta da multiplicaçao do",j,"° numero é",B) senao fimse fimpara para j de 1 ate 100 faça se (A[j] mod 2) =1 entao B<-A[j]+5 escreval("a respodta da somado",j,"° numero é",B) fimse fimpara Fimalgoritmo

48. Exemplos de algorítimos no visualg

48.1. Média Var v:vetor[1..10] de real n:inteiro s,m:real Inicio escreval ("Média de 10 números:") escreval() para n de 1 ate 10 faca escreva ("Digite o número ",n,":") leia (v[n]) s<-s+v[n] fimpara m<-s/n limpatela escreva ("Média: ",m) Fimalgoritmo

48.1.1. Média de nota e resultado de aprovação Var v:vetor[1..4] de real n:inteiro s,m:real Inicio escreval ("Notas") escreval () para n de 1 ate 4 faca escreva ("Digite a nota ",n,":") leia (v[n]) s<-s+v[n] fimpara m<-s/n limpatela escreval ("Resultado") escreval () se (m>7)ou(m=7) entao escreva ("Aluno aprovado, com média: ",m) senao escreva ("Aluno reprovado, com média: ",m) fimse fimalgoritmo

48.1.1.1. Juros Var j,s,v,t:real tm:inteiro Inicio escreval ("Juros") escreval () escreva ("Digite o valor: ") leia (v) escreva ("Digite a taxa de juros: ") leia (t) escreva ("Digite o tempo (meses): ") leia (tm) j<-(v*t*tm)/100 s<-v+j limpatela escreval ("Valor total a ser pago: ",s) escreval ("Valor dos juros: ",j) Fimalgoritmo

48.2. Soma Var v:vetor[1..5] de real n:inteiro s:real Inicio escreval ("Soma de 5 números") para n de 1 ate 5 faca escreva ("Digite o número ",n,":") leia (v[n]) s<-s+v[n] fimpara limpatela escreva ("Soma: ",s) Fimalgoritmo

48.2.1. Quantidade de pares e ímpares Var v:vetor [1..10] de inteiro n,p,i:inteiro Inicio escreval ("Quantidade de números pares e ímpares") escreval () para n de 1 ate 10 faca escreva ("Digite o número ",n,": ") leia (v[n]) se (v[n] mod 2<>0) entao i<-i+1 senao p<-p+1 fimse fimpara limpatela escreval ("Pares: ",p) escreval ("ímpares: ",i) Fimalgoritmo

48.2.1.1. Desconto Var v:vetor [1..5] de real n:inteiro Inicio escreval ("Valores") escreval () para n de 1 ate 5 faca escreva ("Digite o valor ",n,":") leia (v[n]) v[n]<-v[n]*0.75 fimpara limpatela escreval ("Valores com desconto") escreval () para n de 1 ate 5 faca escreval ("Valor ",n,":",v[n]) fimpara Fimalgoritmo

49. Formas de Representar uma Lógica de Programação

49.1. Frases do processamento de um programa

49.2. Pseudocodígo

49.2.1. Tipos

49.2.1.1. Operadores Relacionais são utilizados para comparar valores, o resultado de uma expressão relacional é um valor booleano (VERDADEIRO ou FALSO).

49.2.1.2. Primitivos

49.2.1.2.1. inteiro - define variáveis numéricas do tipo inteiro, ou seja, sem casas decimais

49.2.1.2.2. real - define variáveis numéricas do tipo real, ou seja, com casas decimais

49.2.1.2.3. logico - define variáveis do tipo booleano, ou seja, com valor VERDADEIRO ou FALSO

49.2.1.2.4. caractere - define variáveis do tipo string, ou seja, cadeia de caracteres

49.2.1.3. Expressões Aritméticas

49.2.1.3.1. Exemplos: 3/4+5 3/(4+5) 3\2*9 Conceitos básicos de algoritmos = 5.75 = 0.33333333 44 3\2*9 11%3^2 11%(3^2) (11%3)^2 3\2+(65-40)^(1/2) = 9 = 2 = 2 = 4 = 6

50. Dispositivos

50.1. Dispositivos de Entrada: Dentre os diversos dispositivos de Entrada e Saída, existem alguns que realizam apenas a entrada de dados, ou seja, permitem inserir/armazenar informações.

50.1.1. Exemplos de Dispositivos de Entrada: mouse, teclado, microfone, joystick e scanner).

50.2. Dispositivos de Saída: Os dispositivos de saída, por sua vez, permitem somente a saída (visualização) das informações contidas no computador.

50.2.1. Exemplos de Dispositivos de Saída: monitor (tela), impressora e caixas de som.

50.3. Estrutura de repetição - laços (loops)

50.3.1. Laço enquanto

50.3.1.1. O enquanto é utilizado quando um conjunto de comandos deve ser executados repetidamente, enquanto a expressão lógica permanecer verdadeira. Se todo comando for verdadeiro, vai ocorrer o loop infinito, o que é não dá para interromper de forma natural. Se o primeiro comando for falso, o programa não vai ser executado nenhuma vez.

50.3.1.2. Representação no Portugol ... Enquanto (condição) faca bloco de programação que será repetido Fim Enquanto

50.3.2. Repetição com teste no final

50.3.2.1. Representação no Portugol repita C1 C2 C3 . . Cn ate <condição>

50.3.2.1.1. Usada quando não se sabe quantas vezes a a instrução ou bloco irá se repetir, mas tem que ser executado pelo menos uma vez. A vantagem do repita é que não precisa iniciar a(s) variável(eis) do controle do laço antes de entrar no mesmo. O teste fica repetindo até dar verdadeiro o comando.

51. CONCEITOS INTRODUTÓRIOS

51.1. Sistema de informação: consiste de uma sólida infraestrutura sólida e abstrata que conecta as pessoas ao redor do mundo por meu da comunicação. Sendo esse, responsável pela base da economia. Esses processos tem origem desde que os primeiros homens pisaram na terra e se intensificou com o advento da globalização.

51.1.1. Transformação Social

51.1.1.1. COMUNICAÇÃO

51.1.1.2. MULTIMÍDIA

51.1.1.3. GOVERNO

51.1.1.4. ECONOMIA

51.1.2. COMPUTADOR

51.1.2.1. Máquina que através de uma programação vai realizar passos para executar uma tarefa. Por sua agilidade no processo de informações é um grande influênciador, junto a internet, na malha global.

51.1.2.1.1. ENTRETENIMENTO

52. Linguagem de programação

52.1. Conjunto de símbulos e regras de sintaxe que tem por objetivo descrever ações compreensíveis e executáveis para o computador

52.1.1. Tipos de linguagem de programação

52.1.1.1. Linguagem de máquina

52.1.1.1.1. Única compreendida pelo computador Ex: Assembly

52.1.1.2. Linguagem de baixo nivel

52.1.1.2.1. Utiliza instruções próxima da linguagem humana Ex: Fortron

52.1.1.3. Linguagem de alto nivel

52.1.1.3.1. Uso comercial ex: cobal

53. Cálculo de Expressões

53.1. .

53.1.1. Quando Operadores, operandos e funções, se juntam e se relacionam para resolver problemas matemático em um algoritmo, se caracterizam como uma Expressão.

53.1.1.1. Expressões logicas

53.1.1.1.1. •E (and) • ou (Or) • não (not)

53.1.1.2. Expressões aritméticas

53.1.1.2.1. •Operandos (números) •operadores (ex:+, -, *, **, /) •funcao aritmética (ex: Cos(a)) •variaveis numéricas (ex: x*y*z)

53.1.1.3. Expressões relacionais

53.1.1.3.1. •igualdade (==) •desigualdade (!=) •maior e menor (>,<) •maior ou igual ou menor ou igual(>=, <=)

54. Dispositivos Mistos: Também existem os dispositivos considerados mistos, ou seja, através deles podemos tanto inserir informações para dentro do computador, como extrair/visualizar dados.

55. Exemplos de Dispositivos Mistos: pen drive, disco de DVD e cartão de memória.

56. Expressões lógicas

57. Compiladores vs Interpretadores

57.1. Compiladores

57.1.1. Funciona como tradutor de uma linguagem de alto nível em uma linguagem de baixo nível que se comunica diretamente com o processador, o compilador que permite escrever códigos utilizando linguagens mais simples como c, Java etc., sem precisar se preocupar com linguagem de maquina assembly ou binaria, o compilador é uma ferramenta que entende as duas linguagens, desse modo anunciará quando ocorrer erros de semântica no código fonte ao tentar se transformar em uma linguagem de alto nível, após o compilador testar todas as linhas e verificar que está tudo certo é criado um executável que pode ser compartilhado entre outros computadores e ser executado.

57.1.1.1. Linguagem fonte: C, Pacal, Java, etc.

57.1.1.1.1. COMPILADOR

57.2. Interpretadores

57.2.1. O interpretador funciona como um tradutor e conversa as duas linguagens e mostra um resultado que pode ser “rodado” apenas no computador que o código foi digitado, o interpretador lê linha por linha para se certificar que está certo o código fonte. só depois de conferir que todas as linhas estão certas é criado o executável.

57.2.1.1. Código digitado em linguagem média ou alta

57.2.1.1.1. INTERPRETADOR

58. EVOLUÇÃO DOS COMPUTADORES

59. Algoritmo de pesquisa

59.1. Pra fazermos qualquer pesquisa em vetor(ou matriz) são necessários: a) O vetor onde será feita a pesquisa. b) O número de elementos desse vetor que devem ser pesquisados. c) O elemento procurado d) Um índice que vai ser preenchido com a posição onde o elemento foi encontrado ou retornará com zero, caso o elemento não exista.

59.1.1. Pesquisa sequencial simples: Na pesquisa sequencial simples, como o vetor a ser pesquisado não está ordenado pelo elemento procurado, teremos de comparar um a um o ELEMPROC com cada elemento de VET. Portanto para um elemento inexistente teremos de fazer TOTELEM testes e para um elemento existente faremos, na média, TOTELEM/2 testes. Procedimento PESQSEQ (V : VET)

59.1.1.1. ex: Início Inteiro: TOTELEM, POS, J <Tipo básico> : ELEMPROC) Leia(ELEMPROC) {Executa a Pesquisa da primeira ocorrência de ELEMPROC em VET e retorna em POS o índice onde foi encontrada ou 0 se não existe} Enquanto(Pos=0) e(J<=TOTELEM)Faça Se VET[J]=ELEMPROC Então POS<-J Senão J<-J+1 FimSe FimEnquanto Fim

59.1.1.1.1. O problema fica mais fácil quando temos que determinar todas as ocorrências de um elemento em um vetor, pois teremos que, obrigatoriamente, levar o vetor até o fim (Elimina-se do laço o teste POS = 0), mas teremos de guardar em um vetor todas as posições onde o elemento foi encontrado ou, o mais comum, processarmos a ocorrência dentro do procedimento (após POS<-J)