cerca
Numero Pagine da Stampare
modifica cronologia stampa login logout

Wiki

Tools

Categorie

Help

edit SideBar

Numero Pagine da Stampare

 :: Numero Pagine da Stampare ::

Problema

Questo programmino vuole risolvere uno dei problemi che mi assillano in qualità di stampatore di dispense: stampare più pagine per foglio, fronte e retro, su di una stampante che NON fa automaticamente il fronte-retro.

Se ho 20 pagine, e 4 pagine per foglio, devo stampare quindi, impostando 4 pagine per foglio nelle opzioni di stampa etc.:

 1-4, 9-12, 17-20

poi reinserisco le pagine come si conviene, e stampo

 5-8, 13-16

Per la serie "grattati il tuo prurito", questo programma fa brutalmente proprio questo conto:)

Sorgente

Ocio che non tratto i casi delle ultime pagine etc. ma va beh ci si arriva anche da soli:)

 import java.lang.*;

 public class numeropagine {
	public static void main(String[] args) {

		int numPagine = Integer.parseInt(args[0]);
		int pagPerFoglio = Integer.parseInt(args[1]);

		System.out.println("Numero di pagine = " + numPagine);
		System.out.println("Pagine per foglio = " + pagPerFoglio);

		int contatore = 0;
		Boolean visualizza = true;
		System.out.println("Pagine dispari:");
		for (int conto = 1; conto <= numPagine; conto ++) {

		    if (visualizza && contatore == 0) {
		      System.out.print(conto +"-");
		    }


		    contatore = (contatore + 1) % pagPerFoglio;
		    if (contatore == 0) {
		      if (visualizza) {
			System.out.print(conto +",");
			visualizza = false;
		      } else {
			visualizza = true;
		      }

		  }
		}

		visualizza = false;
		System.out.println("\nPagine pari:");
		contatore = 0;
		for (int conto = 1; conto <= numPagine; conto ++) {

		    if (visualizza && contatore == 0) {
		      System.out.print(conto +"-");
		    }


		    contatore = (contatore + 1) % pagPerFoglio;
		    if (contatore == 0) {
		      if (visualizza) {
			System.out.print(conto +",");
			visualizza = false;
		      } else {
			visualizza = true;
		      }

		  }
		}

		System.out.println();
	}
 }

Istruzioni

 java numeropagine 100 6

dove 100 è il numero di pagine totali, e 6 quelle per foglio.

Downloads


Programmazione