Seneste forumindlæg
Køb / Salg
 * Uofficiel Black/White liste V3
Login / opret bruger

Forum \ Programmering og webdesign \ Programmering
Denne tråd er over 6 måneder gammel

Er du sikker på, at du har noget relevant at tilføje?

Hvorfor er programmering så svært og google?

Af Giga Nørd Dety | 03-03-2019 23:33 | 3943 visninger | 34 svar, hop til seneste
er på grundforløb til IT , normalt er jeg en haj til at google It problemer, men her er jeg på bag bund vi skal lave noget så simpelt som den lille gange tabel print out 1 2 3 4 2 4 6 8 3 6 9 12 osv til 10 lang og 10 bred , Struggler så hårdt, at nu har jeg bar copy pasted den her 10 gange for (i = 1; i <= 10; i++) { Console.Write("{0} ", i); } Console.Write("\n\n"); for (i = 2; i <= 11; i++) { Console.Write("{0} ", i); } Console.Write("\n\n"); "" for (i = 2; i <= 11; i+++) virker ikke "" så må jeg finde ud af at få den til at gange :D men i opgaven står der det kan løses med 2 forløkker men holy moly og i opgaven står der "" For (int i = 1; i <= 10; i++) { for (int j = 1; j <= 10; j++) } ""
--
Intel Core i5-2500K, Noctua Nh-D14, MSI Z77A-G45 Gaming, Define S, Samung 850EVO 250gb, GTX970 G.Skill Ripjaws 8Gb 1866
#1
nikolajp
Giga Supporter
03-03-2019 23:40

Rapporter til Admin
du kører et loop på 10.. og I hver loop tæller du op hvor mange gange "den skal springe" i tabellen.- psuedo koden er noget lig. For (int i = 1; i <= 10; i++) { var tabel_nummer = 1; For (int j = 1; j <= 10; j++) { var tabel_print = tabel_nummer * j; Console.Write("{0} ", tabel_print); } tabel_nummer = tabel_nummer + 1; } ---- right?
--
Sidst redigeret 03-03-2019 23:41
#2
nikolajp
Giga Supporter
03-03-2019 23:43

Rapporter til Admin
"normalt er jeg en haj til at google It problemer" Jeg vil anbefale dig, at blive en haj til at løse tingene istedet for at Google dem. Skru lidt ned for Google. Det kan nogle gange blive en refleks, så du ikke selv finder på løsningerne.
--
#3
Gæsten
Gæst
03-03-2019 23:52

Rapporter til Admin
Hvis du synes det der er svært... så synes jeg du skal lade være med at få andre til at lave dine lektier.
--
Gæstebruger, opret dit eget login og få din egen signatur.
#4
Lubas
Bruger
04-03-2019 00:10

Rapporter til Admin
for i = 1:10 x(i,:) = i:i:10*i end print x ?
--
#5
SShadowS
Guru
04-03-2019 00:11

Rapporter til Admin
Hvorfor skriver du I når opgaven specifikt siger du skal skrive J? Er nok en grund. :) Nu er din kode ikke godt formateret, men hvis du inde i loopet bruger den samme variable så kan du kun komme i problemer med dine loops opfører sig underligt.
--
6700K|Maximus VIII Extreme|32GB RAM Gainward2080ti-GS|PG279Q Samsung960 PRO 512GB|Samsung 850 PRO 512GB Samsung850 EVO 250GB|Corsair AX860i
--
Sidst redigeret 04-03-2019 00:14
#6
Mattii
Ultra Nørd
04-03-2019 08:00

Rapporter til Admin
Er det ikke bare noget ala https://www.quickprogrammingtips.com[...] ?
--
#7
MadsAG
Monsterbruger
04-03-2019 08:07

Rapporter til Admin
Star med at løse matematikken, ellers kommer du ikke så langt jo. Du skal bruge værdien i den første løkke til at regne “cellen” ud. Så første løkke tæller gange anden løkke tæller.
--
#8
Dety
Giga Nørd
04-03-2019 08:44

Rapporter til Admin
#2 - Jeg gætter på du aldrig nogensinde Google dig frem til et spørgsmål så :( , Hvorfor overhovedet google hvor høj er Mount Everest er når du bar kan tage der ned med et Målebånd :( #3 - Syntes det er svært fordi jeg har sammenlagt haft 6 timers C# Programmering i total , og vi er lige kommet til For Løkker , men gør ikke at spørgsmålet irritere mig ,
--
Intel Core i5-2500K, Noctua Nh-D14, MSI Z77A-G45 Gaming, Define S, Samung 850EVO 250gb, GTX970 G.Skill Ripjaws 8Gb 1866
#9
Wut
Mega Supporter
04-03-2019 08:49

Rapporter til Admin
#8 Men #2 har jo ret: Læs i stedet i din bog omkring for-løkker og byg så et simpelt eksempel op og leg med det. Hvad betyder forskellige værdier, og hvad gør de, osv. Frem for at rykke direkte til Google og regne med at Google kan give dig svaret på opgaven. Google er ikke en erstatning for at regne tingene ud selv. Lad mig give dig et hint: Du kan bruge den variabel, der bliver brugt i den ene for-løkke i den næste (og næste...). Eksempel (i pseudokode, du kan selv oversætte til det sprog, du bruger): for(i=0; i<10; i++){ for(k=0; k<10; k++){ print "%d, ", i+k; } print "\n"; } print "\n"; Prøv at se, hvad det gør... og om du kan skrive det om til det, du har brug for.
--
Jeg ser ikke indlæg fra gæster. Så gæst: Opret en profil :-)
--
Sidst redigeret 04-03-2019 08:50
#10
Dety
Giga Nørd
04-03-2019 09:10

Rapporter til Admin
#9 - fik løst det på en grim men kreativ måde for (int i = 1; i <= 10; i++) { Console.Write("\n"); Console.Write("{0} ", i); Console.Write("{0} ", i+i); Console.Write("{0} ", i+i+i); Console.Write("{0} ", i+i+i+i); Console.Write("{0} ", i+i+i+i+i); Console.Write("{0} ", i+i+i+i+i+i); Console.Write("{0} ", i+i+i+i+i+i+i); Console.Write("{0} ", i+i+i+i+i+i+i+i); Console.Write("{0} ", i+i+i+i+i+i+i+i+i); Console.Write("{0} ", i+i+i+i+i+i+i+i+i+i); } Console.ReadKey(); } Er klar til at blive ansat hos Microsoft... xD
--
Intel Core i5-2500K, Noctua Nh-D14, MSI Z77A-G45 Gaming, Define S, Samung 850EVO 250gb, GTX970 G.Skill Ripjaws 8Gb 1866
--
Sidst redigeret 04-03-2019 09:11
#11
Wut
Mega Supporter
04-03-2019 09:12

Rapporter til Admin
#10 OMG. Det er den sygeste øjebæ, jeg nogensinde har set :-o !
--
Jeg ser ikke indlæg fra gæster. Så gæst: Opret en profil :-)
#12
potteplante
Mega Supporter
04-03-2019 09:22

Rapporter til Admin
#11 Mange veje til rom..
--
Google is your friend!
#13
Chr4030
Mega Supporter
04-03-2019 09:40

Rapporter til Admin
#10 Lav løsningen med to loops. Det du har lavet nu, bliver et mareridt at udvide. Det princip kan du lige så godt lære nu.
--
#14
upz
Monsterbruger
04-03-2019 10:22

Rapporter til Admin
https://pastebin.com[...] int[] tableArray = {1,2,3,4,5,6,7,8,9,10}; foreach (var table in tableArray) { foreach (var number in tableArray) { var value = number * table; Console.Write($"{value.ToString("00")} "); } Console.WriteLine(); } Console.ReadKey(); det her er den pæne måde at lave det på
--
Sidst redigeret 04-03-2019 10:25
#15
LgT
Maxi Supporter
04-03-2019 10:23

Rapporter til Admin
#10 vil du ikke lige udvidde til 16x17 matrix ? :-D 1 point for at huske newline, men ellers #facepalm fra en gammel hjælpelærer (hint: hvis du bliver bedt om at bruge i og j i for loops har du teknisk set heller ikke løst opgaven trods du har faket outputtet ).
--
#16
eric clapton
Junior Nørd
04-03-2019 10:25

Rapporter til Admin
Det bar dæjligt
--
i7 8700k 4,9 ghz GTX 1080TI 16 gb ram
#17
Wut
Mega Supporter
04-03-2019 10:27

Rapporter til Admin
#12 En genvej er den længste vej mellem to punkter (Charles Issawi). Det er fint nok at lære sig selv at slamkode - man kommer bare som regel selv til at sidde og rode rundt i lortet senere, fordi alle andre i virksomheden ikke vil røre det med en ildtang. ;-) Happy coding!
--
Jeg ser ikke indlæg fra gæster. Så gæst: Opret en profil :-)
#18
upz
Monsterbruger
04-03-2019 10:31

Rapporter til Admin
rettelse til mig selv i #14 int array burde selv være skrevet som følger var tableArray = Enumerable.Range(1, 10); foreach (var table in tableArray) { foreach (var number in tableArray) { var value = number * table; Console.Write($"{value.ToString("00")} "); } Console.WriteLine(); } Console.ReadKey(); At skrive int[] tableArray = {1,2,3,4,5,6,7,8,9,10}; er selvfølgelig den fesne måde
--
Sidst redigeret 04-03-2019 10:31
#19
Wut
Mega Supporter
04-03-2019 10:41

Rapporter til Admin
#18 Gemme nummerrækkefølgen i et array i hukommelsen i stedet for at bruge loop variablen... Den var sgu alligevel nu. Helt sikkert den "pæne" løsning. 99% af programmører, der kommer forbi den løsning skal nok læse den et par gange for overhovedet at fatte, hvad der foregår :-0
--
Jeg ser ikke indlæg fra gæster. Så gæst: Opret en profil :-)
--
Sidst redigeret 04-03-2019 10:45
#20
upz
Monsterbruger
04-03-2019 10:44

Rapporter til Admin
#19 Til at lave det som op snakker om, ud fra de parameter, så ville jeg da gerne se din tilgang, nu hvor var tableArray = Enumerable.Range(1, 10); ikke falder i din smag :) Og nu vi snakker effektivitet, så jeg er også spændt på at se hvor du vil løfte effiktiviteten til et 10x10 matrix.
--
#21
Caspian
Nørd Aspirant
04-03-2019 10:53

Rapporter til Admin
#20 Tror ikke det er et spørgsmål om effektivitet (vi snakker om at iterere 100 gange...) Men reusability, hvad nu hvis det det inderste loop skulle tage hver 3 tal i stedet for? skulle starte ved 4? skulle stoppe når det kom over 7? eller den samlede (i*j) kom over 20? Lige her, er et almindeligt For loop bestemt bedre.
--
#22
Wut
Mega Supporter
04-03-2019 11:09

Rapporter til Admin
#20 Lad os tage den fra toppen af: var tableArray = .... Ok, så tableArray må være et array af tabeller. Det angiver navnet jo. var tableArray = Enumerable.Range(1, 10); Så man slår op, hvad "Enumerable.Range(1,10)" og finder ud af, at funktionen ikke returnerer et multidimensionelt objekt. Det kan man så undre sig over. Hvordan kan man så initialisere et array af tabeller med den funktion? foreach (var table in tableArray) { Ok, tableArray inderholder altså tabeller! Fedt. Så ved vi det! Måske har vi misforstået "Enumerable.Range()" alligevel så. ??foreach (var number in tableArray) { Øøøh... tableArray indeholder altså numre? Indeholder det ikke tabeller?? ?var value = number * table; Ok. Så vi multiplicerer et nummer med en tabel... Hvad hulen får man så? Multiplicerer man alle elementer i tabellen med nummeret? Er det en vektor-beregninger det her? Er "*" blevet overloadet et sted, så man kan lave vektorberegninger, eller beregner man mon længden af vektoren? .... og derfra giver man bare op. Når man så opdager, at det hele går ud på at fylde rammen op med et langt array af fortløbende numre... så bliver man fanme træt. Undlad venligst at kalde det der "den pæne løsning" :-D Jeg ser alt for meget af det her slam til daglig. Min måde (C i det her tilfælde): for(i=1; i<11; i++){ for(j=1; j<11; j++){ printf("%d ", i*j); } printf("\n"); } printf("\n"); Hvis man ikke forstår ovenstående, så burde man lave noget andet end at programmere. Hvis man ikke kan udvide eller debugge ovenstående, så har man igen brug for et nyt job. I mit eksempel er der kun akkurat lige præcist det, som er brug for. Det bruger absolut kun den mængde RAM, som er brug for, og CPUen arbejder kun lige akkurat så meget, som der er brug for. Enhver kan tage ovenstående og ændre konstanterne eller tilføje et eller andet. Lad os sige, at læreren siger: "Nu skal matricen i stedet se sådan her ud": 10, 9, 8, 7... 20, 18, 16, 14.... 30, 27, 24, 21... ... Det kan jeg opnå ved at ændre på koden til at være: for(i=1; i<11; i++){ for(j=10; j>=0; j--){ printf("%d ", i*j); } printf("\n"); } printf("\n"); Prøv lige at gøre det samme nummer med dit array i RAM.... Jeg håber, du kan se, at du bruger RAM, CPU og kodelinjer på at skrive noget, som kun lige akkurat passer til den opgave, du skal løse, og hvis man skal ændre bare en smule, så skal der ændres i ret mange linjer.... Og samtidig skal man holde tungen lige i munden. Du bruger jo en loop-variable til at indeksere ind i et array. Så har du pludlige to ting at holde styr på (hvad er pointeren, og hvad er indholdet af arrayet) frem for kun 1 enkelt ting: loop-variablen. Det gør det overhovedet ikke nemmere for andre at forstå, eller andre at vedligeholde.
--
Jeg ser ikke indlæg fra gæster. Så gæst: Opret en profil :-)
#23
upz
Monsterbruger
04-03-2019 11:14

Rapporter til Admin
#22 ahh så du har super ondt i røven over navngavning som udgangspunkt. Check.
--
#24
Wut
Mega Supporter
04-03-2019 11:25

Rapporter til Admin
#23 Prøv nu at tage kritikken til dig i stedet for at blive butthurt/pigesur. Det tjener dig overhovedet ikke at have den indstilling. Hvis du fortsat mener, at navngivning er irellevant, så er du i den forkerte branche. Samtlige kodestandarder, jeg har læst (og fulgt) har haft et omfattende kapitel om navngivning. Det er en af de hyppigste kilder til fejl i kode. Og nej min primære kritik er ikke din navngivning, men hvis du ikke har den på plads, så er det nok dér, du skal starte med at forbedre dig, frem for at forstå problematikken i at bruge RAM unødvendigt, og beregningshastighed kontra loading/paging fra RAM osv.
--
Jeg ser ikke indlæg fra gæster. Så gæst: Opret en profil :-)
--
Sidst redigeret 04-03-2019 11:29
#25
inckie
Elite Nørd
04-03-2019 11:40

Rapporter til Admin
#23 Nej det er faktisk super vigtigt ! Jeg er fuldstændig enig med det som #24 skriver, og som han også er inde på i #17 kodestander er ekstremt vigtigt, ellers er det et mareridt at arbejde med.
--
https://twitter.com[...] - Ned med #lurerSørenPape https://linuxmint.com[...] - Få dit privatliv tilbage.
--
Sidst redigeret 04-03-2019 11:41
#26
Max
Gæst
04-03-2019 11:59

Rapporter til Admin
@upz du itererer over et array unødvendigt to gange, ikke at man ikke kan, men på det niveau er det super omsonst. Derfor du får ris.
--
Gæstebruger, opret dit eget login og få din egen signatur.
#27
MadsAG
Monsterbruger
04-03-2019 12:05

Rapporter til Admin
#10 Du har jo ikke løst opgaven mere rigtigt end hvis du havde 100 console writes? Du har fået løsningen fortalt adskillige gange, j*i.
--
#28
Dety
Giga Nørd
04-03-2019 12:29

Rapporter til Admin
#27 - Tilføre lige det her. Vedhæftet er øvelse 7 til 10. Nedenstående er uforpligtende inspiration til øvelserne, øvelserne kan løses på flere forskellige måder! Hjælp øvelse 7) En for-løkke A styre hvilken tabel der udskrives En for-løkke B udskriver den aktuelle tabel For hver gang A er afviklet en gang afvikles B ti gang
--
Intel Core i5-2500K, Noctua Nh-D14, MSI Z77A-G45 Gaming, Define S, Samung 850EVO 250gb, GTX970 G.Skill Ripjaws 8Gb 1866
#29
Pendor
Super Supporter
04-03-2019 12:41

Rapporter til Admin
#23 Navngivning er faktisk ret vigtig hvis andre end dig selv skal vedligeholde koden efterfølgende. Prøv at tænke over det i stedet for at tage det negativt.
--
#30
Caspian
Nørd Aspirant
04-03-2019 15:04

Rapporter til Admin
#29 Navngivning er vigtigt hvis du selv skal forstå det bare et halvt år efter...
--
#31
Sven Bent
Semi Nørd
04-03-2019 18:56

Rapporter til Admin
Jeg skal nok ikke tale for hoejt her, men kan ikke dy mig. Under programmering er det vigtige at man har styr paa sine logiske operationer. Hvorfor er programmering så svært og google? Og bruger naar man taler om 2 ting. dvs noget some er saa svaert samt det er saa google. giver ingen mening. At er et biord som nok er mere passende her. Hvis du har problemme med at/og forskelen saa stop med at skrive og. Brug I stedet for ordet Samt. Joke til side. Jeg har ikke set du naevnte hvilket sprog du skriver I; forskellige bruger forskelig opsaetning for de samme ting. men det tyder paa det er loekker code structuer der driller her. jeg vil give #2 ret at hvis du bare googler dig til den faerdige loesning saa laerer du ikke loesning paa hvad problemet er. me nsaetter du dig noed og laeser op paa code structuren saa vil du undgaa at have samme problem igen "i morgen" nu ved jeg ikek o mdet blot er hol forum. men jeg vil gosaa anbeafler at lave indent saa snart du gaa ned i en underloeekee saa ledes er det nemer at see hvor dybt neede du er i loekkerne. Loop 99 ?{ ?Loop 99 ? ?{ ? ?goer noget 99x99 gange ? ?} ?goer noget 99 gange hver gane de forggie er gjort 99 gange ?} Goer noget 1 gange efter alt ander er koert du kan aendre paa hvordan du saetter dine paranterser men det er vigtige at vaere konsekvent
--
Sven Bent - Dr. Diagnostic www.TechCenter.[...] - Home of Project Mercury
#32
Sven Bent
Semi Nørd
04-03-2019 18:56

Rapporter til Admin
hmm ser ud til at hol.dk ikke kan lide tabs de bliver oversat til et spoegsmaalstegn
--
Sven Bent - Dr. Diagnostic www.TechCenter.[...] - Home of Project Mercury
#33
inckie
Elite Nørd
04-03-2019 19:02

Rapporter til Admin
#32 Brug pastebin.com HOLs editor er fuldstændig umulig at arbejde med. Jeg har sendt et "feature request" til Thomas/HOL i forhold til forbedringer: https://www.hardwareonline.dk[...] men tråden blev "kold"...
--
https://twitter.com[...] - Ned med #lurerSørenPape https://linuxmint.com[...] - Få dit privatliv tilbage.
#34
Nissehamp
Skribent
04-03-2019 19:45

Rapporter til Admin
#22/24 Tak! Det gjorde ondt at se på den løsning han skrev! #23 Tag ved lære af hvad han siger, navngivning og dokumentation er alfa og omega hvis du skal arbejde sammen med nogen, eller genbesøge din kode efter noget tid. Der er ingen idé i at skulle læse hele koden igennem for at gennemskue den, når ordentlig navngivning af variable og funktioner, kombineret med brugbare kommentarer kan gøre så meget hurtigere og mere gnidningsfrit.
--
Lyd-nørd

Opret svar til indlægget: Hvorfor er programmering så svært og google?

Grundet øget spam aktivitet fra gæstebrugere, er det desværre ikke længere muligt, at oprette svar som gæst.

Hvis du ønsker at deltage i debatten, skal du oprette en brugerprofil.

Opret bruger | Login
NYHEDSBREV
Afstemning


ANNONCE