Obligement - L'Amiga au maximum

Samedi 20 avril 2024 - 07:59  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

Actualité (récente)
Actualité (archive)
Comparatifs
Dossiers
Entrevues
Matériel (tests)
Matériel (bidouilles)
Points de vue
En pratique
Programmation
Reportages
Quizz
Tests de jeux
Tests de logiciels
Tests de compilations
Trucs et astuces
Articles divers

Articles in english


Réseaux sociaux

Suivez-nous sur X




Liste des jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z,
ALL


Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Galeries

Menu des galeries

BD d'Amiga Spécial
Caricatures Dudai
Caricatures Jet d'ail
Diagrammes de Jay Miner
Images insolites
Fin de jeux (de A à E)
Fin de Jeux (de F à O)
Fin de jeux (de P à Z)
Galerie de Mike Dafunk
Logos d'Obligement
Pubs pour matériels
Systèmes d'exploitation
Trombinoscope Alchimie 7
Vidéos


Téléchargement

Documents
Jeux
Logiciels
Magazines
Divers


Liens

Associations
Jeux
Logiciels
Matériel
Magazines et médias
Pages personnelles
Réparateurs
Revendeurs
Scène démo
Sites de téléchargement
Divers


Partenaires

Annuaire Amiga

Amedia Computer

Relec


A Propos

A propos d'Obligement

A Propos


Contact

David Brunet

Courriel

 


Test d'iCalc 2.1a
(Article écrit par Pierre Ardichvili et extrait d'Amiga News - janvier 1993)


Présentation

Pour faire commodément et rapidement des calculs un tant soit peu complexes, je vous recommande iCalc. On le lance de préférence à partir d'une fenêtre Shell dont vous aurez mis la pile (stack) à 20000 (de manière à ne pas planter si vous utilisez des fonctions récursives). Il permet de définir "à la volée" des variables dont le nom n'est soumis qu'à peu de restrictions, mais aussi des expressions mathématiques des plus simples aux plus complexes.

iCalc

À propos, iCalc traite indifféremment les nombres réels ou complexes, mais attention. La version 1.0 que l'on trouve sur la disquette Fish 472 comporte un bogue sérieux : elle donne dans certains cas des valeurs fausses pour les racines carrées complexes ou pour les fonctions inverses complexes, comme asin, etc. Ce bogue, une fois signalé, a été corrigé en quelques jours par l'auteur, la version 1.1 de la Fish 550 en est donc exempte.

Si vous avez la version 1.0 et que vous souhaitez faire des calculs sur des variables complexes, écrivez-lui pour qu'il vous envoie la dernière version. N'oubliez pas de joindre votre contribution, même en argent français, c'est la moindre des choses. La version testée est la 2.1 bêta. La version 2.1 sortira prochainement sur une Fish. Mais revenons à iCalc.

Dis, comment ça marche ?

Donnons un exemple simple (les signes en caractères gras à la fin de chaque ligne indiquent des pressions de touches à effectuer) :

iCalc

Pour faire le deuxième calcul, il a suffi de rappeler les lignes précédentes du Shell, pour introduire la nouvelle valeur de "a" et faire le calcul sans avoir à réécrire la formule. Les caractéristiques d'édition de la ligne de commande et de manipulation de l'historique des commandes de votre Shell sont conservées.
  • iCalc stocke par ailleurs le résultat dans une variable temporaire nommée "ans", qui permet de réutiliser immédiatement le résultat d'un calcul sans avoir à le retaper ; très pratique pour faire des itérations à la main.
  • Les calculs se font par défaut avec 8 chiffres significatifs, on peut changer ce nombre instantanément par une instruction prec (n) avec n=20 au maximum.
  • Les variables sont par défaut des nombres complexes de la forme a+ib. On écrira tout simplement : x=5+3i.
  • Mais si l'on ne donne pas de parties imaginaires, iCalc calcule sur des nombres réels, ce qui est plus rapide et plus précis.
  • iCalc traite également les tableaux de variables à une dimension.
Fonctions

Il y a une quarantaine de fonctions mathématiques classiques. A part ces fonctions mathématiques classiques, on trouve dans iCalc d'autres fonctions intégrées comme :
  • sum(nom de yariable limite supérieure, expression) et prod() pour faire des sommes et des produits finis.
  • every() et vevery() pour faire des itérations, la différence étant l'affichage des étapes (mode verbose) par vevery().
On peut définir soi-même des fonctions, par exemple :

func volumeducone(r,h)=(1/3)*Pi*sqr(r)*h

Ou encore : en statistique, on a souvent besoin de la somme d'un certain nombre de valeurs, de la somme des carrés, et du nombre d'entrées. On pourra définir comme suit une fonction qui met ces trois valeurs à jour chaque fois qu'une valeur "x" est entrée. On écrira :

func sommes(x)={som=som+x; somcar=somcar+x^2; n=n+1;}

En fait, les paramètres utilisés dans les fonctions peuvent être de quatre types :
  • Valeurs.
  • Pointeurs, comme en C, dénotés par "*".
  • Tableaux, référencés par nom et non par valeur, dénotés par "@".
  • Expressions, dénotées par "~".
Exemples

func swap(*a;b)={local tmp; tmp=a; a=b; b=tmp;}

...pour échanger les valeurs des variables "a" et "b". Ou encore :

func fill(@a,~expr)=
{
for n=sizeof(a); n>0 ; n-=1 )
a[n]=expr;
}

...où "expr" est une fonction de la variable globale "n;".

Cette fonction remplit le tableau "a" d'éléments contenant le résultat du calcul de l'expression "expr" pour la valeur de "n" correspondant au rang de l'élément dans le tableau.

L'ensemble de possibilités de traitement des fonctions est puissant. Il permet une approche très structurée de procédures de calcul complexes.

Fichiers auxiliaires

iCalc, lancé avec comme argument un ou plusieurs nom(s) de fichier(s), exécute ce fichier, qui peut être, entre autres un fichier de prédéfinition de formules souvent employées. Neuf de ces fichiers sont fournis, traitant depuis les formules trigonométriques rarement utilisées jusqu'aux racines de polynômes complexes jusqu'aux fonctions statistiques.

S'il existe un fichier s:icalc.init, il est exécuté au lancement. L'appel au fichier s:icalc.init au démarrage peut être remplacé par la définition d'une variable d'environnement ICALCINIT.

Les résultats des calculs peuvent être redirigés vers un fichier, ce qui permettra à un autre programme de les exploiter. ARexx est tout désigné pour faire ce travail et envoyer les valeurs à un programme comme MathVision. Cette possibilité d'automatisation du passage de résultats de calculs est intéressante car elle évite la refrappe de nombres qui, outre le fait d'être fastidieuse, peut occasionner des erreurs.

Ceci est d'autant plus utile que l'auteur n'a pas l'intention d'ajouter à iCalc des fonctions permettant le tracé de courbes en plan ou de surfaces en perspective.

Branchements

iCalc possède des instructions if-then-else , while-do et repeat-until, avec la possibilité de tests sur opérateurs relationnels selon la syntaxe du C (&&, >. etc.). Le tout s'agrémente de la possibilité d'inclure des groupes d'instructions dans des blocs délimités par des accolades. On dispose donc d'un véritable langage de programmation.

Couplage au Shell

iCalc dispose d'une commande exec 'chaîne' qui permet de lancer n'importe quel programme ou commande AmigaDOS sans devoir quitter iCalc. La commande read 'fichier' permet de faire exécuter le contenu du fichier appelé. En mode interactif, cela permet la mise au point de fonctions compliquées en les découpant en morceaux que l'on appelle interactivement. Placée dans un script, cette commande peut jouer un rôle analogue à une instruction #include.

La commande writevars 'toto' copie la valeur de toutes les variables et des tableaux dans le fichier toto.

Incorporation des routines dans un programmes écrit en C

Les sources étant fournies, les routines de calcul peuvent être incorporées dans un programme quelconque. C'est particulièrement intéressant pour combler une lacune du C, qui ignore fort malencontreusement les variables complexes.

Les souhaits

Tant qu'à faire, puisqu'il y a des tableaux à une dimension, pourquoi pas des tableaux multidimensionnels ?

Conclusion

Travaillant chez Hewlett-Packard, je n'irai pas jusqu'à dire qu'iCalc peut remplacer intégralement une calculatrice HP 28S ou 48S, mais ce programme du DP vous permettra de faire commodément sur votre Amiga beaucoup de choses qui autrement demanderaient le recours à une de ces machines, tout en permettant de faire instantanément des choses simples mais un peu plus évoluées que ce qu'offre la commande "Eval" classique du Shell.

Nom : iCalc 2.1a.
Développeurs : Martin W. Scott.
Genre : calculateur.
Date : 1992.
Configuration minimale : Amiga OCS, 68000, 512 ko de mémoire.
Licence : gratuiciel.
Téléchargement : Fish 713.


[Retour en haut] / [Retour aux articles]