\documentclass[a4paper]{article} \newif\ifshowcode \showcodetrue \usepackage{latexsym} \usepackage[portuges]{babel} \usepackage{a4wide} \usepackage[latin1]{inputenc} \parindent=0pt \parskip=2pt \setlength{\oddsidemargin}{0in} \setlength{\evensidemargin}{0in} \setlength{\topmargin}{0in} \addtolength{\topmargin}{-\headheight} \addtolength{\topmargin}{-\headsep} \setlength{\textheight}{8.9in} \setlength{\textwidth}{6.5in} \setlength{\marginparwidth}{0.5in} \title{M\'{e}todos de Programa\c c\~{a}o II\\ LECOM (1º ano)} \author{2ª Aula} \date{Ano Lectivo de 05/06} \begin{document} \pagenumbering{arabic} \maketitle %-------------------------------------------------------------------------- \section{Objectivos} Este problema tem 4 objectivos: \begin{itemize} \item Escrever um programa Java autónomo (uma Classe com o método main()) \item Manipular arrays de inteiros; \item Introduzir os algoritmos básicos para calcular: o Somatório e o Máximo de uma lista \item Introduzir o algoritmo básico para Ordenação (por trocas directas) de uma lista \end{itemize} %-------------------------------------------------------------------------- \section{Exerc\'{\i}cios} \subsection{Exerc\'{\i}cio} Esta ficha tem um \'unico exerc\'{\i}cio em que se pretende manipular uma lista de inteiros, representada na forma de uma Array, inicializada por enumeração inicial dos seus elementos, em que se pretende escrever métodos para \begin{itemize} \item imprimir todos os elementos da lista \item calcular o somat\'orio dos elementos da lista \item calcular o m\'aximo dos elementos da lista \item ordenar por ordem crescente os elementos da lista \end{itemize} @o mp205aula2_1.java @{ public class mp205aula2_1 { public static void printLista(int[] lista) { for (int i = 0; i < lista.length; i++) { System.out.println("Elemento " + i + " = " + lista[i]); } } public static int somatorio(int[] lista) { int soma = 0; for (int i = 0; i < lista.length; i++) { soma = soma + lista[i]; // soma += lista[i]; } return soma; } public static int maximo(int[] lista) { int max = 0; for (int i = 0; i < lista.length; i++) { if (lista[i] > max) max = lista[i]; } return max; } public static void ordena(int[] lista) { int i, j, aux; int penult=lista.length-1, ult=lista.length; for (i = 0; i < penult; i++) { for (j = i+1; j < ult; j++) { if (lista[i] > lista[j]) { aux=lista[i]; lista[i]=lista[j]; lista[j]=aux; } } } } public static void main(String[] args) { int[] lista = {5,2,10,15,7,23,14,5}; int soma, max; System.out.println("Comprimento: " + lista.length + " valores."); printLista(lista); soma = somatorio(lista); System.out.println("Soma dos elementos: " + soma); max = maximo(lista); System.out.println("Maximo dos elementos: " + max); ordena(lista); printLista(lista); } } @} \section{Ficheiros} @f \end{document}