# അറേകളും ലൂപുകളും അസൈൻമെന്റ് ## നിർദേശങ്ങൾ അറേകളും ലൂപുകളും ഉപയോഗിച്ച് പ്രവർത്തിക്കുന്നതിനുള്ള അഭ്യാസം നടത്താൻ താഴെയുള്ള വ്യായാമങ്ങൾ പൂർത്തിയാക്കുക. ഓരോ വ്യായാമവുമും പാഠത്തിലുള്ള ആശയങ്ങളെ അടിസ്ഥാനമാക്കി വിവിധ ലൂപ് തരംകളും അറേ മെത്തഡുകളും പ്രയോഗിക്കാനാണ് ഉദ്ദേശിച്ചത്. ### വ്യായാമം 1: സംഖ്യാ പാറ്റേൺ ജനറേറ്റർ 1-20 ൽ ഇടയിൽ എല്ലാ 3 ആം സംഖ്യയും പട്ടികപ്പെടുത്തുകയും കോൺസോളിൽ പ്രിന്റ് ചെയ്യുകയും ചെയ്യുന്ന പ്രോഗ്രാം സൃഷ്ടിക്കുക. **ആവശ്യകതകൾ:** - ഇഷ്ടാനുസൃത വർധനവോടെ `for` ലോപ് ഉപയോഗിക്കുക - സംഖ്യകൾ ഉപയോക്തൃ സൗഹൃദ ഫോർമാറ്റിലാക്കി കാണിക്കുക - നിങ്ങളുടെ ലോജിക്ക് വിശദീകരിക്കുന്ന വിവരണാത്മക കമന്റുകൾ ചേർക്കുക **പ്രതീക്ഷിച്ച ഔട്ട്പുട്ട്:** ``` 3, 6, 9, 12, 15, 18 ``` > **ടിപ്പ്:** നിങ്ങളുടെ for ലൂപിലെ ഇറ്ററേഷൻ-എക്സ്പ്രഷൻ മാറ്റി സംഖ്യകൾ ഒഴിവാക്കുക. ### വ്യായാമം 2: അറേ വിശകലനം കുറഞ്ഞത് 8 വ്യത്യസ്ത സംഖ്യകൾ അടങ്ങിയ ഒരു അറേ സൃഷ്ടിച്ച് ഡാറ്റ വിശകലനം ചെയ്യുന്നതിനുള്ള ഫംഗ്ഷനുകൾ എഴുതുക. **ആവശ്യകതകൾ:** - `numbers` എന്ന പേരിൽ 8 ലധികം മൂല്യങ്ങൾ ഉള്ള അറേ സൃഷ്ടിക്കുക - ഏറ്റവും വലിയ സംഖ്യ തിരിച്ചടയുന്ന `findMaximum()` ഫംഗ്ഷൻ എഴുതുക - ഏറ്റവും കുറഞ്ഞ സംഖ്യ തിരിച്ചടയുന്ന `findMinimum()` ഫംഗ്ഷൻ എഴുതുക - എല്ലാ സംഖ്യകളുടെയും മൊത്തം തിരിച്ചടയുന്ന `calculateSum()` ഫംഗ്ഷൻ എഴുതുക - ഓരോ ഫംഗ്ഷനും ടെസ്റ്റ് ചെയ്ത് ഫലം പ്രദർശിപ്പിക്കുക **ബോണസ് ചോർഞ്ച്:** അറേയിൽ രണ്ടാമത്തേതായ ഏറ്റവും വലിയ സംഖ്യ കണ്ടെത്തുന്ന ഒരു ഫംഗ്ഷൻ സൃഷ്ടിക്കുക. ### വ്യായാമം 3: സ്ട്രിംഗ് അറേ പ്രോസസ്സിംഗ് നിങ്ങളുടെ ഇഷ്ടമുള്ള സിനിമകൾ/പുസ്തകങ്ങൾ/പാട്ടുകൾ അടങ്ങിയ ഒരു അറേ സൃഷ്ടിച്ച് വ്യത്യസ്ത ലൂപ് തരംകൾ പ്രയോഗിച്ച് പ്രവർത്തിക്കുക. **ആവശ്യകതകൾ:** - കുറഞ്ഞത് 5 സ്ട്രിംഗ് മൂല്യങ്ങളുള്ള ഒരു അറേ സൃഷ്ടിക്കുക - സംഖ്യകളോടുകൂടി (1. ഇനം പേര്) ഉള്ളവ പ്രദർശിപ്പിക്കാൻ പരമ്പരാഗത `for` ലൂപ് ഉപയോഗിക്കുക - വസ്തുക്കൾ മുഴുവൻ അപ്പർകേസ് ആയി പ്രദർശിപ്പിക്കാൻ `for...of` ലോപ് ഉപയോഗിക്കുക - മൊത്തം അക്ഷരങ്ങളുടെ എണ്ണം കണക്കാക്കി പ്രദർശിപ്പിക്കാൻ `forEach()` മെത്തഡ് ഉപയോഗിക്കുക **ഉദാഹരണ ഔട്ട്പുട്ട്:** ``` Traditional for loop: 1. The Matrix 2. Inception 3. Interstellar For...of loop (uppercase): THE MATRIX INCEPTION INTERSTELLAR Character count: Total characters across all titles: 42 ``` ### Exercise 4: Data Filtering (Advanced) വിദ്യാർത്ഥികളെ പ്രതിനിധീകരിക്കുന്ന ഒബ്‌ജക്റ്റുകളുടെ അറേ പ്രോസസ്സ് ചെയ്യുന്ന പ്രോഗ്രാം സൃഷ്ടിക്കുക. **ആവശ്യകതകൾ:** - `name`, `age`, `grade` എന്ന പ്രോപ്പർട്ടികളുള്ള കുറഞ്ഞത് 5 വിദ്യാർത്ഥി ഒബ്‌ജക്റ്റുകൾ അടങ്ങിയ അറേ സൃഷ്ടിക്കുക - 18 വയസ്സിന് മുകളിൽ ഉള്ള വിദ്യാർത്ഥികളെ കണ്ടെത്താൻ ലൂപുകൾ ഉപയോഗിക്കുക - എല്ലാ വിദ്യാർത്ഥികളുടെ ശരാശരി ഗ്രേഡ് കണക്കുകൂട്ടുക - 85 ൽ മീതെ ഗ്രേഡ് ഉള്ള വിദ്യാർത്ഥികളുമായുള്ള പുതിയ അറേ സൃഷ്ടിക്കുക **ഉദാഹരണ ഘടന:** ```javascript const students = [ { name: "Alice", age: 17, grade: 92 }, { name: "Bob", age: 18, grade: 84 }, // കൂടുതല്‍ വിദ്യാര്‍ത്ഥികളെ ചേര്‍ക്കുക... ]; ``` ## നിങ്ങളുടെ കോഡ് ടെസ്റ്റിംഗ് താങ്കളുടെ പ്രോഗ്രാമുകൾ ടെസ്റ്റ് ചെയ്യുന്നത്: 1. ഓരോ വ്യായാമവും ബ്രൗസറിന്റെ കോൺസോളിൽ ഓടിക്കുക 2. മെച്ചപ്പെടുത്തിയ ഫലങ്ങളുമായി ഔട്ട്പുട്ട് പൊരുത്തപ്പെടുന്നത് ഉറപ്പാക്കുക 3. വ്യത്യസ്ത ഡാറ്റാ സെറ്റുകളോടെ ടെസ്റ്റ് ചെയ്യുക 4. നിങ്ങളുടെ കോഡ് കാവൽ വ്യവസ്ഥകൾ (ఖാലി അറേകൾ, ഒറ്റ വസ്തുക്കൾ) കൈകാര്യം ചെയ്യുന്നതായിട്ടുള്ളതിനൊരു നിരീക്ഷണം നടത്തുക ## സമർപ്പണ മാർഗനിർദ്ദേശങ്ങൾ താഴെപ്പറയുന്നവ സമർപ്പണത്തിൽ ഉൾപ്പെടുത്തുക: - ഓരോ വ്യായാമത്തിന്റേയും വിശദീകരണസഹിതമായ ജാവാസ്ക്രിപ്റ്റ് കോഡ് - പ്രോഗ്രാമുകൾ പ്രവർത്തിക്കുന്ന സ്ക്രീൻഷോട്ടുകൾ അല്ലെങ്കിൽ ടെക്സ്റ്റ് ഔട്ട്പുട്ട് - ഓരോ ടാസ്‌ക്കിനും ഏത് ലൂപ് തരം തിരഞ്ഞെടുക്കാൻ കാരണംകൂടി ചെറിയ വിശദീകരണം ## റൂബ്രിക് | മാനദണ്ഡങ്ങൾ | ഉത്തമം (3 പോയിന്റ്) | യോജിച്ച (2 പോയിന്റ്) | മെച്ചപ്പെടുത്തേണ്ടത് (1 പോയിന്റ്) | | -------- | -------------------- | ------------------- | --------------------------- | | **ഫംഗ്ഷണാലിറ്റി** | ബോണസ് ചോർഞ്ചുകളും ഉൾപ്പെടെ എല്ലാ വ്യായാമങ്ങളും ശരിയായി പൂർത്തിയാക്കിയത് | എല്ലാ ആവശ്യമായ വ്യായാമങ്ങളും ശരിയായി പ്രവർത്തിച്ചതു | ചില വ്യായാമങ്ങൾ അപൂർണ്ണമായതോ പിഴവുകളുള്ളതോ ഉണ്ടായതു | | **കോഡ് ഗുണമേന്മ** | സുതാര്യവും സുഗമവുമായ കോഡ് വിശദമായ വ്യത്യാസപ്പെട്ട വേരിയബിൾ പേരുകളോടൊപ്പം | കോഡ് പ്രവർത്തിച്ചെങ്കിലും കൂടുതൽ വൃത്തിയുള്ളതായിരിക്കേണ്ടത് | കോഡ് വിറക്‌തമായോ മനസ്സിലാക്കാൻ ബുദ്ധിമുട്ടുള്ളതായോ ഉള്ളത് | | **കമന്റുകൾ** | ലോജിക്കും തീരുമാനം സംബന്ധിച്ച വിശകലനവും ഉൾക്കൊള്ളുന്ന സമഗ്ര കമന്റുകൾ | അടിസ്ഥാന കമന്റുകൾ ഉണ്ടായിരിക്കുക | കുറഞ്ഞത് അല്ലെങ്കിൽ കമന്റുകളില്ല | | **ലൂപ് ഉപയോഗം** | വിവിധ ലൂപ് തരംകൾ പര്യാപ്തമായി പ്രയോഗിക്കുന്നതിന്‍റെ വ്യക്തമായ തെളിവ് | ലൂപുകൾ ശരിയായി ഉപയോഗിച്ചെങ്കിലും തരം വർണ്ണം കുറവ് | തെറ്റായോ കാര്യക്ഷമമല്ലാത്ത ലൂപ് ഉപയോഗം | | **ടെസ്റ്റിംഗ്** | വിവിധ സാഹചര്യങ്ങളടങ്ങിയ പൂർണ്ണമായ ടെസ്റ്റിംഗ് തെളിവ് | അടിസ്ഥാനമായ ടെസ്റ്റിംഗ് പ്രകടിപ്പിച്ചിരുന്നു | ടെസ്റ്റിംഗിന്റെ ചെറിയ തെളിവുണ്ടായതു മാത്രം | ## പ്രതിവിമർശന ചോദ്യങ്ങൾ വ്യായാമങ്ങൾ പൂർത്തിയാക്കിയ ശേഷം, പരിഗണിക്കുക: 1. ഏത് ലൂപ് തരം ഏറ്റവും സ്വാഭാവികമായി ഉപയോഗിക്കാൻ തോന്നി, കാരണം എന്ത്? 2. അറേകൾ ഉപയോഗിച്ച് പ്രവർത്തിക്കുമ്പോൾ നിങ്ങള് അനുഭവിച്ച വെല്ലുവിളികൾ എന്തെല്ലാമാണ്? 3. ഈ കഴിവുകൾ യാഥാർത്ഥ്യ വെബ് ഡവലപ്പ്മെന്റ് പ്രധാന പദ്ധതികളിൽ എങ്ങനെ പ്രയോഗിക്കാവുന്നതാണ്? 4. നിങ്ങളുടെ കോഡ് പ്രകടനം മെച്ചപ്പെടുത്താനുള്ള ശ്രമത്തിൽ എന്തെല്ലാം വ്യത്യാസങ്ങൾ വരുത്തുമായിരുന്നു? --- **അസൂയാപത്രം**: ഈ രേഖ AI വിവർത്തന സേവനമായ [കോപ് ട്രാൻസ്ലേറ്റർ](https://github.com/Azure/co-op-translator) ഉപയോഗിച്ച് വിവർത്തനം ചെയ്തതാണ്. ഞങ്ങൾ ശരിതവർത്തനം നേടാൻ ശ്രമിക്കുന്നുവെങ്കിലും, സ്വയംകൃതമായ വിവർത്തനങ്ങളിൽ പിഴവുകളും അശുദ്ധികളും ഉണ്ടായേക്കാമെന്ന് ദയവായി ശ്രദ്ധിക്കவும். ആ രേഖയുടെ മാതൃഭാഷയിൽ ഉള്ള യഥാർത്ഥ പകർപ്പ് പ്രാമാണികമായ സ്രോതസ്സായി കണക്കാക്കപ്പെടണം. അത്യന്താപേക്ഷിത വിവരങ്ങൾക്ക് പ്രൊഫഷണൽ മനുഷ്യൻ ചെയ്യുന്ന വിവർത്തനം നിർദേശിക്കുന്നു. ഈ വിവർത്തനം ഉപയോഗിച്ചതിന് മൂലമുള്ള ഏതെങ്കിലും പ്രയാസങ്ങൾക്കും തെറ്റു വ്യാഖ്യാനങ്ങൾക്കും ഞങ്ങൾ ഉത്തരവാദിത്വം വഹിക്കുന്നില്ല.