Tölvunarfręši 2

Vikublaš 1


Fyrstu žrjįr vikurnar veršur fariš ķ forritunarmįliš C++. Žar sem žiš hafiš haft Java ķ Tölvunarfręši 1 ętti žetta ekki aš vera mikiš mįl fyrir ykkur. Į yfirboršinu eru žessi tvö forritunarmįl nokkuš lķk, en žau eru žó frįbrugšin ķ żmsum grundvallaratrišum.

Viš munum eyša mestum tķmanum ķ aš kynnast žeim atrišum C++ sem ekki eiga sér beina samsvörun ķ Java eša eru öšruvķsi. Žetta eru atriši eins og bendar, vektorar, klasar, fjölnota eiginleikar og erfšir.

C++ kennslubókin er sérstaklega hönnuš fyrir sjįlfsnįm og mišar viš aš lesandinn hafi ekki forritaš įšur. Žess vegna veršur fariš mjög hratt yfir fystu 7 kaflana (fyrstu "vikuna"), žvķ žiš eigiš öll aš hafa forritaš įšur, žó žaš hafi veriš ķ öšru forritunarmįli.

Meš bókinni fylgja geisladiskar, annar žeirra meš Visual C++ žżšandanum en hinn meš żmsu efni ķ tengslum viš bókina. Žar į mešal eru ęfingar sem žiš getiš notaš til aš kanna žekkingu ykkar į efni hvers kafla fyrir sig. Žiš ęttuš aš nota žetta til aš tryggja aš žiš hafiš nįš efninu. Žaš er mjög mikilvęgt aš žiš komist strax vel af staš ķ C++. Žaš sem eftir er nįmskeišsins byggir mikiš į žvķ.

Dęmatķmar 11.-12. janśar verša ķ tölvuverum sem hér segir:

Žeir sem eru ķ tölvuveri tölvunarfręšinema (ž.e. hópur 2 ķ Tölvunarfręši 2) žurfa aš fį ašgang aš žvķ tölvuveri. Žaš er gert meš žvķ aš skrį sig hjį umsjónarmönnum tölvuveranna.

Ķ žessum fyrstu dęmatķmum veršur fariš ķ Visual C++ umhverfiš og žiš byrja į žvķ aš skoša og fara ķ gegnum einfaldar leišbeiningar um notkun į Visual C++. Sķšan skuluš žiš nį ķ skrįna 4elist0510.cpp, sem inniheldur forrit 5.10 ķ kennslubókinni, žżša žaš og keyra. Žiš bśiš til nżtt "Win32 Console Application" og bętiš forritaskrįnni inn meš žvķ aš fara ķ "Project | Add to project | Files...". Žiš skuluš prófa aš keyra forritiš lķnu fyrir lķnu meš žvķ aš setja upp "Debug toolbar" (smella meš hęgri mśsahnappi į toolbar og velja Debug). Öll forrit bókarinnar eru į Vefnum og į geisladisk 1 sem fylgir meš bókinni.

Heimadęmi 1

Žessi fyrstu skiladęmi verša lķklega žau léttustu sem žiš fįiš ķ žessu nįmskeiši. Reyniš žvķ endilega viš žau og skiliš lausnunum ķ hólf dęmatķmakennara ykkar fyrir kl. 12:00 mįnudaginn 17. janśar. Žeir munu ekki taka viš dęmum sem koma seinna.

  1. Skrifiš C++ forrit sem les inn heiltöluna n og prentar śt töluna 1+2+...+n.

  2. Rannsakiš hvaš gerist ef žiš sleppiš if-hlutanum ķ fib fallinu ķ forriti 5.10 į bls. 119 ķ C++ bókinni. Breytiš forritinu žannig aš žaš sé engin if-setning (sleppa lķnum 21 til 26). Hver er įstęšan fyrir žessari nżju hegšun forritsins (önnur en aš žiš eydduš śt lķnunum!)?

  3. Hvaš er aš eftirfarandi forritisbśti og hvaš gerist žegar hann er keyršur?
         int main()
         {  int i;
            for(i=0; i<10; i++)
                if( i = 0 )
                    cout << "Nśll" << endl;
                else
                    cout << "Ekki nśll" << endl;
            return 0;
         }
      
  4. Hvaš gerist žegar eftirfarandi forrit er keyrt og hvers vegna?
          #include <iostream>
          using namespace std;
      
          void vixla( int x, int y )
          {   int t = x;
              x = y;
              y = t;
          }
          
          int main()
          {   int i, j;
              i = 5;
              j = 8;
              vixla(i, j);
              cout << "i=" << i << ", j=" << j << endl;
              return 0;
          }
      
  5. Hęgt er aš nįlga kvašratrót fleytitölunnar x meš eftirfarandi formślu
    ri = (ri-1 + x/ri-1) / 2
    Ķ upphafi er r0 einhver jįkvęš tala stęrri en 0, t.d. x/2. Skrifiš C++ forrit sem les inn jįkvęša tölu x og reiknar kvašratrót hennar meš žessari ašferš, žannig aš hlutfallsleg skekkja sé minni en 0.000001. Hlutfallslega skekkja er tölugildiš af (ri - ri-1) / ri.

hh (hja) hi.is, 10. janśar, 2005.