2-Modulo1

Page 1

Curso Profissional de Informática de Gestão

Módulo 1: Algoritmia

LINGUAGENS DE PROGRAMAÇÃO

Conteúdos 1. Introdução à Lógica de Programação Lógica 2. Sequência Lógica 3. Instruções 4. Algoritmos 1.

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

2


1. Introdução à Lógica de Programação

Organização de um computador: Um computador processa dados e converte-os em

informação significativa.

Entrada

Processamento

Saída

PROGRAMA PROGRAMA: Lista de instruções detalhadas

que indicam ao computador o que fazer. Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

3

1. Introdução à Lógica de Programação

Um computador é composto por duas partes

bem diferenciáveis, hardware e software. O hardware é composto pelas partes físicas, tangíveis do computador. O software é composto pelos programas, também chamados aplicações, que contêm instruções que o computador “executa”.

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

4


HARDWARE Um computador necessita dispor de um

conjunto de funcionalidades e proporcionar a capacidade de: 1. 2. 3. 4. 5.

Aceitar a entrada. Visualizar ou apresentar a saída. Armazenar a informação em um formato logicamente coerente. Executar operações aritméticas ou lógicas sobre dados de entrada ou sobre dados de saída. Monitorizar, controlar e dirigir as operações globais e de sequência dos sistema. Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

5

Unidades fundamentais de um computador

http://www.dei.isep.ipp.pt/~nsilva/ensino/ti/ti1998-1999/computador/computador_generic.gif Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

6


Processador (CPU) Dirige e controla o processamento de

informação realizado pelo computador.

Programa

Computador Dados (entrada do programa)

Unidade Central de Processamento (CPU)

Memória principal

Saída

Execução de um programa no computador Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

7

Memória Central Com o propósito de armazenar dados, um

computador é uma grande colecção de circuitos electrónicos capazes de armazenar um bit. Um bit é um circuito ou um dígito que pode ter

exactamente dois valores: zero ou um.

A memória central de um processador é uma

zona de armazenamento organizado em centenas ou milhares de unidades de armazenamento individual, ou células. A memória central é um conjunto de células de

memória. Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

8


Memória Central Conceitos associados a cada célula de

memória: Endereço: cada célula tem um único endereço que

indica a sua posição relativa na memória. Conteúdo: informação armazenada na posição

de memória. O conteúdo desses endereços ou posições de memória é denominado palavras.

9

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

Unidades de medida de armazenamento Byte

Byte (B)

equivale a

8 bits

KiloByte

Bbyte (KB)

equivale a

1024 bytes (210 )

MegaByte

Mbyte (MB)

equivale a

1024 Kbytes (220)

GigaByte

Gbyte (GB)

equivale a

1024 Mbytes (230)

TeraByte

Tbyte (TB)

equivale a

1024 Gbytes (240)

PetaByte

Pbyte (PB)

equivale a

1024 Tbytes (250)

ExaByte

Ebyte (EB)

equivale a

1024 Pbytes (260)

ZetaByte

Zbyte (ZB)

equivale a

1024 Ebytes (270)

Yota

Ybyte (YB)

equivale a

1024 Zbytes (280)

Na memória principal são armazenados: Os dados enviados para processamento dos dispositivos de

entrada. Os programas que realizarão os processos. Os resultados obtidos, preparados para envio a um dispositivo de saída. Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

10


1.1. Lógica A lógica é uma ciência de carácter

matemático fortemente ligada à filosofia. A lógica é o ramo da filosofia que trata das regras do bem pensar, ou do pensar correcto, sendo, portanto, um instrumento do pensar. A aprendizagem da lógica não constitui um fim em si, mas um meio de garantir que o nosso pensamento se faz correctamente para chegar a conhecimentos verdadeiros.

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

11

1.1. Lógica Lógica de programação A lógica de programação é necessária a quem

deseje desenvolver sistemas e programas, permitindo definir a sequência lógica para o desenvolvimento. Lógica de programação é a técnica de encadear pensamentos para atingir determinado objectivo, isto é, para resolver determinado problema.

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

12


1.1. Lógica A lógica binária, ou bitwise operation é a base de todo o cálculo computacional. Na verdade, são estas operações mais básicas que constituem todo o poderio dos computadores. Qualquer operação, por mais complexa que pareça, é traduzida internamente pelo processador para estas operações. Operações:

NOT AND OR XOR

(negação) (e) (ou) (ou exclusivo) Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

13

1.1. Lógica - NOT O operador unário NOT, ou negação binária

será um bit '1' se o operando for '0', e será '0' caso contrário.

A 0 1

¬A 1 0

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

14


1.1. Lógica - AND O operador binário AND, ou conjunção binária

devolve um bit 1 sempre que ambos operandos sejam '1‘.

A 0 0 1 1

B 0 1 0 1

A∧B 0 0 0 1

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

15

1.1. Lógica - OR O operador binário OR, ou disjunção binária

devolve um bit 1 sempre que pelo menos um dos operandos seja '1‘.

A 0 0 1 1

B 0 1 0 1

A∨B 0 1 1 1

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

16


1.1. Lógica - XOR O operador binário XOR, ou disjunção binária

exclusiva devolve um bit 1 sempre que apenas um dos operandos seja '1‘.

A 0 0 1 1

B 0 1 0 1

∨A∨ B 0 1 1 0

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

17

1.2. Sequência Lógica Estes pensamentos podem ser descritos

como uma sequência de instruções, que devem ser seguidas para cumprir uma determinada tarefa. Sequência lógica são os passos executados até atingir um objectivo ou solução de um problema.

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

18


SOFTWARE As operações que o hardware deve realizar

são especificadas por uma lista de instruções, chamadas programas ou software. Tipos de software: Software de sistema – Ex: sistema operativo,

editores de texto, compiladores/interpretadores, programas utilitários. Software de aplicação

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

19

SOFTWARE “Um programa de computador é um conjunto

de instruções internas utilizadas em um computador e que produz um resultado concreto.” O processo de escrever um programa denomina-se programação e o conjunto de instruções que podem ser utilizadas para construir um programa denomina-se linguagem de programação.

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

20


Linguagens de programação As linguagens de programação servem para

escrever programas que permitem a comunicação entre utilizador e máquina. Programas especiais denominados tradutores convertem as instruções escritas em linguagem de programação em instruções escritas em linguagem máquina (o e 1, bits). Principais tipos de linguagens: Linguagem de máquina Linguagem de baixo nível Linguagem de alto nível Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

21

1.3. Instruções Os diferentes passos de um algoritmo são

expressos nos programas como instruções. Consequentemente, um programa é uma sequência de instruções, cada uma das quais especifica certas operações que o computador deve executar. Tipos de instruções: Entrada / Saída Aritméticas e Lógicas Selectivas Repetitivas Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

22


Linguagem de máquina São aquelas que são directamente inteligíveis

pela máquina, já que as suas instruções são cadeias binárias. As instruções em linguagem de máquina dependem do hardware do computador e, portanto, mudam de computador para computador. Vantagem: velocidade de carregamento (não precisa de tradução)

e execução Desvantagens: dificuldade e lentidão na codificação; pouca fiabilidade, grande dificuldade de verificar e colocar em uso os programas; os programas são executáveis somente nos mesmo processador. Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

23

Linguagens de baixo nível São mais fáceis de utilizar do que as linguagens máquina, mas também dependem da máquina em particular. As instruções neste tipo de linguagens são também conhecidas por mnemónicas. Um programa escrito neste tipo de linguagem não pode ser executado directamente pelo computador, e requer uma fase de tradução para a linguagem de máquina. Vantagens: maior facilidade de codificação. Inconvenientes: dependência total da máquina, o que

impede a portabilidade. Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

24


Linguagens de alto nível São projectadas para que as pessoas

escrevam e entendam os programas de um modo mais fácil. Vantagens: tempo de formação dos programadores é

mais curto, (relativamente aos outros tipos de linguagens); a escrita de programas tem como base regras sintácticas similares às da linguagem humana; as modificações e a colocação em uso dos programas são mais fáceis; Portabilidade. Inconvenientes: aumento do tempo para serem colocados em uso (necessitam de diferentes traduções); não são aproveitados os recursos internos da máquina; aumento da ocupação de memória; aumento do tempo de execução dos programas. Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

25

Exemplo – soma de dois números Instrução em linguagem de máquina: 0110

1001 1010 1011

Instrução em linguagem de baixo nível: ADD, M, N, P

Instrução em linguagem de alto nível: P = M + N;

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

26


Tradutores de linguagem Os tradutores de linguagem são programas

que traduzem os programas-fonte escritos em linguagem de alto nível para código máquina. Podem ser: Interpretadores Compiladores

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

27

Interpretadores Lêem e analisam, sequencialmente, cada

uma das instruções do programa escrito em linguagem de alto nível. Se, nessa análise sequencial, detectar erros, comunica-os ao programador para correcção imediata. Logo que esta seja efectuada ou, caso a instrução não contenha erros, converte-a para código máquina e executa-a imediatamente.

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

28


Compiladores Traduzem de uma só vez, a totalidade do

programa escrito em linguagem de alto nível, armazenando na memória as instruções em linguagem máquina. O processo de tradução detecta e indica ao programador os erros existentes no programa, os quais deverão ser corrigidos antes de uma nova compilação. Este ciclo ( tradução-erros-correcção) repetirse-á tantas vezes quantas necessárias até ao programa estar “limpo”. Só então deverá ser executado pelo computador. 29

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

Interpretadores Vs Compiladores

Programa Fonte em Ling. de alto nível

Resultado

Interpretador

Dados

Programa Fonte em Ling. de alto nível

Compilador

Programa Objecto em Linguagem máquina

Resultado

Dados

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

30


1.4.Algoritmos Algoritmo: Pode ser definido como um

conjunto finito de regras bem determinadas para a resolução de um problema através de um número finito de operações.

Programa (de computador): Pode ser definido

como um conjunto de instruções destinadas a serem processadas num sistema informático.

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

31

1.4.Algoritmos A algoritmia permite-nos separar duas fases distintas na resolução de um problema: Fase de formulação do algoritmo; Fase da sua implementação numa linguagem ou

ferramenta de programação.

Um mesmo algoritmo pode servir de base à codificação de um programa em diferentes linguagens e ambientes de programação. Características de um algoritmo: Preciso (indicar a ordem de realização em cada passo) Definido (se seguido várias vezes, nas mesmas condições iniciais, obtém-se sempre o mesmo resultado)

Finito (tem fim: um número determinado de passos) Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

32


1.4.Algoritmos Exemplos de algoritmos: Instruções para montar um bicicleta. Fazer uma receita culinária. Substituição de uma lâmpada fundida. Substituição da roda de um automóvel. Resolução de um problema matemático. etc.

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

33

Bibliografia Aguilar, Luis Joyanes; FUNDAMENTOS DE

PROGRAMAÇÃO – Algoritmos, estruturas de dados e objetos; Mc Graw Hill; Tradução da 3ª edição; São Paulo; 2008 Azul, Artur Augusto; BASES DE PROGRAMAÇÃO 10; Porto Editora; Porto http://pt.wikibooks.org/wiki/Introdução_à_programação http://www.slideshare.net/amansilha/int-logica-deprogramao

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

34


Conteúdos 2. Desenvolvimento de Algoritmos Pseudocódigo 2. Regras e Fases de Construção de um Algoritmo 3. Fluxogramas 1.

1. Introdução ao Fluxograma 2. Simbologia

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

35

2. Desenvolvimento de Algoritmos Normalmente, um programa surge como uma solução possível para um problema, como um recurso produzido com a finalidade de dar resposta a uma determinada situação. A descrição dos passos a dar no sentido da resolução da situação/problema constitui a fase de formulação do algoritmo. Em informática, a formulação de um algoritmo não é mais do que a descrição, de forma ordenada, com clareza e rigor, das operações que se pretende realizar em computador para resolver um problema ou atingir determinados objectivos. Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

36


2. Desenvolvimento de Algoritmos O processo algorítmico de construção de um programa segue, obrigatoriamente, as seguintes fases distintas: Fase da especificação dos dados e resultados – enunciar clara e detalhadamente o problema a resolver. 2. Fase da formalização ou definição da estratégia – fazer intervir os mecanismos a seguir para atingir os resultados pretendidos, partindo dos dados disponíveis. 3. Algoritmo – estruturar este formalismo com a ajuda de estruturas algorítmicas, esquemas de programa. 4. Programa – tradução do algoritmo assim obtido para a linguagem de programação escolhida. 1.

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

37

2. Desenvolvimento de Algoritmos A algoritmia permite-nos separar duas fases

distintas na resolução de um problema: Fase de formulação do algoritmo; Fase da sua implementação numa linguagem ou

ferramenta de programação.

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

38


2. Desenvolvimento de Algoritmos

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

39

2. Desenvolvimento de Algoritmos Exemplo: Substituir uma lâmpada fundida. 1. Preparar uma lâmpada nova; 2. Retirar a lâmpada fundida; 3. Colocar a lâmpada nova; 4. Ligar o interruptor.

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

40


2. Desenvolvimento de Algoritmos Sequências de operações como a anterior

podem ser consideradas algoritmos formulados em linguagem informal. Dizemos linguagem informal porque utilizamos a nossa linguagem natural e não uma linguagem convencional, com maior rigor.

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

41

2. Desenvolvimento de Algoritmos Os algoritmos pensados para programas de

computador exigem uma formulação com maior rigor e para isso existem linguagens formais. Para além das linguagens formais de programação, são usadas outras linguagens e formas de representação: Pseudocódigo; Fluxogramas; Outros tipos de diagramas.

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

42


2.1. Pseudocódigo É uma forma de representar algoritmos,

utilizando a linguagem escrita e também termos convencionais para representar as acções a desencadear pelo programa. Os termos utilizados são normalmente uma mistura da linguagem corrente com notações e palavras inerentes às linguagens de programação.

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

43

2.1. Pseudocódigo Exemplo início leia(A); leia(B); C ← A + B; escreva(C); saída

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

44


2.1. Pseudocódigo Vantagens: Como é baseado na linguagem corrente, é fácil de

elaborar; Pode atingir vários níveis de complexidade, conforme o detalhe com que se escrever; Permite acompanhar o tratamento dos dados facilitando o teste do programa; Permite implementar as estruturas elementares da programação estruturada; Serve de base à própria documentação.

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

45

2.1. Pseudocódigo Desvantagens: Não possui regras padrão, pois depende do estilo

de escrita de cada programador; Não permite uma rápida visualização de pormenores, pois usa a linguagem escrita, o que obriga à sua leitura integral; Para problemas mais complicados, a linguagem pode tornar-se muito complexa e de difícil compreensão.

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

46


2.1. Pseudocódigo – Convenções Entrada de dados

Leia(variável) Leia Saída de dados

Escreva(‘TEXTO’) Escreva Escreva(variável) Escreva Escreva(‘Texto e ‘,variável) Escreva Escreva(‘Texto e ‘,variável,’ e mais texto’) Escreva

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

47

2.1. Pseudocódigo – Convenções Operadores ← Atribuição X←5

X←X+1

Aritméticos + Adição - Subtracção * Multiplicação / Divisão

Lógicos ≠ Diferença = Igualdade < Menor que > Maior que <= Menor ou igual que >= Maior ou igual que Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

48


2.1. Pseudocódigo – Convenções Decisões Se condição Então Ent o Acção Se condição Então Ent o Acção Senão Sen o Acção Exemplo: Se x > 10 Então x ← x * 2 Escreva(x) Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

49

2.1. Pseudocódigo – Convenções Ciclos Repita para variável = valor1, valor2, …, último valor Repita enquanto condição1 e/ou condição2

Terminar algoritmo Saída Sa da

Comentários Número. [Comentário] [Coment rio]

Vectores e Matrizes Nome_Vector[ ndice] Nome_Vector[Índice] Nome_Matriz[ Nome_Matriz[Linha,Coluna] Linha,Coluna]

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

50


2.3. Fluxogramas São diagramas que representam os fluxos das

acções contidos num programa, utilizando, para tal, símbolos. Estes representam diversos tipos de acções e o seu inter-relacionamento na sequência de um programa.

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

51

2.3. Fluxogramas – Simbologia

Função Processamento Entrada / Saída Decisão Início/Fim Fluxo a seguir

Símbolo

Cruzamento de linhas

Conector de fluxos Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

52


2.3. Fluxogramas - Exemplo Algoritmo para intercambiar os valores de duas variáveis numéricas. INICIO

Leia(A, B)

AUX ← A A←B B ← AUX

Escreva (A,B)

SAIDA Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

53

Bibliografia Aguilar, Luis Joyanes; FUNDAMENTOS DE

PROGRAMAÇÃO – Algoritmos, estruturas de dados e objetos; Mc Graw Hill; Tradução da 3ª edição; São Paulo; 2008 Azul, Artur Augusto; BASES DE PROGRAMAÇÃO 10; Porto Editora; Porto http://pt.wikibooks.org/wiki/Introdução_à_programação http://www.slideshare.net/amansilha/int-logica-deprogramao

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

54


Conteúdos 3. Constantes, Variáveis e Tipo de Dados Tipos de Dados 2. Constantes 3. Variáveis 1.

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

55

3.1. Tipos de dados

O objectivo primeiro de todo o computador é

o manuseio da informação ou dados. Um dado é uma expressão geral que descreve os objectos com os quais um computador opera. A maioria dos computadores pode trabalhar com vários tipos de dados → Os algoritmos e os programas correspondentes operam sobre esses tipos de dados.

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

56


3.1. Tipos de dados A acção das instruções executáveis dos

computadores reflectem-se em mudanças nos valores dos dados. Os dados de entrada são transformados pelo programa, depois das etapas intermédias, em dados de saída. No processo de resolução de problemas, o projecto da estrutura de dados é tão importante quanto o projecto do algoritmo e do programa que nele se baseia. Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

57

3.1. Tipos de dados Existem dois tipos de dados: Primitivos ou Simples; Estruturados ou Compostos.

De momento vamos concentrar-nos nos tipos simples.

Na máquina, um dado é um conjunto ou

sequência de bits (dígitos 0 e 1). As linguagens de alto nível permitem basear-se em abstracções e ignorar os detalhes da representação interna. Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

58


3.1. Tipos de dados Tipos de dados simples: Numéricos Inteiros (integer) , Reais (real) Lógicos Booleanos (boolean) Alfanuméricos Caractere (char) Cadeias de caracteres (string)

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

59

Dados numéricos Podem ser representados de duas maneiras diferentes: Tipo numérico inteiro Subconjunto finito dos números inteiros; Não têm componentes fraccionários os decimais; Podem ser negativos os positivos; Também denominados números de virgula fixa; Os números inteiros máximos e mínimos costumam ser 32768 a +32767; Fora deste intervalo os números são representados como reais. Tipo numérico real É um subconjunto dos números reais; Os números reais têm um ponto decimal (vírgula) e podem ser negativos os positivos; Também denominados números de virgula flutuante. Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

60


Dados lógicos ou booleanos Este tipo de dados caracteriza-se por admitir

de cada vez apenas um entre dois resultados possíveis: verdadeiro (true) ou falso (false). É utilizado para representar as alternativas (sim/não) em determinadas condições.

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

61

Dados alfanuméricos ou caracteres O tipo alfanumérico é o conjunto finito e

ordenado de caracteres que o computador reconhece. Um dado do tipo caractere contém um só

caractere. Os caracteres que os diferentes computadores

reconhecem não são padrão, no entanto, a maioria reconhece os seguintes: Caracteres alfabéticos: (A, B, …, Z) (a, b, …, z) Caracteres numéricos: (1, 2, 3, 4, 5, 6, 7, 8, 9, 0) Caracteres especiais: (+, -, *, /, ^, ., ;, <, >, $, …) Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

62


Dados alfanuméricos ou caracteres Uma cadeia (string) de caracteres é uma

sucessão de caracteres que se encontram delimitados (normalmente por aspas). O comprimento de uma cadeia de caracteres é o número de caracteres compreendidos entre os separadores ou limitadores.

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

63

Tabela de Tamanhos e Escala de alguns Tipos Básicos Tipo

Extensão

char

8

Escala Numérica em bits 0 a 255

int float double void

16 32 64 0

-32768 a 32767 3.4E-38 a 3.4E+38 1.7E-308 a 1.7E+308 sem valor

(n.º de bits)

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

64


Constantes e Variáveis Em algoritmos e em programas de

computador os dados podem surgir sob a forma de constantes ou variáveis. Entende-se por constante um dado que permanece inalterável do principio ao fim do algoritmo. As constantes podem surgir: DE FORMA DIRECTA: valores numéricos,

alfanuméricos ou outros expressos literalmente pelo que são; SOB A FORMA DE IDENTIFICADORES: nomes que representam determinados valores ou dados. Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

65

Variáveis Um identificador é um nome que é associado

a uma constante ou a outro tipo de elemento, em programação. As variáveis surgem sempre designadas através de identificadores. Em termos de memória RAM, o nome com que uma variável é identificada fica associado a um determinado endereço ou posição de memória. Para além disso cada variável surge associada a um determinado tipo de dados. Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

66


Memória RAM

Constante Taxa = 0,19

0,19 Taxa

Variável Valor ← 10

10 Valor

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

67

Variáveis e instruções de atribuição Funcionamento geral: Para cada variável é guardado um certo espaço ou

quantidade de bits e/ou bytes, de acordo com o tipo de dados a que pertence; Como os dados de cada variável são tratados como sendo de determinado tipo, as operações que podem ser efectuadas com esses dados estão limitadas às operações prevista para esse tipo de dados.

Chamam-se instruções de atribuição às

operações internas de um programa ou algoritmo que atribuem valores às variáveis. Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

68


Variáveis e instruções de atribuição Quando é atribuído um valor a uma variável

esse valor é guardado em RAM no endereço que foi associado a essa variável e aí permanece até que lhe seja atribuído outro valor.

LINGUAGENS

SINAL DE ATRIBUIÇÃO

Basic e C

=

Pascal

:=

Algoritmia

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

69

Bibliografia Aguilar, Luis Joyanes; FUNDAMENTOS DE

PROGRAMAÇÃO – Algoritmos, estruturas de dados e objetos; Mc Graw Hill; Tradução da 3ª edição; São Paulo; 2008 Azul, Artur Augusto; BASES DE PROGRAMAÇÃO 10; Porto Editora; Porto http://pt.wikibooks.org/wiki/Introdução_à_programação http://www.linhadecodigo.com/Artigo.aspx?id=1112 http://www.global.estgp.pt/engenharia/Alunos/eSebenta s/Tutoriais/c.htm#6

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

70


Conteúdos 4. Operadores e Funções Pré – Definidas Operadores Aritméticos 2. Operadores Relacionais 3. Operadores Lógicos 4. Funções Pré-Definidas 1.

71

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

4.1. Operadores Aritméticos As expressões aritméticas são análogas às

fórmulas matemáticas. OPERADOR

SIGNIFICADO

TIPOS DE OPERANDOS

TIPOS DE RESULTADOS

↑, ^, **

Exponencial

Inteiro ou Real

Inteiro ou Real

+

Soma

Inteiro ou Real

Inteiro ou Real

-

Subtracção

Inteiro ou Real

Inteiro ou Real

*

Multiplicação

Inteiro ou Real

Inteiro ou Real

/

Divisão

Real

Real

div

Divisão inteira

Inteiro

Inteiro

mod, %

Resto da divisão inteira

Inteiro

Inteiro

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

72


4.1. Operadores Aritméticos DIV e MOD O símbolo / é utilizado para a divisão real e o

operador div representa a divisão inteira. No caso da Linguagem C, não existe nenhum operador especifico para a divisão inteira. O operador mod ou % representa o resto da divisão inteira.

15 3

6 2

quociente

resto Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

73

Operadores relacionais e lógicos As expressões podem ser de dois tipos: Numéricas Booleanas

Uma expressão booleana é uma expressão

onde se empregam operadores de comparação e/ou lógicos e se espera obter um resultado lógico.

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

74


Operadores relacionais

OPERADOR = < > <= >= <>

SIGNIFICADO Igualdade Menor do que Maior do que Menor ou igual a Maior ou igual a Diferente de

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

75

Operadores lógicos

OPERADOR NOT AND OR XOR

SIGNIFICADO Negação Conjunção Disjunção Disjunção exclusiva

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

76


Ordem de prioridade dos operadores MAIOR

P R I O R I D A D E

MENOR

Operadores Unários

• + (sinal positivo) • - (sinal negativo)

Operadores multiplicativos

• * (multiplicação) • / (divisão)

Operadores aditivos

• + (adição) • - (subtracção)

Operadores relacionais

• = (igualdade) • < (menor que) • > (maior que)

etc.

Operador lógico NOT Operador Lógico AND Operador Lógico OR Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

77

4.4. Funções pré-definidas As operações necessárias nos programas

exigem em várias ocasiões, além das operações aritméticas básicas, um número determinado de operadores especiais denominados funções internas ou prédefinidas, incorporadas ou padrão.

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

78


4.4. Funções pré-definidas Função

Descrição

Tipo de argumento

Resultado

abs (x)

Valor absoluto de x

Inteiro ou Real

Igual ao argumento

arctan (x)

Arco tangente de x

Inteiro ou Real

Real

cos (x)

Coseno de x

Inteiro ou Real

Real

exp (x)

Exponencial de x

Inteiro ou Real

Real

ln (x)

Logaritmo neperiano de x

Inteiro ou Real

Real

log10 (x)

Logaritmo decimal de x

Inteiro ou Real

Real

sin (x)

Seno de x

Inteiro ou Real

Real

sqr (x)

Quadrado de x

Inteiro ou Real

Igual ao argumento

sqrt (x)

Raiz quadrada de x

Inteiro ou Real

Real

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

79

Bibliografia Aguilar, Luis Joyanes; FUNDAMENTOS DE

PROGRAMAÇÃO – Algoritmos, estruturas de dados e objetos; Mc Graw Hill; Tradução da 3ª edição; São Paulo; 2008 Azul, Artur Augusto; BASES DE PROGRAMAÇÃO 10; Porto Editora; Porto http://pt.wikibooks.org/wiki/Introdução_à_programação http://www.linhadecodigo.com/Artigo.aspx?id=1112 http://www.global.estgp.pt/engenharia/Alunos/eSebenta s/Tutoriais/c.htm#6

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

80


Conteúdos 5. Estruturas de Decisão e de Repetição Estrutura de Decisão 2. Estrutura de Repetição 1.

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

81

5. Estruturas de Decisão e de Repetição

Qualquer algoritmo, não importa a sua

complexidade pode ser construído combinando três estruturas de controlo de fluxo padronizadas (sequencial, selecção ou decisão, repetição ou iterativa) e uma quarta denominada invocação ou salto. A expressão controlo de fluxo refere-se à

ordem em que são executadas as sentenças do programa. Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

82


5.0. Estrutura sequencial Um estrutura sequência é

aquela em que uma acção (instrução) segue a outra na sequência. As tarefas sucedem-se de tal maneira que a saída de uma é a entrada de outra e assim sucessivamente até ao final do processo. A estrutura sequencial tem uma entrada e uma saída.

Acção 1

Acção 2

Acção n

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

83

5.0. Estrutura sequencial Exemplo: Cálculo da soma e do produto de dois números. inicio Leia(A) Leia(B)

inicio ler(A) ler(B) S ← A + B P ← A * B escreva(S, P)

S←A + B P←A*B

saida Escreva(S,P)

saida Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

84


5.1. Estrutura de decisão A especificação formal de algoritmos assume

uma maior importância quando o algoritmo requer uma descrição mais complexa do que uma simples lista de instruções. Nomeadamente, quando existem um várias alternativas, resultantes da avaliação de determinada condição. As estruturas de decisão servem assim para tomar decisões lógicas. Podem também ser chamadas estruturas

selectivas ou alternativas. Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

85

5.1. Estrutura de decisão Nas estruturas de decisão, é avaliada uma

condição e, em função do seu resultado, é feita uma opção ou a outra. As condições são especificadas usando expressões lógicas. As estruturas selectivas podem ser: Simples; Duplas; Múltiplas.

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

86


Estrutura de decisão simples A estrutura alternativa simples se – então

executa uma determinada acção quando é cumprida uma determinada condição. A selecção se – então avalia a condição e se a condição é verdadeira, então executa a acção

S1 (ou acções, caso S1 seja uma acção composta e conste de várias acções). se a condição é falsa, então não faz nada.

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

87

Estrutura de decisão simples

condição verdadeira

falsa

<condição> então <acção1> fim_se se

acções

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

88


Estrutura de decisão dupla A estrutura anterior é muito limitada e

normalmente será necessária uma estrutura que permita escolher entre duas opções ou alternativas possíveis, em função do cumprimento ou não de uma determinada condição. Se a condição c é verdadeira, executa-se a acção S1 e, se falsa, executa-se a acção S2.

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

89

Estrutura de decisão dupla

<condição> então <acção S1> senão <acção S2> fim_se se

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

90


Estrutura de decisão múltipla Com frequência é necessário que existam mais de duas alternativas. Este problema pode ser resolvido com estruturas simples ou duplas encadeadas ou em cascata. No entanto, se o número de alternativas for grande, este método pode trazer problemas de escrita do algoritmo e, naturalmente, de legibilidade. A estrutura de decisão múltipla avalia uma expressão que poderá receber n valores diferentes. Quando um desses valores é seleccionado na condição, ela realizará uma das n acções. Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

91

Estrutura de decisão múltipla

caso_de e fazer e1: acçãoS1 e2: acçãoS2 (…) en: acçãoSn fim_caso Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

92


5.2. Estruturas de repetição As estruturas que repetem uma sequência de

instruções um determinado número de vezes são denominadas ciclos. Variantes principais: Estrutura de repetição com a condição de controlo

no início do ciclo; Estrutura de repetição com condição de controlo no final do ciclo.

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

93

5.2. Estruturas de repetição

Repetir <bloco de instruções> Até que <condição>

Enquanto <condição> Fazer <bloco de instruções> fim_Fazer

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

94


5.2. Estruturas de repetição Repetir … Até que…

Enquanto … Fazer…

A palavra que indica

A palavra que indica

o inicio do ciclo é “Repetir”; Segue-se um conjunto de instruções que deverá ser executado até que a condição assuma o valor de Verdadeiro.

o inicio do ciclo é a palavra “Enquanto”; Segue-se a condição que controla a execução das acções dentro do ciclo; Só depois da condição de controlo é que surgem as acções a executar.

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

95

5.2. Estruturas de repetição Repetir … Até que… Neste ciclo, em que a

condição é avaliada no final, temos a certeza de que as instruções são executadas pelo menos uma vez.

Enquanto … Fazer… Pode acontecer que a

condição, que é avaliada no início do ciclo, não se verifique e, nesse caso, as acções indicadas não serão executadas nem uma vez.

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

96


Iteração Iteração significa repetição Em algoritmia e em programação, o termo

iteração é usado para designar cada uma das vezes que um ciclo as acções de um ciclo são executadas. inicio cont <- 0 num <- 4 repita enquanto cont <= 10 escreva(num,'*',cont,'=',num*cont,'\n') cont <- cont + 1 saida

Este ciclo tem 11 iterações Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

97

Contador Um contador – no contexto das estruturas de

repetição – é uma variavel que conta o número de iterações ou repetições de um ciclo. Os contadores são normalmente incrementos

(cont←cont+1), mas também podem ser decrementos (cont←cont-1).

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

98


Acumulador É uma variável que vai acumulando o

somatório dos vários valores que são introduzidos num ciclo, até que este termine.

Curso Profissional de Informática de Gestão - 2008/2011 - Módulo 1

99


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.