IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Je recherche des exercices pour m'entrainer


Sujet :

VB.NET

  1. #1
    Membre régulier
    Avatar de floyd973
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 140
    Points : 119
    Points
    119
    Par défaut Je recherche des exercices pour m'entrainer
    Bonjour tout le monde,

    Je viens de me mettre au visual basic express 2008. A l'aide des 3 bouquins que je me suis acheté j'essaie de me familiariser avec ce langage de programmation. Mais pour apprendre plus vite j'aimerais avoir quelques exercices de programmation ( création d'interface, utilisation des types de variable, écrire ds les lignes de codes etc...).

    Je serais ravis si vous me donniez quelques exercices a pratiquer svp

    Merci.

  2. #2
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    Bonjour,
    tout d'abord tu aurais du mettre un autre nom de poste car "Je suis débutant" c'est pas très explicite j'aurais plutôt mi "Je recherche des exercices pour m'entrainer"

    Après les exercices dépendent de ce que tu cherches à faire et de ton niveau de connaissance...
    Tu peux essayer ce que l'on donne toujours à l'école, trier des tableaux genre on te donne un tableau {5,3,7,9,2,1,4} et tu fais en sorte qu'il te le remette en ordre : {1,2,3,4,5,7,9}
    Après tu peux aussi essayer de faire un petit jeux simple, du genre d'un pendu, un oxo, un Mastermind ou n'importe quelle autre jeux "simple"...

    Essaye de faire en sorte que ton interface soit bien faite, que tu contrôles la saisie des utilisateurs, que les composants se redimensionnent automatiquement etc...

    Le plus important étant de prendre des projets qui t'intéresse...

    Tu peux aussi regarder au niveau des 101 exemple .net : [ame="http://www.google.be/search?hl=fr&client=firefox-a&hs=NIO&rlz=1R1GGLL_fr___BE367&q=101+sample+visual+basic&aq=f&aqi=&aql=&oq=&gs_rfai="]101 sample visual basic - Recherche Google[/ame], c'est tjs bon à regarder

    Quoi qu'il arrive, c'est beaucoup beaucoup de recherche

    EDIT : Je ne sais pas ce que ca vaut, mais y'a aussi le coach de MSDN : http://msdn.microsoft.com/fr-fr/vbas...n.coachvb.aspx

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 103
    Points : 1 561
    Points
    1 561
    Par défaut
    une bonne question avant d'aller plus loin... tu sais déjà programmer dans un autre langage ? et si oui, dans un langage objet ?

  4. #4
    Membre régulier
    Avatar de floyd973
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 140
    Points : 119
    Points
    119
    Par défaut
    non je n'avais jamais programmer auparavant. je commence tout juste et c'est vrai que tout seul c'est pas évident

  5. #5
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    Où en est tu dans la lecture de tes livres?
    Quelles sont ses livres?
    Que pense tu déjà pouvoir faire? (évaluation de tes connaissances)
    Connais-tu le fabuleux cours de Mr P.Lasserre?
    Si oui, l'as-tu lu?

  6. #6
    Membre régulier
    Avatar de floyd973
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 140
    Points : 119
    Points
    119
    Par défaut
    ben j'ai lu entièrement visual basic.net pour les nuls, jai entamé visualbasic6.0 de Michael Halvorson.
    j'ai fait quelques exercices d'une revue "compétence micro initiation" (visual basic initiation à la programmation). La je vais m'acheter visual basic 2008 :étape par étape de Michael halvorson.
    et j'ai commencé a lire le tutoriel de Mr. Plasserre qui est très intéressant question cours mais après au niveau des exercices il n'y a pas grand chose. c'est pourquoi j'achète des livres pour m'exercer.

    Sinon je peux faire une simple calculatrice , un QCM etc... pas grand chose quoi.

    J'aurais aimer pouvoir me faire une filmothèque, et aussi des logiciels de mathématique (pour résoudre des équations), ou encore des bases de données comme par exemple (le tableau de Mendeleïev). c'est vrai que j'ai l'air un peu prétentieux mais j'ai vraiment envie de faire tout ça.

    Tu as mis du temps avant de pouvoir gérer visual basic toi ? En tt cas je compte bien de poser quelques questions lorsque je serais en difficulté si ça te dérange pas bien sur.

  7. #7
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    Citation Envoyé par floyd973 Voir le message
    c'est vrai que j'ai l'air un peu prétentieux mais j'ai vraiment envie de faire tout ça.
    Pas du tout, si tu es vraiment motivé et que tu as du temps à y consacrer ce qui à l'aire d'être ton cas tu y arriveras, pour ma part je me lance dans le microcontroleur avec l'excellent cour de BigOnOff , tout ce qu'il nous faut, c'est de la motivation
    Citation Envoyé par floyd973 Voir le message
    Tu as mis du temps avant de pouvoir gérer visual basic toi ?
    Pour ma part c'est différent puisque j'ai pris des cours de promotion social durant 3 ans pour apprendre les langages et les techniques de programmation. J'y ai appris différent langage mais pas le VB.NET, celui-ci je l'ai appris lorsque j'ai été engagé en entreprise, il m'a fallut +- 1 mois pour être opérationnelle et commencer à faire de petite application basique réellement utilisable par l'entreprise mais j'avais déjà les technique de programmation, après ce n'est que de l'adaptation et de la compréhension de langage.

    Citation Envoyé par floyd973 Voir le message
    En tt cas je compte bien de poser quelques questions lorsque je serais en difficulté si ça te dérange pas bien sur.
    Le forum est la pour ca, j'y traine régulièrement et si ce n'est pas moi, les autres membre se feront une joie de te répondre donc n'hésite pas

    P.S. : N'hésite pas à regarder différent code, on apprend beaucoup en regardant comment les autres font... (c'est aussi pour cela que je traine sur le forum )

  8. #8
    Membre régulier
    Avatar de floyd973
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 140
    Points : 119
    Points
    119
    Par défaut quest ce que microsoft framework
    est ce que microsoft framework contient visual basic express 2008 ?
    d'ailleur pourquoi express ? et studio ?
    est ce que visual basic.net correspond a visual basic 2008

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Août 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 310
    Points : 347
    Points
    347
    Par défaut
    Citation Envoyé par floyd973 Voir le message
    est ce que microsoft framework contient visual basic express 2008 ?
    Tu mélanges un peu tout là. Le framework .NET est un élément de Windows qui permet aux développeurs de disposer de fonction pour la programmation de n'importe langage Microsoft (C#, VB, ...)

    Citation Envoyé par floyd973 Voir le message
    d'ailleur pourquoi express ? et studio ?
    Ici tu confonds Environnement de Développement et Langage. En gros, tu as Visual Studio express qui une version allégée et gratuite. Après tu as les versions pro qui, elles, sont bien évidement payantes ^^

    Citation Envoyé par floyd973 Voir le message
    est ce que visual basic.net correspond a visual basic 2008

    Viusal basic 2008, ça n'existe pas mais Visual Studio 2008 oui ^^ C'est la version du logiciel de développement.

  10. #10
    Membre régulier Avatar de simotaqi
    Inscrit en
    Février 2010
    Messages
    144
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 144
    Points : 117
    Points
    117
    Par défaut
    Question pour toi Sankasssss; à quoi sert le microcontroleur; bon j'ai visité le site de bigonoff et c'est vraiment curieux...

    Et pour Notre nouveau diveloppeur ; moi personellement j'utilise une methode d'apprehension déconseillée pour toi: je visite l'MSDN et j'apprend classe par classe et method par method en ordre alphabétique jusqu'à la fin (biensur je prends des pauses pour fixer ce que j'ai appris et en faire des essais pratiques)

    mais lorsque j'était débutant; j'ai commencé à apprendre un autre language orienté objet (le Java) ; mais débutant en vb ; j'ai trouvé qu'il est plus simple sachant qu'il est un langage evenementiel.

    Pour toi; la recherche est la solution ; en fait ; il se peut que certain cours sont chers et mal présentés .... or ; en pourrais trouver des cours et des exsercices (que je dépasse) gratuitment sur le web: c'est conseillé!
    Tous les chemins menent a la connaissance. Lequel est le plus court?
    de meme , Tous les chemins menent a l'ignorance, Lequel est le plus long?


    -------- ^ ^----------
    ------SMOoOTQ-------
    ---------( - )---------

  11. #11
    Membre habitué
    Inscrit en
    Octobre 2009
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 116
    Points : 147
    Points
    147
    Par défaut
    Voici des liens dont je crois qu'ils sont utiles , y'a du console et un peu des interfaces :

    http://docs.google.com/viewer?a=v&q=...hQSof3eECej-6g

    http://docs.google.com/viewer?a=v&q=...9DYzITEhvuDe8A



    Cordialement ,

  12. #12
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    Citation Envoyé par simotaqi Voir le message
    Question pour toi Sankasssss; à quoi sert le microcontroleur; bon j'ai visité le site de bigonoff et c'est vraiment curieux...
    Le microcontroleur est une puce dans laquelle sont rassemblé (voir wikipédia) :
    Citation Envoyé par Wikipédia
    Un microcontrôleur intègre sur un unique die :

    * un processeur (CPU), avec une largeur du chemin de données allant de 4 bits pour les modèles les plus basiques à 32 ou 64 bits pour les modèles les plus évolués ;
    * de la mémoire vive (RAM) pour stocker les données et variables ;
    * de la mémoire morte (ROM) pour stocker le programme. Différentes technologies peuvent être employées : EPROM, EEPROM, mémoire flash (la plus récente) ;
    * souvent un oscillateur pour le cadencement. Il peut être réalisé avec un quartz, un circuit RC ou encore une PLL ;
    * des périphériques, capables d'effectuer des tâches spécifiques. On peut mentionner entre autres :
    o les convertisseurs analogiques-numériques (CAN) (donnent un nombre binaire à partir d'une tension électrique),
    o les convertisseurs numériques-analogiques (CNA) (effectuent l'opération inverse),
    o les générateurs de signaux à modulation de largeur d'impulsion (MLI, ou en anglais, PWM pour Pulse Width Modulation),
    o les timers/compteurs (compteurs d'impulsions d'horloge interne ou d'événements externes),
    o les chiens de garde (watchdog),
    o les comparateurs (comparent deux tensions électriques),
    o les contrôleurs de bus de communication (UART, I²C, SSP, CAN, FlexRay, USB, Ethernet, etc.).

    En bref on pourrais dire que c'est un pc en tout tout petit capable de faire des choses simple programmable en divers langage dont l'assembleur, le C, le basic (ne pas confondre avec vb.net)
    Sur l'excellent site de bigOnOff tu peux trouver diverse application comme :
    - Système domotique "DOMOCAN"
    - Pilotage de deux moteurs pas à pas par un PIC® 16F84. La liaison s'effectue en I²C
    - Un chenillard multimode 16 sorties, qui supporte 7 fonctions différentes
    - Réalisation d'un petit Robot, "Isterix"
    - Réalisation d'un juke-box de CD sur base de la mécanique d'une imprimante
    - Réalisation d'un osmolateur pour aquarium

    Comme tu peux le voir, tout ce qu'il faut, mis a part la patience et la connaissance, c'est l'imagination pour savoir à quoi tu va l'appliquer... (c'est ce que j'ai le moins )
    Pour ma part j'aimerais bien arriver à contrôler une série de led RGB pour faire un mur de couleur variable. (je sais ca s'achète tout fait mais c'est plus classe quand on le fait sois même ^^)

    Le programmateur que j'utilise pour apprendre est le célèbre PicKit

    mais un collègue c'est acheté l'arduino qui a l'aire plus simple :


    Bref il faut aimer chipoter et avoir du temps à gaspiller

    J'espère avoir bien répondu à ta question même si ca n'a rien avoir avec le sujet de la discussion

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 16
    Points : 15
    Points
    15
    Par défaut
    Salut à tous...

    J'ai pas compris la difference entre "Visual Studio 2008", "VB.NET", "DOTNET"..

    Est ce des langages differents ou simplement des versions differentes ?


    Je suis toujours avec VBA excel mais je compte passer à VB et on me le déconseille car VB est en train de disparaitre .

    Alors que me conseillez vous pour demmarer sereinement et sérieusement ??

    Merci au forum..

  14. #14
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    Bonsoir,
    regarde sur http://fr.wikipedia.org/wiki/Visual_Studio
    et dis nous ce que tu ne comprend pas...

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 16
    Points : 15
    Points
    15
    Par défaut
    Salut Sankasssss....

    Merci pour le lien,je devrais trouver l'explication à mes questions sur ce site.

    Ma question est simple : ancien de VBA je voudrais me tourner vers VB, mais VB est abandonné par microsoft. J'hésite à me lancer dans un langage trop different. Est c'est là que je ne comprennais pas la difference entre tous les langages proposés : vb.net, visual studio, C#, etc etc...

    WIKI devrait m'apporter la réponse, ou bien si tu as une explication plus condensée ??

    Merci

  16. #16
    Membre régulier Avatar de simotaqi
    Inscrit en
    Février 2010
    Messages
    144
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 144
    Points : 117
    Points
    117
    Par défaut
    en fait ; visual studio n'est pas un langage; mais un environnement de developpement regroupant differents langages comme C. VB ... etc utilisant un framework .net.

    Merci pour ta réponse Sankasssss . J'ai déjà pensé à réaliser une simple application pour débuter :

    -en fait je veux programmer une application sous vb.net qui sert à gerer les connexion USB et un timer qui compte jusque 9, établir une connexion entre la machine et un afficheur LED 7 segment. De fait que le programme affiche les chiffres dans le LED.... c'est a dire un compteur qui affiche le résultat sur le 7 segments LEd

    je crois que c'est un bon exercice pour débuter (aprés avoir lu les principe) n'est ce pas?
    Tous les chemins menent a la connaissance. Lequel est le plus court?
    de meme , Tous les chemins menent a l'ignorance, Lequel est le plus long?


    -------- ^ ^----------
    ------SMOoOTQ-------
    ---------( - )---------

  17. #17
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    Citation Envoyé par Crusoe Voir le message
    Ma question est simple : ancien de VBA je voudrais me tourner vers VB, mais VB est abandonné par microsoft.
    C'est le VB6 qui est abandonné, pas le VB.NET qui se porte on ne peut mieux
    Citation Envoyé par Crusoe Voir le message
    Est c'est là que je ne comprennais pas la difference entre tous les langages proposés : vb.net, visual studio, C#, etc etc...

    WIKI devrait m'apporter la réponse, ou bien si tu as une explication plus condensée ??

    Merci
    Normalement oui, le wiki t'apportera la réponse et en condensé je ne vais faire que répéter ce que simotaqi, sebnantes on déjà répondu :
    Visual studio est un environnement de développement qui permet d'écrire et de compilé du code.
    Le frameWork.net c'est l'ensemble des librairies qui doit être installé sur le pc où tournera l'application, on peut comparer ca à la machine virtuelle de java.
    Les différents langages proposé dans VisualStudio sont, une fois que tu compile ton code, transformé dans un langage que le frameWork pourra comprendre et qui n'a rien avoir avec les langages dans lesquels on peut écrire des applications .net

    on peut comprendre cela en regardant le graphique :


    Citation Envoyé par simotaqi Voir le message
    Merci pour ta réponse Sankasssss . J'ai déjà pensé à réaliser une simple application pour débuter :

    -en fait je veux programmer une application sous vb.net qui sert à gerer les connexion USB et un timer qui compte jusque 9, établir une connexion entre la machine et un afficheur LED 7 segment. De fait que le programme affiche les chiffres dans le LED.... c'est a dire un compteur qui affiche le résultat sur le 7 segments LEd

    je crois que c'est un bon exercice pour débuter (aprés avoir lu les principe) n'est ce pas?
    C'est un très bon exercice pour commencer,
    moi je vais commencer par faire ceux du cours et puis j'essayerai de faire varier via pdm les couleurs d'une led et on verra ensuite pour contrôler plusieurs LED en même temps, sachant qu'il y a 4 pdm par micro, je vais devoir apprendre la communication I²C entre micro pour pouvoir controler plus de 4 led en même temps...

  18. #18
    Membre régulier Avatar de simotaqi
    Inscrit en
    Février 2010
    Messages
    144
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 144
    Points : 117
    Points
    117
    Par défaut
    Je sais pas s'il y a un forum dans developpez.com pour les passionnes pour ces etudes, non?
    Tous les chemins menent a la connaissance. Lequel est le plus court?
    de meme , Tous les chemins menent a l'ignorance, Lequel est le plus long?


    -------- ^ ^----------
    ------SMOoOTQ-------
    ---------( - )---------

  19. #19
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    Non malheureusement il n'existe pas de forum sur développez.com sur les micro (malheureusement car je trouve qu'il y aurait ca place, après tout c'est de l'écriture de code, donc du développement...) mais je sais que le site abcelectronqiue à son forum et que un des participants est l'auteur de l'excellent cours BigOnOff...

  20. #20
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    floyd973 as-tu regardé les exercices proposé par jimb2k?
    Ils ont l'aire bien...

    Citation Envoyé par jimb2k Voir le message
    Voici des liens dont je crois qu'ils sont utiles , y'a du console et un peu des interfaces :

    http://docs.google.com/viewer?a=v&q=...hQSof3eECej-6g

    http://docs.google.com/viewer?a=v&q=...9DYzITEhvuDe8A



    Cordialement ,

Discussions similaires

  1. Recherche des exercices pour les listes chainée
    Par dot-_-net dans le forum C
    Réponses: 1
    Dernier message: 15/12/2007, 18h14
  2. A la recherche d'exercices pour debutant
    Par Revan777 dans le forum OpenGL
    Réponses: 5
    Dernier message: 19/01/2006, 16h11
  3. recherche des logiciel pour install
    Par argon dans le forum Autres Logiciels
    Réponses: 5
    Dernier message: 22/02/2005, 09h28
  4. recherche des algorythmes pour images 2d
    Par exxos dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 24/05/2002, 13h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo