engº pedro costaacessibilidade e programação web 1 workshop comunicação inclusiva...

27
Engº Pedro Costa Acessibilidade e Programação We b 1 Workshop Comunicação Inclusiva Acessibilidade e Programação Web

Upload: internet

Post on 18-Apr-2015

105 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Engº Pedro CostaAcessibilidade e Programação Web 1 Workshop Comunicação Inclusiva Acessibilidade e Programação Web

Engº Pedro Costa Acessibilidade e Programação Web 1

Workshop

Comunicação Inclusiva

Acessibilidade e Programação Web

Page 2: Engº Pedro CostaAcessibilidade e Programação Web 1 Workshop Comunicação Inclusiva Acessibilidade e Programação Web

Engº Pedro Costa Acessibilidade e Programação Web 2

Programação

Definição e análise do problema

Um programa deve ser projectado de modo a permitir resolver os problemas a que se propõe, de um modo simples e eficaz. O utilizador final, ou seja aquele que na realidade o vai utilizar, pretende uma ferramenta de trabalho, de uso simples, que lhe resolva os problemas e não lhe crie dificuldades suplementares devidas à sua complexidade. Nesta fase procede-se então à análise das necessidades em termos de entrada (Input) a introduzir, de saídas (Output) a obter, mapas , relatórios, para impressora, monitor ou ficheiros.

Compreensão do problema; Estudo dos dados de entrada; Estudo dos resultados de saída; Estudo das relações entre as entradas e saídas.

Page 3: Engº Pedro CostaAcessibilidade e Programação Web 1 Workshop Comunicação Inclusiva Acessibilidade e Programação Web

Engº Pedro Costa Acessibilidade e Programação Web 3

Programação

Desenho do algoritmo - Definição dos procedimentos necessários à resolução do problema, desde a validação dos dados (de modo a corrigir possíveis erros de operação) até à definição dos procedimentos de leitura e escrita em periféricos, cálculos, comparações, movimentações, etc.

Codificação e teste do programa - Após a definição do problema e da escolha da linguagem de programação a utilizar, procede-se então à elaboração do respectivo código, e ao teste e correcção de erros.

Elaboração da documentação - Esta fase ultima a elaboração do programa permitindo o conhecimento geral do programa, dos meios humanos e físicos (hardware) necessários, e ainda a descrição dos procedimentos de operação e manutenção do programa.

Page 4: Engº Pedro CostaAcessibilidade e Programação Web 1 Workshop Comunicação Inclusiva Acessibilidade e Programação Web

Engº Pedro Costa Acessibilidade e Programação Web 4

Programa

• Flexibilidade - um programa deve ser claro e organizado, para facilitar a sua leitura e compreensão não só ao seu autor mas também aos seus colaboradores

• Fiabilidade - a aplicação deve ser robusta, quer dizer, capaz de recuperar perante erros e utilização inadequada por parte do utilizador .

• Portabilidade - O desenho da aplicação deve permitir a codificação em diversas linguagens, utilizando para tal um desenho único e universal, sem utilizar declarações e operadores específicos de alguma linguagem.

• Mobilidade - a sua instalação em diversas máquinas deve ser possível e fácil. Deve ainda facilitar ao máximo  sua manutenção, alteração e actualização.

• Eficiência - o programa deve aproveitar adequadamente os recursos da máquina. Isto é conseguido minimizando a utilização da memória, o tempo de processamento e de execução Não nos devemos deixar levar pelo surgimento de máquinas cada vez mais potentes nos dias de hoje, e sempre que possível devemos considerar que dispomos de poucos recursos.

Page 5: Engº Pedro CostaAcessibilidade e Programação Web 1 Workshop Comunicação Inclusiva Acessibilidade e Programação Web

Engº Pedro Costa Acessibilidade e Programação Web 5

Tipo de dados

• Os programas vão manipular dados. Esses dados podem ser de vários tipos.

Tipo ExemploInteiros 1, 0 , -12 , 124

Reais 1.2 , 2.4, -5.233

Alfabético “a”, “abc”, “ola”, “-2”, “100”

Lógico Falso, Verdadeiro

Data 18-02-2008

Page 6: Engº Pedro CostaAcessibilidade e Programação Web 1 Workshop Comunicação Inclusiva Acessibilidade e Programação Web

Engº Pedro Costa Acessibilidade e Programação Web 6

Constantes e Variáveis

• Quando queremos guardar os dados manipulados pelo algoritmo,

usamos as variáveis. – ocupam um espaço na memoria do computador – Os dados podem ser guardados na variável:

• atravês da atribuição

– media = 5 ( coloca o valor 5 na variável media)

• Atraves da leitura

– Ler(media) (guarda na variavel media o valor introduzido pelo utilizador)

• Quando queremos guardar dados que se vão manter ao longo do algoritmo, usamos constantes ( por norma os nomes das constantes são em maiúsculas )

Page 7: Engº Pedro CostaAcessibilidade e Programação Web 1 Workshop Comunicação Inclusiva Acessibilidade e Programação Web

Engº Pedro Costa Acessibilidade e Programação Web 7

Variáveis

• Nomes da variáveis podem ser de 1 ou mais caracteres

• Não podem ser utilizados na formação de nomes de variáveis outros caracteres que não sejam letras, números e o _ .

• O 1º carácter só pode ser uma letra, nunca pode ser um número.

• O nome da variável não pode ter espaços em branco, isso é substituído pelo _ underline

• Não pode ser nome de uma variável uma palavra reservada a uma instrução da linguagem de programação

• Por norma o nome da variável deve de ser sugestivo, de modo ao ler-se o programa conseguíamos entender o que a variável represente

Page 8: Engº Pedro CostaAcessibilidade e Programação Web 1 Workshop Comunicação Inclusiva Acessibilidade e Programação Web

Engº Pedro Costa Acessibilidade e Programação Web 8

Operadores

Operador Descrição

Operador Atribuição

= <- Atribui o valor da direita à variavel da esquerda

Operadores Aritméticos

+ adição

- subtração

* multiplicação

/ divisão

% Resto da divisão de dois inteiros

Operadores Lógicos

e disjunção

ou conjunção

negar negação

Page 9: Engº Pedro CostaAcessibilidade e Programação Web 1 Workshop Comunicação Inclusiva Acessibilidade e Programação Web

Engº Pedro Costa Acessibilidade e Programação Web 9

Operadores

Operador Descrição

Operador Relacional

= igualdade

< menor que

<= Menor e igual que

> Maior que

>= Maior e igual que

<> desiguldade

Page 10: Engº Pedro CostaAcessibilidade e Programação Web 1 Workshop Comunicação Inclusiva Acessibilidade e Programação Web

Engº Pedro Costa Acessibilidade e Programação Web 10

Pseudo Codigo / Fluxograma

Pseudo Código Fluxograma Descrição

Inicio Inicio do algoritmo

Fim Fim do algoritmo

Ler Operação de leitura

Escrever Operação de escrita

Inicio

Fim

data

“escrever”

No fluxograma a ligação entre símbolos faz-se através de setas

Page 11: Engº Pedro CostaAcessibilidade e Programação Web 1 Workshop Comunicação Inclusiva Acessibilidade e Programação Web

Engº Pedro Costa Acessibilidade e Programação Web 11

1º Exemplo

• Escrever o algoritmo que pede dois números e calcula a sua soma.

Pseudo código

Inicio

Escrever(“ Introduza dois números”)

Ler(numero1,numero2)

Soma=numero1+numero2

Escrever(“ A soma dos numeros: “, numero1,”e”, numero2,”é igual a “, soma)

fim

Inicio

“Introduza dois números”

Numero1numero2

Soma=numero1+numero2

“ A soma dos numeros: “, numero1, ”e”, numero2,”

é igual a “ , soma

Fim

Page 12: Engº Pedro CostaAcessibilidade e Programação Web 1 Workshop Comunicação Inclusiva Acessibilidade e Programação Web

Engº Pedro Costa Acessibilidade e Programação Web 12

Exercícios

1. Elaborar um programa que lê uma temperatura em graus celsius e apresentá-la convertida em graus Fahrenheit.

2. Elaborar um programa que faça a conversão de uma quantidade de dólares para euros.

3. Elaborar um programa que calcule o volume de uma caixa rectangular.

Para cada um deles fazer o pseudo código e fluxograma.

Page 13: Engº Pedro CostaAcessibilidade e Programação Web 1 Workshop Comunicação Inclusiva Acessibilidade e Programação Web

Engº Pedro Costa Acessibilidade e Programação Web 13

Tipos de instruções

• Atribuição– Permite alterar o valor de uma variável

• Condição– Permite a execução condicional de instruções.

• Ciclo ou Repetições– Permite a execução repetida de instruções

Page 14: Engº Pedro CostaAcessibilidade e Programação Web 1 Workshop Comunicação Inclusiva Acessibilidade e Programação Web

Engº Pedro Costa Acessibilidade e Programação Web 14

Condição

Se condição

Então

bloco de instruções1

Senão

bloco de instruções2

Fim_se

condição

bloco de instruções1 bloco de instruções2

Se a condição for verdadeira o algoritmo executa o bloco de instruções1 se for falsa executa o bloco de instruções2.

A condição pode ser simples ou composta:

media<4

soma>=10

(soma>4) e (soma<10)

(Media=5) ou (media=10)

V F

Page 15: Engº Pedro CostaAcessibilidade e Programação Web 1 Workshop Comunicação Inclusiva Acessibilidade e Programação Web

Engº Pedro Costa Acessibilidade e Programação Web 15

Condições compostas

Condição1 Condição2 Resultado

Falso Falso Falso

Falso Verdadeiro Falso

Verdadeiro Falso Falso

Verdadeiro Verdadeiro Verdadeiro

Condição1 Condição2 Resultado

Falso Falso Falso

Falso Verdadeiro Verdadeiro

Verdadeiro Falso Verdadeiro

Verdadeiro Verdadeiro Verdadeiro

Disjunção ou Conjunção e

Page 16: Engº Pedro CostaAcessibilidade e Programação Web 1 Workshop Comunicação Inclusiva Acessibilidade e Programação Web

Engº Pedro Costa Acessibilidade e Programação Web 16

2º exemplo

• Dados dois números encontrar o maior

InicioEscrever(“ Introduza dois números”)Ler(numero1,numero2)Se numero1>numero2 então

maior=numero1Senão

maior=numero2Fim_seEscrever(“ O maior número entre : “, numero1,”e”, numero2,”é o “, maior)fim

Page 17: Engº Pedro CostaAcessibilidade e Programação Web 1 Workshop Comunicação Inclusiva Acessibilidade e Programação Web

Engº Pedro Costa Acessibilidade e Programação Web 17

Exercícios

1. Elaborar um programa em que dados três números encontre o menor.

2. Elaborar um programa em que dados dois números apresente a diferença do maior para o menor

3. Elaborar um programa em que dado 4 notas de um aluno, mostra para cada nota se o aluno passou ou não e no fim mostra a média do aluno

Para cada um deles fazer o pseudo código e fluxograma.

Page 18: Engº Pedro CostaAcessibilidade e Programação Web 1 Workshop Comunicação Inclusiva Acessibilidade e Programação Web

Engº Pedro Costa Acessibilidade e Programação Web 18

Repetições

repetir enquanto condiçãoBloco de instruçõesfim_enq

condição

bloco de instruçõesF

VQuando queremos repetir um bloco de instruçõesEnquanto acontece determinada condições

Quando queremos repetir um bloco de instruçõesDurante um numero determinado de vezes

repetir para contador=inicio Até fim Bloco de instruções

Fim_para

While do

For

Page 19: Engº Pedro CostaAcessibilidade e Programação Web 1 Workshop Comunicação Inclusiva Acessibilidade e Programação Web

Engº Pedro Costa Acessibilidade e Programação Web 19

3º exemplo

• Escrever um algoritmo que permita calcular a média das notas da turma de multimédia no workshop.

InicioEscrever(“ Número de alunos”)Ler(nalunos)Soma=0i=1Repetir enquanto i<=nalunos

escrever(“Nota do “, i, “º alunos”)ler(nota)soma=soma+notai=i+1

Fim_enqMedia=soma/nalunosEscrever (“ a média das notas dos “, nalunos, “ é de: “, media)fim

InicioEscrever(“ Número de alunos”)Ler(nalunos)Soma=0Repetir para i=1 até nalunos

escrever(“Nota do “, i, “º alunos”)ler(nota)soma=soma+nota

Fim_paraMedia=soma/nalunosEscrever (“ a média das notas dos “, nalunos, “ é de: “, media)fim

Page 20: Engº Pedro CostaAcessibilidade e Programação Web 1 Workshop Comunicação Inclusiva Acessibilidade e Programação Web

Engº Pedro Costa Acessibilidade e Programação Web 20

Exercícios

1. Escrever um algoritmo que efectue a leitura de 10 números e apresente no final o somatório e a média dos valores.

2. Escrever um algoritmo permita determinar o maior e o menor de uma lista de 10 números introduzidos pelo utilizador

3. Escrever um algoritmo que apresente os valores de conversão de graus celsius em Fahrenheit, de 10 em 10 graus, iniciando a contagem em 10ºC e finalizando em 100ªC.

Page 21: Engº Pedro CostaAcessibilidade e Programação Web 1 Workshop Comunicação Inclusiva Acessibilidade e Programação Web

Engº Pedro Costa Acessibilidade e Programação Web 21

Matrizes ou Vectores

Quando queremos guardar por exemplo as notas dos alunos do exercício anterior vamos ter as seguintes variáveis : nota1,nota2,nota3,nota4,nota5….

Isto torna-se impraticável se for 100 ou mil notas. Para isso existe os vectores que tem um nome e um atributo numérico.

nota[1 até 1000] temos o vector nota que pode ter valores desde posição um até à mil

nota[1]=2nota[3]=6 quer dizer que o vector nota na posição 3 tem o valor

6nota[6]=10

A grande vantagem é que podemos usá-la no bloco de instruções das repetições

Repetir para i=1 até 1000ler (nota[i])

Fim_para

Page 22: Engº Pedro CostaAcessibilidade e Programação Web 1 Workshop Comunicação Inclusiva Acessibilidade e Programação Web

Engº Pedro Costa Acessibilidade e Programação Web 22

4º exemplo• Escrever um algoritmo que dado um vector de 100 elementos,

encontre se existir um determinado elemento dado pelo utilizadorIniciovect[1 ate 100]Escrever(“ Qual o número que pretende ?”)Ler(num)cond=falsoi=1Repetir enquanto (i<=100) e (negar(cond))

se vect[i]=num entãocond=verdadeiro

senãoi=i+1

fim_seFim_enqSe cond então

Escrever (“ Foi encontrado o número “, num, “na posição “ , i)Senão

Escrever( “Não foi encontrado”)Fim_sefim

Page 23: Engº Pedro CostaAcessibilidade e Programação Web 1 Workshop Comunicação Inclusiva Acessibilidade e Programação Web

Engº Pedro Costa Acessibilidade e Programação Web 23

Exercícios

1. Escrever um algoritmo que lê um vector com 10 elementos, construa outro vector com esses elementos na ordem invertida, ou seja o primeiro elemento do 1º vector é o último elemento do 2º vector. No fim mostre os dois vectores.

2. Escrever um algoritmo que lê um vector com 12 elementos e construa outro vector em que copie os elementos da 1º matriz se forem pares e multiplique por 2 se forem impar.

3. Escrever um algoritmo que lê 25 valores de temperaturas em graus celsius num vector e construa outro vector com a respectiva conversão em graus fahrenheit.

Page 24: Engº Pedro CostaAcessibilidade e Programação Web 1 Workshop Comunicação Inclusiva Acessibilidade e Programação Web

Engº Pedro Costa Acessibilidade e Programação Web 24

Sub rotina

• Existem dois tipos de sub rotinas: as funções e o procedimentos. A utilização de sub rotinas permite:

– Modularizar– Simplificar

• Quanto mais independentes as sub rotinas forem mais fácil se torna detectar erros.

• Quando se chama uma sub rotina estamos a passar o controlo para essa rotina. A diferença entre funções e procedimentos é que a primeira retornam um valor e a segunda não.

• As sub rotinas executam operações sobre dados que lhe são passados. As sub rotinas normalmente possuem parâmetros.

• As variáveis criadas nas sub rotinas são destruídas no momento que a sub rotina termina.

Page 25: Engº Pedro CostaAcessibilidade e Programação Web 1 Workshop Comunicação Inclusiva Acessibilidade e Programação Web

Engº Pedro Costa Acessibilidade e Programação Web 25

Função

Função nome (lista de parâmetros)

Bloco de instruções

Nome=expressão

Bloco de instruções

Fim-função

Exemplo: Calcular o cubo de um numero

Função cubo(num)

cubo=num*num*num

Fim_função

Inicio

Escrever(”Introduza um numero”)

Ler(n)

Escrever( “O cubo de “, n ,” é “, cubo(n))

fim

Page 26: Engº Pedro CostaAcessibilidade e Programação Web 1 Workshop Comunicação Inclusiva Acessibilidade e Programação Web

Engº Pedro Costa Acessibilidade e Programação Web 26

Procedimento

procedimento nome (lista de parâmetros)Bloco de instruções

Fim-função

Exemplo: Calcular o cubo de um numero

procedimento cubo(num)

total=num*num*num

Escrever( “O cubo de “, num ,” é “, total)

Fim_função

Inicio

Escrever(”Introduza um numero”)

Ler(n)

Cubo(n)

fim

Page 27: Engº Pedro CostaAcessibilidade e Programação Web 1 Workshop Comunicação Inclusiva Acessibilidade e Programação Web

Engº Pedro Costa Acessibilidade e Programação Web 27

Exercícios

1. Escrever um algoritmo que efectue a leitura do nome e do sexo de uma pessoa. E por meio de uma sub rotina deve de apresentar a mensagem “Exmo. Senhor” e o nome se for masculino ,e “Exma. Senhora “ e o nome se for feminina.

2. Escrever um algoritmo que use uma sub rotina em que calcule a conversão de dólar para euro.

3. Escrever um algoritmo que dado dois vectores de 10 elementos cada um ordenados do menor para o maior, junte num terceiro vector com 20 elementos também ordenado do menor para o maior.

4. Escrever um algoritmo em que dado um vector de 12 elementos ordená-lo do menor para o maior.