Você está na página 1de 76

Programação I

O que é uma linguagem de Programação ?


“Uma linguagem de programação é um método padronizado para expressar instruções para um
computador. É um conjunto de regras sintácticas e semânticas usadas para definir um programa
de computador.

Uma linguagem permite que um programador especifique precisamente quais dados um sobre
os quais o computador vai actuar, como esses dados serão armazenados ou transmitidos e
quais acções que devem ser tomadas de acordo com várias circunstâncias.” (definição Wikipédia).

“Uma linguagem de programação é uma notação para escrever programas.”

Uma das principais metas das linguagens de programação é permitir que programadores
tenham uma maior produtividade, permitindo expressar suas intenções mais facilmente do que
quando comparado com a linguagem que um computador que se designa por “código máquina”
ou “linguagem de baixo nível”.

Ângela Oliveira 2008/2009 © 1

Programação I
Linguagens de programação são ferramentas importantes, para que os programadores possa
escrever programas mais organizados e com maior rapidez.

Linguagens de programação tornam os programas menos dependentes do computador ou


ambientes computacionais específicos (portabilidade). Isto acontece porque os programas
escritos em linguagens de programação são traduzidos para o código máquina e processados
pelo computador.

As Linguagens de Programação , são precisas, não ambíguas e limitadas às tarefas que o


computador pode desempenhar

Ângela Oliveira 2008/2009 © 2


Programação I
Um computador divide-se em duas componentes:

Parte fisica (hardware) que é composto por:

Unidade Central de Processamento (CPU) – responsável pela correcta execução das tarefas;

Memória - capacidade de armazenamento de informação por um determinado periodo de tempo:

♦ Memória Primária – RAM (Random Access Memory) – memória mais rápida, no entanto
só é guardada informação temporariamente;

♦ Memória Secundária – mais lenta, no entanto a informação pode ser guardada de forma
permanente;

Periféricos - são todos os sistemas auxiliares que permitem a comunição entre o processador e o
exterior. Ex.: rato, teclado, impressoras, discos externos, etc.

Ângela Oliveira 2008/2009 © 3

Programação I

Parte lógica (software) que é composto por :

Sistema Operativo;

Ficheiros- é um conjunto de dados agrupados sob determinado nome;

Programa - é m ficheiro que descreve uma tarefa específica atrvés de uma linguagem
conhecida pelo sistema.

Ângela Oliveira 2008/2009 © 4


Programação I

Há diversos níveis de linguagens de programação, de acordo com as afinidades que


apresentam com o modo como os humanos comunicam.

As linguagens de programação são divididas em:

1-linguagens máquina,

2-linguagens “assembly”

3-linguagens de alto nível

As primeiras são utilizadas para comandar directamente as acções do computador. As instruções


são constituídas por sequências de 0s e 1s.

Estas linguagens são difíceis de usar e compreender, variando consoante o tipo de computador.

Ângela Oliveira 2008/2009 © 5

Programação I
Exemplo 1:

Como se representa 11 em binário?

Como se representa “a” em binário, é representado por 97 em decimal.

O segundo tipo de linguagens é parecido com as linguagens máquina, a diferença reside no uso de nomes
simbólicos em vez de sequências de 0s e 1s. Também variam em função do tipo de computador utilizado.

Exemplo 2: Para repetir uma instrução dez vezes usa-se - rpt #10

Para mover o conteúdo de ar1 para ar2 usa-se – mvmm ar1, ar2

Linguagens de alto nível - são mais próximas das linguagens humanas e, por isso, muito mais fáceis de utilizar.
Há muitas linguagens deste tipo, por exemplo C, R, PASCAL, FORTRAN, BASIC, LISP, PROLOG, HASKEL,
JAVA, ...

Ângela Oliveira 2008/2009 © 6


Programação I

Exemplo 3:

C, PASCAL, COBOL, PROLOG, HASKELL, JAVA, PYTHON, RUBY ...

Um computador apenas “entende” linguagem máquina, por isso surge primeiro a linguagem
“assembly”, e por fim as linguagens de alto nível que são mais fáceis de utilizar.

No entanto é necessário utilizar mecanismos que efectuem a tradução da linguagem de alto


nível para linguagem máquina.

Ângela Oliveira 2008/2009 © 7

Programação I

Exemplo 4:

Calcular a soma de dois valores.

Em COBOL:

compute c=a+b

Em PASCAL:

function SomaDeDoisValores (A, B: Integer): Integer;

begin

Resutado:=A+B;

end;

Ângela Oliveira 2008/2009 © 8


Programação I
Em PROLOG:

SomaDeDoisValores (A, B, Result):- Result is A+B

Em HASKELL:

soma:: Integer -> Integer -> Integer

soma a b =a+b

Em PYTHON:

def SomaDeDoisValores (a, b):

return a+b

Em RUBY:

def Soma_de_dois_valores (a, b)

a+b

end

Ângela Oliveira 2008/2009 © 9

Programação I
Em C\C++\JAVA:

public int SomaDeDoisValores (int a , int b){

return a+b;

Existem duas formas de uma linguagem de programação ser convertida em linguagem


máquina: por compilação ou por interpretação.

Um compilador é um programa que a partir de um código escrito numa linguagem designado


“código fonte”, cria um programa equivalente mas escrito em linguagem de baixo nível,
designado “código objecto”.

Um interpretador é um programa de computador que ao ler um código fonte o converte em


código executável.

As linguagens que são interpretadas são mais dinâmicas uma vez que não precisam de
escrever o código fonte mas sim vai interpretando o código fonte geralmente linha a linha.

Ângela Oliveira 2008/2009 © 10


Programação I

JAVA

Ângela Oliveira 2008/2009 © 11

Programação I

Linguagem de Programação JAVA

O Java surgiu no inicio da década de noventa e foi desenvolvido pela Sun Microsystems.

Inicialmente esta linguagem estava orientada para o desenvolvimento de aplicações para


a WEB, designadas por applets.

Com a introdução do JAVA 2, esta linguagem tornou-se uma plataforma de


desenvolvimento com um interface gráfico bastante sofisticado.

Ângela Oliveira 2008/2009 © 12


Programação I
Como funciona:

Ângela Oliveira 2008/2009 © 13

Programação I
Estrutura de um programa

- Um programa em Java é um conjunto de uma ou mais classes;


- Uma classe é um conjunto de um ou mais métodos;

- Um método contém instruções.

Exemplo:

import java.io.*; //package


// Imprime uma mensagem
public class mensagem {
public static void main (String[] args) {
System.out.println (“Olá, bom dia !”);
}
}

Ângela Oliveira 2007/2008 14


Programação I
O Método main
Quando se executa um programa em Java, as instruções incluídas no método
main começam a ser executadas automaticamente e a restante execução decorre
a partir deste ponto.
Todas as aplicações têm que ter um método main.

Tem que ser declarado da seguinte forma:


public static void main (String[] args) {
….
}

A classe que tem o mesmo nome que o ficheiro que se compila e executa.

Ângela Oliveira 2008/2009 © 15

Programação I

Os programas incluem normalmente três tipos de componentes:

Instruções: implicam a execução de algo;

Declarações: fornecem informação necessária para as instruções


poderem ser executadas;

Comentários: para tornar os programas mais legíveis, mas ignorados


pelo computador.

Ângela Oliveira 2008/2009 © 16


Programação I

Importante:
As linguagens de programação têm regras
(sintaxe) que indicam como criar instruções,
declarações e comentários de forma válida.

Qualquer programador deve poder ler e


entender o código de forma fácil.

Ângela Oliveira 2008/2009 © 17

Programação I

A sintaxe do Java inclui:


-palavras reservadas;
- símbolos;
- identificadores;
- valores.

Palavras reservadas
Palavras reservadas são palavras especificas da linguagem que só
podem ser usadas nas situações para as quais foram definidas.

Exemplo1: class, int, void, public, etc.

Ângela Oliveira 2007/2008 18


Programação I
Símbolos

Têm uma função semelhante à das palavras reservadas.

Exemplo 2: Operadores: + - * . = ; Pontuação: , { } ( ) ;

Identificadores

Palavras que se usam para nomear entidades que o programa usa e manipula.
Exemplo 3 : variáveis e constantes;
Podem ser constituídas por qualquer combinação de letras, dígitos, e os caracteres
_ e $.
Um identificador não pode começar com um dígito.
O Java é “case sensitive”, ou seja Total, total e TOTAL são identificadores
diferentes.

Ângela Oliveira 2007/2008 19

Programação I

Para os identificadores cada linguagem determina um conjunto de normas


(convenções). No caso do JAVA têm-se:

- Uma Classe - começa com maiúscula (ex. PrimeiraClasse)


- Um Método - começa com minúscula (ex. main)
- Uma Variável - começa com minúscula (ex. soma)
- Uma Constante - em maiúsculas (ex. MAX)

É necessário algum cuidado na escolha identificadores, uma vez que


devem fazer uma descrição clara do que identificam, de forma a que a
leitura do código se torne explicita.

Ângela Oliveira 2007/2008 20


Programação I

O exemplo seguinte ilustra algumas das situações a evitar (completamente):

Exemplo 4:

• Variáveis com nomes:


- como “a” ou “y”, pode ser pouco esclarecedor ;
- como “aminhavariaveldasoma” é demasiado longo e
pode tornar o código demasiado confuso;

• Classes com nomes como:


- como “J”, não têm grande significado, para além do nome
do ficheiro que ficará “J.java”;
- como “AminhaprimeiraClasseJava”;

Ângela Oliveira 2007/2008 21

Programação I
Valores
Trata-se de dados explícitos:
¬ Inteiros: 127, 1, 0;
¬ Reais: - 3.14159, 0.000345
¬ Caracteres: ‘a’, ‘A’;
¬ Strings: “Olá Mundo”:

Ângela Oliveira 2007/2008 22


Programação I
Exercicio: Na classe seguinte identificar:
palavras reservadas, símbolos identificadores e valores.

import java.io.*; //package

public class mensagem {


public static void main (String[] args) {
System.out.println (“Olá, bom dia !”);
}
}

Ângela Oliveira 2008/2009 © 23

Programação I
O que significa a primeira instrução da classe anterior?

import java.io.*;

O java.io.* é um package. Um package é um “mecanismo” que


permite agrupar classes relacionadas num determinado directório.

Quando um código java começa a ficar muito extenso não é


aconselhável mantê-lo no mesmo directório.
A linguagem java permite a divisão desse código por classes e por
packages.

Ângela Oliveira 2008/2009 © 24


Programação I
O código que se junta nas mesmas classes e/ou packages deve
dizer respeito ao mesmo assunto.

Existem na linguagem java os chamados packages standard que


são:
≡ java.io – contém classes para manipulação de dados de
entrada/saída;
≡ java.lang – contém classes representativas de tipos primitivos de
dados (booleanos, inteiros, string);
≡ java.awt – contém classes para a criação de objectos gráficos.

Ângela Oliveira 2007/2008 25

Programação I
Estrutura Básica de um Programa
O desenvolvimento de uma aplicação JAVA tem que ser sempre feito usando classes.

As Classes em JAVA devem obedecer à seguinte sintaxe:

<modificador de acesso>class <nome da classe> {


<Declaração de Variáveis>
<Declaração de Métodos>

public static void main (String args[]){


//corpo do programa
}
}

Ângela Oliveira 2007/2008 26


Programação I
EXEMPLO
Nome da Classe
Variável
public class Exemplo1 {
String mensagem=“Já sei construir uma classe em JAVA!”;

public void Imprime_Msg (){


System.out.println (mensagem); Definição de um método
}
public static void main (String args[]){
Imprime_Msg(); Corpo do Programa
}
}

Ângela Oliveira 2007/2008 27

Programação I
Outra forma de construir a classe anterior sem recorrer a métodos:

public class Exemplo1 {


public static void main(String[] args) {
String mensagem="ola";
System.out.println(mensagem);
}

Observações:

As classes, métodos ou blocos de código tem que estar sempre delimitados por
abrir { e fechar }.

Um comando deve ser sempre finalizado com ;.

Ângela Oliveira 2007/2008 28


Programação I
Tipos Primitivos de Dados
A linguagem JAVA possui quatro tipos principais básicos de
dados:

 Inteiros;
 Ponto Flutuante;
 Caracteres;
 Lógicos

Estes dados básicos permitem a representação adequada dos


valores numéricos.

Ângela Oliveira 2007/2008 29

Programação I
Tipos de Dados Inteiros

Existem quatro formas de representar estes dados:


 byte – 8 bits (-128 a 127);
 short (inteiro curto) – 16 bits (-32 768 a 32 767);
 int (inteiro) – 32 bits (-2 147 483 648 a 2 147 483 647)
 long (inteiro longo) – 64 bits (-9 233 372 036 854 775 808 a
-9 233 372 036 854 775 807).

Por defeito (default) os valores são tratados como inteiros simples (int).
No JAVA, não existe um indicador de valores negativos, assim os
inteiros representam tanto valores positivos, como negativos.

Ângela Oliveira 2008/2009 © 30


Programação I
Tipos de Dados de Ponto Flutuante

Existem duas formas de representar estes dados:


 float – valores reais com precisão simples;
 double – valores reais com dupla precisão.
Ex.3.14159, -0.02

Os tipos de dados de ponto flutuante servem para armazenar


números que possuem uma parte decimal e deve ser utilizado o
ponto como separador de casas decimais.

Para representar por exemplo o número 3.4*105 podem ser


usados os caracteres “e” ou “E” e ficará 3.4e5 ou 3.4E5.

Ângela Oliveira 2007/2008 31

Programação I
Tipos de Dados Caracter

O único tipo desta categoria é o char e permite o armazenamento de


apenas um caracter. Para armazenar um conjunto de palavras tem que ser
usado o tipo String que não é um tipo primitivo de dados.

Cada caracter ocupa 16 bits(2 bytes).

Um valor que represente um caracter deve estar delimitado por ‘’.


Exemplo: char letra=‘a’;

Existem caracteres que são considerados especiais, como podemos


observar na tabela seguinte:

Ângela Oliveira 2007/2008 32


Programação I

Tipos de Dado Caracter (continuação)

Representação Significado
\n Nova linha
\b Retrocesso
\t Tabulação
\f Nova página
\’ Apóstrofe
\” Aspas
\\ Barra Invertida

Ângela Oliveira 2007/2008 33

Programação I
Tipos de Dados Lógicos

Esta categoria também possui apenas um único tipo que é o


boolean.
Uma variável deste tipo pode armazenar apenas dois valores
lógicos: true (verdadeiro) ou false (falso).

Em algumas linguagens de programação é feita associação


do “0” e “1”, a verdadeiro e falso, mas não é o caso do JAVA.

Ângela Oliveira 2007/2008 34


Programação I
Declaração de Variáveis

O que é uma variável?


Uma variável é um nome definido pelo programador ao qual
pode ser associado um valor pertencente a um certo tipo de
dados.
Uma variável pode ser vista como uma memória capaz de
armazenar um valor de determinado tipo.

Uma variável possui um nome, um tipo e um conteúdo.

Ângela Oliveira 2007/2008 35

Programação I
Declaração de Variáveis (continuação)

Para usar uma variável é necessário declará-la antes.

Sintaxe da declaração de variáveis:

tipo_de_dado nome_da_variável;
ou
tipo_de_dado nome_da_variável =valor_inicial;

Ângela Oliveira 2008/2009 © 36


Programação I
Declaração de Variáveis (continuação)

Nome de uma variável?


O nome pode ser uma sequência de caracteres alfabéticos e numéricos, iniciados por
uma letra ou pelos caracteres underscore “_” ou cifrão “$”.

Os nomes não podem conter outros símbolos gráficos, operadores ou espaços em


branco.

O nome de uma variável pode ter o comprimento que o programador entender, mas
apenas os primeiros 32 caracteres são usados para distinguir diferentes variáveis.

Exemplo: char a_primeira_inicial_do_meu_primei$ro_nome =‘a’;


char a_primeira_inicial_do_meu_segund$o_nome=‘c’;
São iguais ou diferentes?

Ângela Oliveira 2008/2009 © 37


TECNOLOGIAS DA INFORMAÇÃO E MULTIMEDIA
ENGENHARIA INFORMÁTICA

PROGRAMAÇÃO I

Definimos Algoritmo como a sequência de passos que visam atingir um objetivo bem definido.

Os algoritmos são utilizados no dia-a-dia para a solução dos mais diversos problemas.

Alguns exemplos genéricos de algoritmos usados no nosso dia-a-dia são:

um manual de instruções,

uma receita de um bolo,

uma pesquisa na lista telefónica, etc.

O que têm em comum?

Podem ser vistas como uma serie finita e bem definida de passos ou regras que,
quando realizadas, atingem um objetivo previamente definido.

Propriedades de algoritmos:

•instruções simples e bem definidas;

• sequência ordenada de instruções;

• sequência finita de passos.

1 de 4
Uma forma de construir algoritmos de uma forma mais simples é recorrendo às cinco
“Perguntas – Chave:”
1. Qual o objectivo do algoritmo?
2. Quais são os dados de entrada?
3. Qual o processamento a efectuar?
4. Quais serão os dados de saída?
5. Existem restrições/regras específicas do problema?

Exemplo: Consideremos o seguinte problema:

Calcular a média das seguintes disciplinas:

Multimédia I

Lógica

Probabilidade e Estatística

Interfaces Pessoa-Máquina I

Programação I

Resposta às perguntas chave:

Qual o Objectivo do algoritmo? Calcular a média das disciplinas indicadas.

Quais são os dados de entrada? As notas de Multimédia I, Lógica, Probabilidade e Estatística,


Interfaces Pessoa-Máquina I e Programação I.
Qual o processamento a efectuar? Calcular a soma das cinco notas e dividir por 5.
Quais serão os dados de saída? A média final.
Existem restrições/regras específicas do problema? Os valores inseridos para as notas não
podem ser negativos, nem maiores que vinte.

Ângela Oliveira © 2 de 4
Exercícios

Construa algoritmos para os seguintes casos:

1- Fazer uma torrada.

2- Requisitar um livro.

3- Somar dois números.

4- Ler a nota de um aluno e aplicar um bonús de 5%.

5- Tendo como dados de entrada dois pontos quaisquer no plano, P(x1,y1) e


P(x2,y2), escreva a distância entre eles.
A fórmula que efetua tal cálculo é:

6- O custo ao consumidor de um carro novo é a soma do custo de fábrica com


a percentagem do distribuidor e dos impostos (aplicados ao custo de
fábrica). Supondo que a percentagem do distribuidor seja de 28% e os
impostos de 45%, escrever um algoritmo que leia o custo de fábrica de um
carro e escreva o custo ao consumidor.

7- Calcule a média aritmética das 3 notas de um aluno e mostre, além do valor


da média, uma mensagem de "Aprovado", caso a média seja igual ou
superior a 10, ou a mensagem "Reprovado", caso contrário.

8- Ler um valor e escreve a mensagem: “È múltiplo de 3? ou Não é múltiplo de


3?”.

9- Dada a idade de um nadador classifica-o numa das seguintes categorias:


infantil A = 5 - 7 anos
infantil B = 8-10 anos
juvenil A = 11-13 anos
juvenil B = 14-17 anos
adulto = maiores de 18 anos

Ângela Oliveira © 3 de 4
10- Ler três números inteiros e mostrar o maior deles.

11- Lê um conjunto de 4 valores i, a, b, c, onde i é um valor inteiro positivo e a, b,


c, são quaisquer valores reais:
a) Se i=1 escrever os três valores a, b, c em ordem crescente.
b) Se i=2 escrever os três valores a, b, c em ordem decrescente.
c) Se i=3 escrever os três valores a, b, c de forma que o maior entre a,
b, c fique dentre os dois.

12- Recebe um número e verifica se esse número é ou não par.

Ângela Oliveira © 4 de 4
Programação I

Declaração de Variáveis (continuação)

Exemplo:
// Exemplo de utilização de variáveis
public class Exemplo_Var {
public static void main (String[] args) {
int alunos = 120;
System.out.println ("Entraram " +alunos+" na EST!");
alunos=200;
System.out.println ("No total existem "+alunos+" alunos!");
}
}

Ângela Oliveira 2008/2009 © 1

Programação I
Declaração de Variáveis (continuação)

No exemplo anterior para além de se ter definido a variável alunos como


sendo do tipo int é efectuada também uma instrução de atribuição coloca
numa variável o resultado de uma expressão:

nome_da_variável = expressão;

Uma instrução deste tipo leva o computador a calcular o valor da expressão e


a armazená-lo na variável indicada . O valor anterior armazenado na variável
é perdido. Ou seja:

Ângela Oliveira 2008/2009 © 2


Programação I

Declaração de Variáveis (continuação)

alunos 120 alunos 200

A variável É efectuada A variável


alunos é a atribuição alunos fica
inicializada agora com
com o valor alunos=200; o valor 200;
120

Ângela Oliveira 2008/2009 © 3

Programação I
Exercício 1:
// Exemplo de utilização de variáveis
public class Exemplo_Var_teste {
public static void main (String[] args) {
int max = 1;
System.out.println (“O valor de max é " +max+"!");
System.out.println (“Agora o valor de max é " +max+"!");
max=5;
//System.out.println (“Mas max é"+max+“!");
}
}

Ângela Oliveira 2008/2009 © 4


Programação I
Exercício 2: Quais dos seguintes nomes de variáveis estão correctos?

a) $mine
b) %mine
c) x2
d) 2x
e) total-geral
f) total geral
g) total_geral
h) ExpData
i) Void
j) _maximo
k) TOTAL

Ângela Oliveira 2008/2009 © 5

Programação I
Exercício 3: Quais das seguintes declarações de variáveis estão
correctos?

a) Int i;
b) int i,j;
c) int i, int j;
d) double valor_medio;
e) char letra=c;
f) boolean ok=1;
g) boolean ok=false;
h) float angulo=1,57*108
i) float angulo=1,57E8
j) float angulo=1.57*108
k) int quantidade=0; quantidade=1;

Ângela Oliveira 2008/2009 © 6


Programação I

Operadores

O JAVA possui operadores de vários tipos:

• Operadores Aritméticos;

• Operadores Relacionais;

• Operadores Lógicos;

• Operadores de Atribuição (=).

Ângela Oliveira 2008/2009 © 7

Programação I

Operadores Aritméticos

Operador Significado Exemplo


+ Adição a+b

- Subtracção a-b

* Multiplicação a*b

/ Divisão a/b

% Resto da divisão inteira a%b

- Sinal negativo -a

+ Sinal positivo +a

++ Incremento unitário ++a ou a++

-- Decremento unitário --a ou a--

Ângela Oliveira 2008/2009 © 8


Programação I

Operadores Aritméticos (continuação)


Exemplos: Qual o resultado?

int a = 5;
int b=2;
System.out.println ("a= "+a);
System.out.println (“b= "+b);
System.out.println ("a+b="+(a+b));
System.out.println ("a-b="+(a-b));
System.out.println ("a*b="+(a*b));
System.out.println ("a/b="+(a/b));
System.out.println ("a%b="+(a%b));
System.out.println ("-a="+(-a));
System.out.println ("a++="+(a++));
System.out.println ("++b="+(++b));
System.out.println ("a--="+(a--));
System.out.println ("--b="+(--b));

Ângela Oliveira 2008/2009 © 9

Programação I
Operadores Aritméticos (continuação)
Exemplos: Solução (com instruções separadas):

a= 5
b= 2
a+b=7
a-b=3
a*b=10
a/b=2
a%b=1
-a=-5
a++=5 a++=5 a=6 (para instruções encadeadas)
++b=3
a--=5 a--=6 a=5 (para instruções encadeadas)
--b=1 --b=2 b=2 (para instruções encadeadas)

Ângela Oliveira 2008/2009 © 10


Programação I

Operadores Relacionais

Operador Significado Exemplo


== Igual a==b

!= Diferente a!=b

< Menor que a<b

<= Menor ou igual a a < =b

> Maior que a>b

>= Maior ou igual a a > =b

Ângela Oliveira 2008/2009 © 11

Programação I

Operadores Aritméticos (continuação)


Exemplos: Qual o resultado?

int a = 15;
int b=12;
System.out.println ("a= "+a);
System.out.println (“b= "+b);
System.out.println ("a==b ---"+(a==b));
System.out.println ("a!=b ---"+(a!=b));
System.out.println ("a < b ---"+(a < b));
System.out.println ("a <= b ---"+(a <= b));
System.out.println ("a > b ---"+(a > b));
System.out.println ("a >= b ---"+(a >= b));

Ângela Oliveira 2008/2009 © 12


Programação I

Operadores Lógicos

Operador Significado Exemplo


&& E lógico (and) a&&b

|| Ou lógico (or) a!=b

! Negação (not) !a

Ângela Oliveira 2008/2009 © 13

Programação I

Estruturas de Controlo

Ângela Oliveira 2008/2009 © 14


Programação I

Quando se escrevem algoritmos existem situações como a seguinte:


“Verificar se um número é diferente de zero.”

Algoritmo:
Dados de entrada: um valor inteiro
Dados de saída: verdadeiro ou falso
Se numero==0 então
Devolve verdadeiro
Senão
Devolve falso

Ângela Oliveira 2008/2009 © 15

Programação I

Ou seja, na maioria dos casos, é necessário que o programa tome decisões.


Assim, os comandos que tomam decisões são chamados de fluxos ou estruturas
de controlo.

No Java existem as seguintes estruturas de controlo:


1. if – else;
2. while;
3. do – while;
4. for;
5. switch;
6. break;
7. continue;

Ângela Oliveira 2008/2009 © 16


Programação I
1. if – else:
Sintaxe:
if (expressão_booleana)
comando 1;
[else
Esta expressão é formada por
operadores lógicos e relacionais.
comando 2];
Se a expressão for verdadeira
(true), executa o comando 1,
caso seja falsa (false) executa o
comando 2

Ângela Oliveira 2008/2009 © 17

Programação I
1. if – else(continuação):
Exemplos:
1. Voltando ao algoritmo, como podemos transformá-lo em código JAVA.
A estrutura de controlo if-else resolve o problema:

Ângela Oliveira 2008/2009 © 18


Programação I
1. if – else(continuação):
Exemplos:
2. Para que um
comando execute mais
do que uma instrução é
necessário que o bloco
de código esteja entre {
}:

Ângela Oliveira 2008/2009 © 19

Programação I

1.if – else(continuação):
Exemplos:
3. è ainda possível
combinar várias instruções
na expressão booleana de
teste:

Ângela Oliveira 2008/2009 © 20


Programação I
2. While:
Implementa um ciclo para executar um bloco de comandos
sucessivas vezes.
A instrução de comparação é avaliada antes do ciclo começar.

Sintaxe:
Enquanto a expressão for
while (expressão_booleana){ verdadeira (true), o ciclo será
executado
comandos;
}

Ângela Oliveira 2008/2009 ©


21

Programação I

1. While (continuação):
Exemplo:
while (i!=0){
salário = salário * 0.5;
i--;
}

Ângela Oliveira 2008/2009 © 22


Programação I
3. do - while:
Esta estrutura de controlo é semelhante à anterior, mas neste
caso o conjunto de comandos do ciclo é executado pelo menos
uma vez. A instrução de comparação é avaliada depois do ciclo
ser executado.
Sintaxe:
do{
comandos;
}while (expressão_booleana);

Ângela Oliveira 2008/2009 © 23

Programação I

4. for:
É um ciclo que possui uma parte inicial com a inicialização das
variáveis, seguida por uma expressão de comparação e depois
uma parte final com o incremento ou decremento a aplicar.

Sintaxe:
for (inicialização; condição; iteração){
comandos;
}

Ângela Oliveira 2008/2009 © 24


Programação I

4. for (continuação):
Exemplos:
1. for (i=0; i <20; i++){
salario=salario*0.5;}

2. for (int i=10; i >0; i--){ //podem inicializar-se variáveis dentro do ciclo
comandos; }

3.int i=0;
for (; <20;){ //O único elemento no ciclo “for” que não é dispensável é a condição
comandos;
}

Ângela Oliveira 2008/2009 © 25

Programação I

4. for (continuação):
Exemplos:
4. for (i=0, j= 10; i <8 && j >2; i++, j--){

comando;
}

A inicialização e incremento podem ser feitos com mais do que uma


variável, separadas por vírgulas.

Ângela Oliveira 2008/2009 © 26


Programação e Algoritmos I

Exercício:

Escreva o algoritmo e respectivo código


de um programa em que dados os valores
de a, b e c, calcule as duas raízes de um
polinómio de segundo grau usando a
fórmula resolvente.

Ângela Oliveira 2007/2008 27


Programacão I

Estruturas de Controlo
(continuação)

Ângela Oliveira 2008/2009 © 1

Programacão
I
5. switch:
É um ciclo que avalia uma expressão contra vários resultados possíveis. O valor a avaliar só
pode ser char, byte, short ou int.
Sintaxe:
switch (expressão){
case valor1:
comando1;
break;
case valor2:
comando2;
break;

[default:
comando_default;]
}

Ângela Oliveira 2008/2009 © 2


Programacão I
Exemplo 1:
switch(i){
case 1:
System.out.println(“um");
break;

case 2:
System.out.println(“dois");
break;

default:
System.out.println(“outro número");
break;

Ângela Oliveira 2008/2009 © 3

Programacão I
Exemplo 2: Switch dentro de outro switch:
import cs1.*; // Uso de switch encadeado
public class Switchduplo {

/* É pedida a opção a escolher e dois valores inteiros


- se o utilizador inserir a opção 1 pode escolher entre fazer a adição ou subtracção dos valores;
- se o utilizador inserir a opção 2 pode escolher entre fazer a multiplicação ou divisão dos valores. */

public static void main(String[] args) {


int opcao, valor1, valor2;
char escolha;

System.out.println("Insira o primeiro valor:");


valor1=Keyboard.readInt();
System.out.println("Insira o segundo valor:");
valor2=Keyboard.readInt();
System.out.println("Insira uma opção:");
opcao=Keyboard.readInt();

Ângela Oliveira 2007/2008 © 4


Programacão I
switch(opcao){
case 1:
System.out.println("Qual a operação que deseja efectuar? + ou -?");
escolha=Keyboard.readChar();
switch (escolha){
case '+':
System.out.println(" A soma é: "+ (valor1+valor2) );
break;
case '-':
System.out.println(" A subtracção é: "+ (valor1-valor2) );
break;
default:
System.out.println("Operação inválida!!!");
}
break;

Ângela Oliveira 2008/2009 © 5

Programacão I
case 2:
System.out.println("Qual a operação que deseja efectuar? * ou /?");
escolha=Keyboard.readChar();
switch (escolha){
case '*':
System.out.println(" A multiplicação é: "+ (valor1*valor2) );
break;
case '/':
System.out.println(" A divisão é: "+ (valor1/valor2) );
break;
default:
System.out.println("Operação inválida!!!");
break;
}
break;
default:
System.out.println("Opção Inválida!!:");
}
}
}

Ângela Oliveira 2008/2009 © 6


Programacão I

6. break :

Não se trata de um ciclo mas de um comando que está directamente


relacionado com os ciclos.
Quando se encontrar o comando break num ciclo, é parada a sua
execução.
Pode também usar-se para forçar a saída de blocos de instruções
condicionais como é o caso do switch.

Ângela Oliveira 2008/2009 © 7

Programacão I

Exemplo 3:

Ângela Oliveira 2008/2009 © 8


Programacão I

7. continue :
Este comando também interrompe a execução do ciclo ao
contrário do break, não sai do ciclo, passa para a instrução
seguinte mas dentro do ciclo.

Ângela Oliveira 2008/2009 © 9

Programacão I

Exemplo 4:

Ângela Oliveira 2008/2009 © 10


Programacão I

Exercício:

Escrever um programa que apresente ao utilizador os números de


1 a 50.
Use três estruturas de controlo diferentes.

Ângela Oliveira 2008/2009 © 11

Programacão I
Solução1: Estrutura de controlo - while

public class EstruturaControlo1 {


public static void main(String[] args) {
int i=1;
while (i<=50){

System.out.println(i);
i++;
}
}
}

Ângela Oliveira 2008/2009 © 12


Programacão I
Solução 2: Estrutura de controlo – do - while

public class EstruturaControlo2 {


public static void main(String[] args) {
int i=1;
do{
System.out.println(i);
i++;
} while (i<=50) ;

}
}

Ângela Oliveira 2008/2009 © 13

Programacão I
Solução 3: Estrutura de controlo – for

public class EstruturaControlo3 {


public static void main(String[] args) {
for (int i=1; i<=50; i++){
System.out.println(i);
}
}
}

Ângela Oliveira 2008/2009 © 14


Programação I

Trabalho de Grupo

1. O que é uma variável?

2. O que são tipos de dados?

3. Qual a diferença entre atribuição e comparação?

4. Considere três números inteiros x=12, y=-5 e z=3.


4.1. Como declara estes valores em JAVA?
4.2. Se pretendesse calcular a soma como faria?

5. Considere um terreno se pretender calcular a área, quais as variáveis


que teria que definir?

6. Considere a=5 e b=8. Como representa estas variáveis? E a divisão


delas?

7. Qual a diferença entre um caracter e uma String?


7.1. Declare duas variáveis do tipo String;
7.2. Declare duas variáveis do tipo caracter.

8. O que são valores booleanos? Declare um valor do tipo booleano.

9. Qual a diferença entre inicializar uma variável e declará-la?

10. Declare e inicialize uma variável inteira, uma real, uma booleana, um
caracter e uma String.

Ângela Oliveira 1
2008/09
Programação I

Trabalho de Grupo

11. Considere a seguinte tabela. Faça a correspondência entre a Coluna


A e a Coluna B.
Coluna A Coluna B
1 a+b Operador de Relacional de A
igualdade
2 true==true Operador de Relacional de B
diferente
3 a%b Operador da Soma C
4 a!=b Operador lógico de conjunção D
5 a=b Operador lógico de negação E
6 a&&b Operador de atribuição F
7 !a Operador resto da divisão G

12. Considere x=1, y=3.


Qual o resultado das seguintes instruções?
public class Operadores {
public static void main(String[] args) {
int x=1;
int y=3;
int z, w;

System.out.println("x=" + x+ "\t y="+y);


x++;
System.out.println("x=" + x);
--y;
System.out.println("y="+y);
z=++x;
System.out.println("x=" + x+ "\t z="+z);
w=y--;
System.out.println("w=" + w+ "\t y="+y);
}
}

Ângela Oliveira 2
2008/09
Programação I

Ficha 3

Escreva um programa que:

1. Apresente no ecrã os primeiros 100 números.

2. Escreva um ciclo for que tenha o seguinte output: 5 10 15 20 25 30 35 40 45


50

3. Apresente as raízes quadradas de todos os números entre 1 e 20.

4. Associe um valor qualitativo a valores de notas quantitativas:


1 – Mau;

2 – Medíocre;

3- Suficiente;

4 – Bom;

5 – Muito Bom.

5. Dados dois inteiros apresente:


- a sua soma se ambos forem pares;

- o seu produto se ambos forem impares;

- o número par se um for par e o outro impar.

6. Recebe do utilizador dois valores inteiros e um operador aritmético e


devolva o resultado da operação escolhida.

7. Dados três valores pedidos ao utilizador, devolva o menor e o maior dos


três.

Ângela Oliveira Página |1

2008/09
Programação I

Ficha 4
8. Elabore um programa que dado o número do mês do ano indica quantos
dias tem esse mês. Utilize para o efeito a estrutura de controlo condicional
switch.

9. Elabore um programa que dado uma letra indique se é vogal ou


consoante.

10. Escreva um programa, em Java, que dado um inteiro n escreve no écran


a tabuada de
multiplicar correspondente. Por exemplo, para n=5 devemos obter:

1x5=5

2x5=10

...

10x5=50.

11. Escreva um programa que some todos os números introduzidos no


teclado, até o utilizador inserir um número negativo. No final deverá
imprimir a média desses números.

Ângela Oliveira Página |2

2008/09
Programação I
Ficha 4

1. Escreva um programa que dados os valores:


int i=7;
int j=-9;
double x=72.3;
double y=0.34;

1.1. Calcule o respectivo valor absoluto.


1.2. O inteiro maior ou igual que o valor considerado para os valores
reais;
1.3. O inteiro menor ou igual que o valor considerado para os valores
reais;
1.4. O mínimo entre:
1.4.1. i e j;
1.4.2. x e y;
1.4.3. i e x;
1.4.4. y e j.
1.5. O máximo entre:
1.5.1. i e j;
1.5.2. x e y;
1.5.3. i e x;
1.5.4. y e j.
1.6. O valor de “PI”;
1.7. O valor de “e”.

2. Calcule a área da circunferência de raio 2.

Ângela Oliveira 1
2008/09
Programação I
Ficha 4

3. Apresente ao utilizador três números aleatórios.

4. Apresente 50 números aleatórios entre 0 e 10.

5. Calcule x ao quadrado, com x um valor inserido ao utilizador.

6. Solicite ao utilizador dois valores x e y. Calcule x elevado a y.

7. Considere uma variável do tipo String que guarde o seu nome:

7.1. Mostre o conteúdo da variável;


7.2. Determine o seu comprimento;
7.3. Apresente a última letra do seu nome;
7.4. Converta tudo para maiúsculas;
7.5. Substitua todas as ocorrências do caracter ‘a’ pelo caracter ‘#’.

Ângela Oliveira 2
2008/09
Programacão I

Funções
Matemáticas e de
String

Ângela Oliveira 2008/2009 © 1

Programacão I
Funções Matemáticas

Existem no JAVA, predefinidas dentro da Classe Math, que permitem


efectuar diversos cálculos.

Sintaxe: Math.<nome da função>(<argumentos da função>);

Exemplo: Raiz quadrada de 2

Math.sqrt(2)
argumento da Função - o valor 2.

Função matemática da raiz quadrada

Ângela Oliveira 2008/2009 © 2


Programacão I
Não é necessário fazer o import desta classe (ao contrário da classe Keyborad, por
exemplo), uma vez que ela faz parte do package java.lang, inserido por defeito no
Eclipse.

Existem duas constantes definidas na classe Math:

Math.PI – que representa o valor de π =3.141592…


Math.E – que se refere ao valor da base para logaritmos naturais e =2.71828…

Nestes dois casos como não se trata de funções matemáticas, mas sim de constantes
não existem argumentos.

Ângela Oliveira 2008/2009 © 3

Programacão I

Exemplo 1:

Ângela Oliveira 2008/2009 © 4


Programacão I
Função ceil():

Esta função permite


arredondar um valor do
tipo double para o
inteiro seguinte mais
próximo.

Sintaxe: Math.ceil(<valor do tipo double>)

Ângela Oliveira 2008/2009 © 5

Programacão I

Função floor():

Esta função permite


arredondar um valor do
tipo double para o
inteiro anterior mais
próximo.

Ângela Oliveira 2008/2009 © 6


Programacão I
Função max():

Esta função é utilizada para devolver o maior entre dois números do tipo int,
float, double ou long.
Sintaxe: Math.max(<valor1>,<valor2>)

Função min():

Esta função é utilizada para devolver o menor entre dois números do tipo int,
float, double ou long.

Sintaxe: Math.min(<valor1>,<valor2>)

Observação: A comparação pode ser feita entre valores de tipos diferentes, por exemplo,
entre um int e um double.

Ângela Oliveira 2008/2009 © 7

Programacão I
Função pow():

Esta função permite elevar um número a uma potência.

Sintaxe: Math.pow(<valor da base>,< valor da potência>)

Função random():

Esta função permite gerar valores aleatórios. Cada vez que esta função é
chamada o Java “escolhe” um número do tipo double.

Sintaxe: Math.random()

Ângela Oliveira 2008/2009 © 8


Programacão I

Exemplo 2:

Ângela Oliveira 2008/2009 © 9

Programacão I

Exemplo 3: Utilizar a função matemática random()

Gerar dois números


aletáorios.

Ângela Oliveira 2008/2009 © 10


Programacão I

Exemplo 4: Utilizar a função


matemática random():
Gerar dez números
aletáorios entre 0 e
99.

Ângela Oliveira 2008/2009 © 11

Programacão I
Funções de String

Uma String é uma conjunto de caracteres, por exemplo, palavras e


frases, são Strings.

O Java possui várias funções que permitem efectuar algumas operações


com Strings, entre elas:
•Ver o comprimento da String;

•Transformar todas as letras em minúsculas ou todas as letras em maiúsculas;

•Devolver uma parte de uma String;

•Remover os espaços em branco;

•Substituir alguns caracteres numa String;

Ângela Oliveira 2008/2009 © 12


Programacão I
Função length():

Esta função permite ver o comprimento de uma String.

Sintaxe: <string>.length()

Sintaxe: Math.ceil(<valor do tipo double>)

Ângela Oliveira 2008/2009 © 13

Programacão I
Função toUpperCase() e toLowerCase:
Estas funções permitem, converter todos os caracteres de uma String, respectivamente, em
Maiúsculas e em Minúsculas.

Sintaxe: <string>. toUpperCase()

<string>. toLowerCase()

Sintaxe: Math.ceil(<valor do tipo double>)

Ângela Oliveira 2008/2009 © 14


Programacão I
Função substring():

Esta função permite devolver uma parte de uma String, fornecendo como argumento o ponto
inicial e o ponto final, da substring que se pretende.

Sintaxe: <string>. substring(<indice inicial>, <indice final>)

Sintaxe: Math.ceil(<valor do tipo double>)

Ângela Oliveira 2008/2009 © 15

Programacão I
Função trim():
Esta função permite eliminar de uma String todos os espaços em branco, colocados no início ou
no fim da mesma.

Sintaxe: <string>. trim()

Sintaxe: Math.ceil(<valor do tipo double>)

Ângela Oliveira 2008/2009 © 16


Programacão I
Função replace():

Esta função permitem substituir um caracter por outro.

Sintaxe: <string>. replace()

Ângela Oliveira 2008/2009 © 17


Programação I
Ficha 5
Escreva um programa que:

1. Dado um número inserido pelo utilizador verifique se é múltiplo de 5 e


não é múltiplo de 3.

2. Gere um número aleatório e o classifique como par ou ímpar.

3. Calcule o máximo, mínimo, a soma, a média de um conjunto de


valores inteiros. O número de valores a inserir deve ser pedido ao
utilizador.

4. Calcule a hipotenusa a partir dos dados dos catetos inseridos pelo


utilizador. Execute repetidamente os cálculos até o utilizador inserir o
carácter ‘n’.

5. Calcule a soma de todos os números de 1 até um valor inserido pelo


utilizador.

6. Que calcule o factorial de um número inserido pelo utilizador.

7. Solicite um número positivo e escreva todos os valores entre 1 e esse


número.

8. Apresente todos os divisores de um número inserido pelo utilizador.

9. Solicite uma palavra ao utilizador e termine apenas quando a palavra


inserida tiver mais do que 6 caracteres.

10. Calcule o produto dos números impares de 1a 20.

11. Solicite uma letra e um número ao utilizador e repita essa letra tantas
vezes quantas o número inserido.

Ângela Oliveira 1
2008/09
Programação I
Ficha 5

Exercícios Facultativos

12. Receba um inteiro positivo e devolva a soma dos seus digitos. Ex. 1532
 11=1+5+3+2

13. Calcule e imprima todos os números primos entre 1 e um número


inserido pelo utilizador.
14.

Ângela Oliveira 2
2008/09
Fazer
Ler a
Ler b
Ler c

Se a=0
//bx+c=0
Se b=0
Escrever "Erro"
Senão
x=-c/b
Escrever x
Senão
raiz=b*b - 4*a*c
Se raiz maior ou igual a zero
x1=(-b-raiz quadrada de
raiz)/(2*a)
x2=(-b+raiz quadrada de
raiz)/(2*a)
Escrever x1 e x2
Senão
Escrever "Erro"
Ler op
Enquanto (op=1)
Programação I

Tipos de dados avançados

Arrays (Vectores):
Permitem o armazenamento de informação do mesmo tipo.

Exemplo
Cores Primárias → [vermelho, azul, amarelo]
Números Inteiros de 1 a 10 → [1,2,3,4,5,6,7,8,9,10]
Formas Geométricas → [triangulo, circulo, quadrado,…]

Ângela Oliveira 2008/2009 © 1

Programação I

Arrays em JAVA:
Um array em JAVA é uma classe.
Assim para declarar um array em JAVA é necessário usar o
comando “new”.

Sintaxe de declaração de arrays


Tipo_de_dados[] nome_array=new Tipo_de_dados[tamanho_array]

Em que Tipo_de_dados é o tipo de elementos que o array vai


conter e tamanho_array, vai ser a dimensão pretendida.

Ângela Oliveira 2008/2009 © 2


Programação I

Exemplo:
int [] idades = new int[10];

Corresponde a:

0 1 2 3 4 5 6 7 8 9
Posição

Pode conter 10 valores inteiros

Ângela Oliveira 2008/2009 © 3

Programação I

0 1 2 3 4 5 6 7 8 9

1 56 8 90 18 33 5 9 28 45

Como aceder a uma posição do array?


O nome do vector é idades então:
idades[0] =1
idades[5]=33
idades[8]=28

Ângela Oliveira 2008/2009 © 4


Programação I

Exercício:
Construir um array que guarde 5 nomes e inicialize
cada posição :
Solução:

String [] nomes=new String [5];


nomes[0]=“Sara”;
nomes [1]=“Paulo”;
nomes [2]=“Daniela”;
nomes [3]=“Filipe”;
nomes [4]=“Joaquina”;

Ângela Oliveira 2008/2009 © 5

Programação I

Então o array ficaria:

0 1 2 3 4

Sara Paulo Daniela Filipe Joaquina

Outra forma de inicializar este vector é definir um conjunto


dos nomes que se pretendem, ou seja:

Ângela Oliveira 2008/2009 © 6


Programação I
Exemplo 1: Declarar e inicializar um vector

Ângela Oliveira 2008/2009 © 7

Programação I

Exemplo 2: Declarar e inicializar um vector

Ângela Oliveira 2008/2009 © 8


Programação I
Exemplo 3: Declarar e inicializar um vector com
erro!

Ao inicializar a
posição 5 do array
vai acontecer o
erro que indica
que o limite do
array foi excedido

Ângela Oliveira 2008/2009 © 9

Programação I

Exemplo 4: Inicializar um array com os dez


primeiros números inteiros.

Ângela Oliveira 2008/2009 © 10


Programação I
Exemplo 5: Inicializar um array com os cem
primeiros números inteiros.

Utilizar a forma do exemplo anterior não é eficaz.

Qual será a solução para o problema?

Ângela Oliveira 2008/2009 © 11

Programação I

Solução:

Ângela Oliveira 2008/2009 © 12


Programação I

Matrizes
Como se representará uma matriz em JAVA?
Considere-se a matriz seguinte:

 1 0 − 3
A =  5 0 2 
− 4 6 8 

Será, que com um array é possível representar esta matriz?

Ângela Oliveira 2008/2009 © 13

Programação I

Tal como nos arrays uma matriz de 3x3, começa em 0 e


termina em 2, quer para as linhas quer para as colunas. Assim:

coluna
0 1 2
0  1 0 − 3 Este valor está na
linha 1 A =  5 0 2  linha 1, coluna 3,
mas corresponde
2 − 4 6 8  ao elemento da
linha zero, coluna
dois.

Ângela Oliveira 2008/2009 © 14


Programação I

Um só array não é suficiente, uma vez que para uma matriz


são necessárias duas posições, uma para a linha outra para a
coluna, ou seja:

linha  1 0 − 3 Este valor está na


A =  5 0 2  linha 1, coluna 3

− 4 6 8 

coluna

Ângela Oliveira 2008/2009 © 15

Programação I

O Java não possui arrays Multi-dimensionais, mas


permite declarar um array que é baseado em outro
array.

Exemplo:
int [] [] matriz =new int [3] [3];

Implementado no Eclipse tem-se:

Ângela Oliveira 2008/2009 © 16


Programação I

Exemplo 6: Declarar e inicializar uma matriz.

Ângela Oliveira 2008/2009 © 17

Programação I

Exemplo 7: Declarar e inicializar uma matriz.

Ângela Oliveira 2007/2008 © 18


Programação I

Exemplo 8: Declarar e inicializar uma matriz


com erro.
Ao inicializar a
posição [3,3] da
matriz vai acontecer
o mesmo erro que
aconteceu nos arrays,
que indica que o
limite do array foi
excedido.

Ângela Oliveira 2008/2009 © 19

Programação I

Exercícios

1. Inicializar uma matriz com 5 linhas e 5


colunas com todos os valores iguais a
100 e mostrar ao utilizador.
2. Considerar uma matriz com 3 linhas e 3
colunas e construir a matriz identidade.
Mostrar ao utilizador.

Ângela Oliveira 2008/2009 © 20


Programação I

Resolução 1:

Ângela Oliveira 2008/2009 © 21

Programação I

Resolução 2:

Ângela Oliveira 2008/2009 © 22


Programação I

Ficha 6
Escreva um programa que:

1. Verifique se dois arrays unidimensionais são iguais.

2. Leia para um vector 10 valores inteiros e os apresente por ordem.

3. Permita verificar quantos múltiplos de 5 existem num vector de 10 inteiros.

4. Qual o máximo de um array de 10 valores do tipo float.

5. Complete o programa anterior de modo a que este devolva também o mínimo, a


soma e a média dos 10 valores.

6. Construa um vector com nomes.


6.1. O utilizador indica o número de nomes que pretende inserir.
6.2. Insere os nomes.
6.3. Mostre ao utilizador, o nome com maior comprimento.
6.4. Substitua em todos os nomes o 1º carácter por ‘#’.

7. Ler dois arrays de 10 números reais (A e B) e:


7.1. calcular S = (A[1] * B[10]) + (A[2] * B[9]) + ...;
7.2. calcular C, sendo C[i] = A[i] / B[i], e imprimi-lo invertido;
7.3. imprimir os números pares de A (considerando a parte inteira dos
números).

8. Construa uma matriz 3x3 e devolva os elementos da diagonal principal.

9. Ler uma matriz M 5 x 5, calcular e escrever as seguintes somas:


9.1. da linha 4 de M
9.2. da coluna 2 de M
9.3. da diagonal principal
9.4. de todos os elementos da matriz
Ângela Oliveira P ág in a |1
2008/09
Programação I

Ficha 6

10. Ler uma matriz A de 5x5 e criar 2 vectores SL e SC de 5 elementos que


contenham respectivamente as somas das linhas e das colunas de A. Escrever os
vectores criados.

Ângela Oliveira P ág in a |2
2008/09
Programação I

Ficha 6

Ângela Oliveira P ág in a |3
2008/09