37
UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios

UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

  • Upload
    others

  • View
    84

  • Download
    3

Embed Size (px)

Citation preview

Page 1: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

UFCD 0782 - Estrutura Básica e Conceitos Fundamentais

1ºTIS

2019/2020

Conceitos Introdutórios

Page 2: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

■ Linguagens naturais e linguagens formais;

■ Algoritmos e pseudocódigo;

■ Dados e tipos de dados;

■ Variáveis e constantes;

■ Tipos de operadores;

■ Ficha de trabalho.

2

Sumário

Page 3: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

Linguagens naturais e linguagens formais

■ Linguagem – forma de comunicação, que utiliza símbolos e determinadas regras

para os combinar;

■ Linguagem natural é a linguagem falada ou escrita – Português;

3

Unidade 1 – Introdução à programação

Linguagem Associação de formas com significado

Sintaxe Especificação da combinação das formas

Semântica Especificação dos significados

Page 4: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

Linguagens naturais e linguagens formais

■ Linguagem formal – são previamente projetadas para determinados fins.

4

Unidade 1 – Introdução à programação

Linguagem natural Não projetada pelas pessoas

Passível de várias interpretações

Linguagem formal Previamente projetada para determinados fins

Evita ambiguidades e redundância

Page 5: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

Linguagens de programação

■ Existem inúmeras linguagens de programação. Estas são organizadas em gerações.A 1ª geração corresponde a linguagens de mais baixo nível, a linguagem máquina,as de nível superior aproximam-se da compreensão dos seres humanos.

5

Unidade 1 – Introdução à programação

Linguagem de

programação

Sistema de escrita formal, constituído por um conjunto

de regras para a escrita de programas de computador.

Programa (código)Conjunto de instruções numa linguagem de

programação.

Instrução Especificação ao processador da ação a executar.

Page 6: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

6

Unidade 1 – Introdução à programação

Page 7: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

7

Unidade 1 – Introdução à programação

Page 8: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

SERÁ QUE SABES?1 - Qual a diferença entre a linguagem natural e a linguagem formal?

(A) As linguagens naturais podem ser projetadas pelas pessoas,

enquanto as linguagens formais não.

(B) A ambiguidade e a redundância são características das linguagens

naturais.

(C) Não existem diferenças entre as linguagens naturais e formais.

(D) A estrutura, a sintaxe e semântica das linguagens naturais são

previamente estabelecidas.

8

Page 9: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

SERÁ QUE SABES?2 - Qual a diferença entre uma linguagem de programação de alto nível e

uma linguagem de programação de baixo nível?

(A) É de alto nível quando se aproxima da linguagem-máquina e de baixo

nível quando se aproxima da compreensão dos seres humanos.

(B) É de alto nível quando se afasta da linguagem natural e é de baixo

nível quando se aproxima desta.

(C) É de alto nível quando se aproxima da compreensão dos seres

humanos e de baixo nível quando se aproxima da linguagem-

máquina.

(D) Ambas as linguagens são diretamente executáveis pelo processador

do computador.

9

Page 10: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

Algoritmos

■ Um algoritmo pode ser escrito com o auxilio de uma linguagem natural, mas existem

outros modos de especificação que são o fluxograma e o pseudocódigo.

■ No primeiro caso utiliza-se uma representação gráfica e no segundo caso, uma

representação textual (português estruturado).

10

Unidade 1 – Introdução à programação

Problema

Algoritmo

Programa

O que se pretende resolver

Sequência finita de instruções descritas de forma lógica,

ordenada, clara e precisa a fim de resolver o problema

Algoritmo codificado numa linguagem de programação

Page 11: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

Fluxograma

■ Utilizam símbolos gráficos.

11

Unidade 1 – Introdução à programação

Símbolo

DescriçãoInicio ou fim do

algoritmo

Entrada ou saída

de dados

Processo/

Operação

Decisão/

ComparaçãoConexão Linha de fluxo

Page 12: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

Pseudocódigo

■ Utiliza uma representação textual (narrativa) constituída por palavras da linguagem

natural e pela sintaxe característica das linguagens de programação.

12

Unidade 1 – Introdução à programação

Estrutura Elemento

Dados Variáveis, constantes

Tipos de dados Numéricos, lógicos, carateres, estruturados

Operadores Aritméticos, relacionais, lógicos, de cadeias de carateres

Instruções básicas Atribuição, de entrada, de saída

Estruturas de controlo Sequencial, decisão ou seleção, repetição

■ Programas extensos – fluxograma fica difícil de concretizar.

Page 13: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

Algoritmo – Para construir é necessário:

1- Compreender o problema (o que se pretende);

2- Identificar os dados de entrada (os dados fornecidos e a sua situação inicial);

3- Identificar os dados de saída (os dados resultantes do processamento);

4- Identificar as operações de processamento (os cálculos e as restrições para a obtenção

dos dados de saída a partir dos dados de entrada);

5- Elaborar o algoritmo, definindo:

- as variáveis necessárias para armazenar as entradas e efetuar o processamento;

- as instruções necessárias.

6- Testar o algoritmo.

13

Unidade 1 – Introdução à programação

Page 14: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

Algoritmo – Dividir em duas partes…

■ Declaração de dados e variáveis;

■ Instruções que concretizam as operações necessárias para atingir um objetivo.

14

Unidade 1 – Introdução à programação

Page 15: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

A soma de dois números

15

Unidade 1 – Introdução à programação

Linguagem natural Fluxograma PseudocódigoLinguagem de

programação (Pascal)

1. Início

2. Ler dois valores

reais (a,b)

3. Efetuar o cálculo

da soma dos dois

valores reais

(c=a+b)

4. Escrever o

resultado da

soma (c)

5. Fim

Algoritmo soma;

Variáveis a,b,c: real;

Inicio

Ler (a,b);

c←a+b;

Escrever (c);

Fim.

Program soma;

Var a, b, c: real;

Begin

Readln(a,b);

c:=a+b;

Write(c);

End.

Inicio

Ler (a,b)

c←a+b

Escrever (c)

Fim

Page 16: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

SERÁ QUE SABES?3 – Define o conceito de algoritmo.

(A) É um conjunto de instruções escritas com a ajuda de uma linguagem

natural, mas que não necessita de expressões precisas.

(B) É uma sequência de instruções que devem ser exatamente seguidas

passo a passo para resolver um determinado problema.

(C) É um conjunto de instruções codificadas numa linguagem de

programação.

(D) É o conjunto de instruções que são descritas aleatoriamente para

compreender um determinado problema.

16

Page 17: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

SERÁ QUE SABES?4 – Completa a seguinte afirmação:

“O __________ é uma escrita informal, de alto nível, de um algoritmo que

apresenta alguns elementos de uma linguagem de programação.

(A) Pseudocódigo.

(B) Algoritmo.

(C) Fluxograma.

(D) Programa

17

Page 18: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

SERÁ QUE SABES?5 – Define o conceito de fluxograma.

(A) É uma linguagem de programação formal.

(B) É uma linguagem de programação natural.

(C) É uma representação textual de um algoritmo.

(D) É uma representação gráfica de um algoritmo.

18

Page 19: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

Dados e tipos de dados

■ Dados - elementos sobre os quais serão efetuadas operações.

■ Tipos de dados – está associado a um conjunto de valores, que definem o formato

específico desse tipo.

19

Unidade 1 – Introdução à programação

Page 20: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

Dados e tipos de dados

20

Unidade 1 – Introdução à programação

Tipo de dado Intervalo de valores Exemplo

Numérico Integer (inteiro) -32 768 a 32 767 30

Longint (inteiro longo) -2 147 483 648 a 2 147 483 647 1 123 23 123

Shortint (inteiro curto) -128 a 127 -3

Byte (inteiro) 0 a 255 200

Real (real) 2,9x10-39 a 1,7x1038 2,5

Lógico Boolean (booleano) True ou False (verdadeiro ou falso) True

Carácter Char (carácter) Qualquer elemento da tabela ASCII a

Cadeia de caracteres String (texto) Até 255 elementos da tabela ASCII Olá

Page 21: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

Dados e tipos de dados

21

Unidade 1 – Introdução à programação

Tipo de dado Descrição

Estruturado Array (vetor) É identificado por um único nome.

A sua estrutura é definida por vários elementos do mesmo tipo.

Record (registo) Constituído por um conjunto de dados “logicamente relacionados”,

podendo estes, ser de tipos diferentes.

Page 22: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

Constantes e variáveis

22

Unidade 1 – Introdução à programação

■ Constantes – identificadores para designar valores que não variam ao longo da execução

do programa.

– Pi =3,14

■ Variáveis – identificadores para designar valores que podem variar ao longo da execução

do programa.

– D=2xr

Page 23: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

23

Unidade 1 – Introdução à programação

Resolução de uma ficha de trabalho

Page 24: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

Próxima aula...

24

Page 25: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

Instruções de atribuição

25

Unidade 1 – Introdução à programação

■ Associa um determinado valor a uma variável.

– P 5

Page 26: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

Instruções de entrada e de saída

26

Unidade 1 – Introdução à programação

■ Entrada - servem para ler dados exteriores ao programa, que são armazenados em

variáveis.

– Quando pedimos ao utilizador para inserir o comprimentos dos catetos para

calcularmos a hipotenusa.

– Ler (cateto)

– Obter (Cateto)

■ Saída – servem para escrever dados para o exterior do programa.

– Quando mostramos o resultado, neste exemplo, o valor da hipotenusa.

– Escrever (“Olá”)

– Apresentar (“Hipotenusa=“, hipotenusa)

Page 27: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

Operadores e expressões

■ Operadores – elementos matemáticos que atuam sobre constantes e variáveis,

numa determinada expressão;

■ Expressão – combinação de operandos e operadores e que, uma vez resolvidas,

resultam num determinado valor.

27

Unidade 1 – Introdução à programação

Operadores

Aritméticos

Relacionais

Lógicos

Expressão x=(a+b)*3

Page 28: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

Operadores aritméticos

■ Permitem a realização de operações matemáticas com valores do tipo numérico,

cujo resultado é também um valor numérico.

28

Unidade 1 – Introdução à programação

Operador Significado Exemplo

^ Exponenciação 5^2 = 25

* Multiplicação 5*2 = 10

/ Divisão 5/2 = 2.5

MOD Resto da divisão inteira 15 MOD 2 = 1

DIV Divisão inteira 15 DIV 2 = 7

+ Adição 5 + 4= 9

– Subtração 6 - 2 = 4

+

Prioridade

Page 29: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

Operadores aritméticos

■ Os operadores MOD e DIV só podem ser aplicados a valores do tipo inteiro;

■ Do operador Divisão (/) resulta sempre num valor real;

■ Em caso de empate na prioridade das operações, estas realizam-se da esquerda

para a direita.

29

Unidade 1 – Introdução à programação

Page 30: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

Operadores relacionais

■ Efetuam comparações entre expressões, resultando sempre num dos valores

lógicos, true ou false.

■ Os operadores relacionais têm menos prioridade que os aritméticos.

30

Unidade 1 – Introdução à programação

Operador Significado Exemplo Resultado

> Maior que 5 > 6 FALSE

< Menor que 2*3 < 2^3 TRUE

<> Diferente de 2+3 <> 6 TRUE

= Igual a 2 = 0 FALSE

<= Menor ou igual a 4 * 2 <= 0 FALSE

>= Maior ou igual a 8 >= 2 TRUE

Page 31: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

Operadores lógicos

■ Realizam operações lógicas, devolvendo sempre um dos valores lógicos, true ou false.

■ Para se poder utilizar operadores lógicos, é necessário conhecer a tabela de verdade, que

contém as combinações possíveis dos operandos A e B para cada um dos operadores.

31

Unidade 1 – Introdução à programação

Operador Significado Exemplo Resultado

NÃO (NOT) Negação NÃO (13 >5) FALSE

E (AND) Conjunção 13 > 5 E 5 > 2 TRUE

OU (OR) Disjunção 13 < 5 OU 2 > 13 FALSE

Page 32: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

Operadores lógicos

■ Tabela de verdade

32

Unidade 1 – Introdução à programação

A B A E B A OU B NOT A

V V V V F

V F F V F

F V F V V

F F F F V

Page 33: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

Prioridade dos operadores

33

Unidade 1 – Introdução à programação

Prioridade Operadores

1ª NAO

2ª ^

3ª * / MOD DIV E

4ª + – OU

5ª < <= > >= <> =

Page 34: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

Qual o resultado final da expressão?

34

Unidade 1 – Introdução à programação

((10+5) > 10) E (10 < (10-5))

(15 > 10) E (10 < 5)

V E F

F

Page 35: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

Qual o resultado final da expressão?

35

Unidade 1 – Introdução à programação

NOT ((6>=3) E (5 <> 6)) OU (10*2 > 22)

NOT( V E V ) OU (20>22)

NOT( V ) OU F

F OU F

F

Page 36: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

SERÁ QUE SABES?6 – Classifica de verdadeira ou falsa as seguintes afirmações.

(A) De acordo com o conceito de prioridade, os operadores adição e

subtração são sempre executados antes dos operadores de multiplicação

e divisão.

(B) Os operandos são valores que recebem a ação dos operadores.

(C) Os operadores DIV e MOD podem ser aplicados a valores do tipo real.

36

Page 37: UFCD 0782 - Estrutura Básica e Conceitos Fundamentais · 2019. 11. 18. · UFCD 0782 - Estrutura Básica e Conceitos Fundamentais 1ºTIS 2019/2020 Conceitos Introdutórios ... de

SERÁ QUE SABES?7 – Indica o resultado das seguintes expressões.

(A) 3 div 2

(B) 3 mod 2

(C) (20 div 10) mod 2

37

1

1

0