APPSC Paper I · Basics of computers · Computer basics: number systems, codes, logic, algorithms and spreadsheets
అల్గారిథం, ఫ్లోచార్ట్: గుర్తులు, లక్షణాలు, ఉదాహరణలు
అల్గారిథం (algorithm) అంటే ఒక సమస్యను పరిష్కరించడానికి పరిమిత సంఖ్యలో, అంచెలంచెలుగా, సందేహానికి తావులేని పద్ధతి; ఫ్లోచార్ట్ (flowchart) అవే సోపానాలను బాణాలతో కలిపిన ప్రామాణిక గుర్తులతో చిత్రంగా చూపుతుంది.
- APPSC Paper I
- 8 నిమిషాల చదువు
- ఉచితం
- ఇంగ్లిష్లో చదవండి (English)
ముఖ్య వాస్తవాలు
- అల్గారిథం: ఇన్పుట్ (input)ను కావలసిన అవుట్పుట్ (output)గా మార్చే, స్పష్టంగా నిర్వచించిన సోపానాల పరిమిత క్రమం. ఈ పదం 9వ శతాబ్దపు పర్షియన్ గణిత శాస్త్రవేత్త అల్-ఖ్వారిజ్మీ (al-Khwarizmi) పేరు నుంచి వచ్చింది.
- ఐదు లక్షణాలు (క్నూత్ (Knuth)):
- పరిమితత్వం (Finiteness): పరిమిత సంఖ్యలో సోపానాల తర్వాత అది ఆగిపోవాలి.
- నిర్దిష్టత (Definiteness): ప్రతి సోపానం ఖచ్చితంగా, సందేహానికి తావు లేకుండా ఉండాలి.
- ఇన్పుట్: సున్నా లేదా అంతకంటే ఎక్కువ ఇన్పుట్లు.
- అవుట్పుట్: కనీసం ఒక అవుట్పుట్.
- ప్రభావశీలత (Effectiveness): ప్రతి సోపానం ఖచ్చితంగా, పరిమిత సమయంలో (కాగితం, కలంతో) చేయగలిగేంత సరళంగా ఉండాలి.
- అల్గారిథం రాసే విధానాలు: సాధారణ భాషలో సోపానాలు, సూడోకోడ్ (pseudocode) (ప్రోగ్రామ్ను పోలిన ఆంగ్లం, కఠినమైన వ్యాకరణ నియమాలు ఉండవు), ఫ్లోచార్ట్ (రేఖాచిత్రం).
- ఫ్లోచార్ట్ గుర్తులు:
| గుర్తు | ఆకారం | ఉపయోగం |
|---|---|---|
| టెర్మినల్ (Terminal) | అండాకారం (oval) / గుండ్రటి మూలల దీర్ఘచతురస్రం | ప్రారంభం, ముగింపు |
| ఇన్పుట్/అవుట్పుట్ | సమాంతర చతుర్భుజం (parallelogram) | చదవడం, ముద్రించడం |
| ప్రక్రియ (Process) | దీర్ఘచతురస్రం | లెక్కింపు, విలువ కేటాయింపు (assignment) |
| నిర్ణయం (Decision) | వజ్రాకారం (diamond / rhombus) | అవును/కాదు లేదా సత్యం/అసత్యం పరీక్ష |
| ప్రవాహ రేఖ (Flow line) | బాణం | ప్రవాహ దిశ |
| కనెక్టర్ (Connector) | చిన్న వృత్తం | ఒకే పేజీలోని భాగాలను కలుపుతుంది |
| ఆఫ్-పేజ్ కనెక్టర్ (Off-page connector) | పంచభుజి (pentagon, హోమ్-ప్లేట్ ఆకారం), పాఠ్యపుస్తక సంప్రదాయం | మరో పేజీలో కొనసాగుతుంది |
| ముందే నిర్వచించిన ప్రక్రియ (Predefined process) | రెండు వైపులా రెండు నిలువు గీతలున్న దీర్ఘచతురస్రం | ఉప-ప్రోగ్రామ్ (sub-routine) పిలుపు |
- నిర్ణయ పెట్టె (decision box): ఒక ప్రవేశం, రెండు (లేదా అంతకంటే ఎక్కువ) నిష్క్రమణలు. మిగిలిన పెట్టెలకు సాధారణంగా ఒకే నిష్క్రమణ ఉంటుంది.
- మూడు నియంత్రణ నిర్మాణాలు (control structures) (బోమ్–జకోపిని (Böhm–Jacopini), 1966): క్రమం (sequence), ఎంపిక (selection) (if / if-else / case), పునరావృతం (iteration) (లూప్లు (loops): while, do-while/repeat-until, for). ఏ అల్గారిథాన్నైనా ఈ మూడింటితో నిర్మించవచ్చు.
- ఫ్లోచార్ట్ సంప్రదాయాలు: ప్రవాహం పై నుంచి కిందికి, ఎడమ నుంచి కుడికి; సరిగ్గా ఒక ప్రారంభం, కనీసం ఒక ముగింపు; ప్రవాహ రేఖలు ఒకదానినొకటి దాటకూడదు (కనెక్టర్లు వాడాలి).
ఉదాహరణ 1. "A, B చదువు" కోసం ఏ ఫ్లోచార్ట్ గుర్తు వాడతారు? సాధన. ఇన్పుట్, అవుట్పుట్లకు సమాంతర చతుర్భుజం వాడతారు. సమాధానం: సమాంతర చతుర్భుజం
ఉదాహరణ 2. ఒక అల్గారిథం ఎలాంటి ఇన్పుట్ తీసుకోకుండా "Hello" అని ఒకసారి ముద్రిస్తుంది. అది ఇంకా ఏ లక్షణాన్ని పాటిస్తుంది? సాధన. ఇన్పుట్ సున్నా కావచ్చు; అవుట్పుట్ కనీసం ఒకటి ఉండాలి. సమాధానం: ఇది సరైన అల్గారిథమే (సున్నా ఇన్పుట్లు, ఒక అవుట్పుట్)
వివరణ
1. అల్గారిథాన్ని సోపానాలుగా రాయడం.
ఉదాహరణ 3. రెండు సంఖ్యలలో పెద్దదాన్ని కనుక్కునే అల్గారిథం.
- ప్రారంభం.
- A, B చదువు.
- A > B అయితే A ను ముద్రించు; లేకపోతే B ను ముద్రించు.
- ముగింపు.
ఫ్లోచార్ట్: అండాకారం ప్రారంభం → సమాంతర చతుర్భుజం A, B చదువు → వజ్రాకారం A > B? → అవును: సమాంతర చతుర్భుజం A ను ముద్రించు; కాదు: సమాంతర చతుర్భుజం B ను ముద్రించు → రెండు బాణాలు కలుస్తాయి → అండాకారం ముగింపు.
2. మూడు సంఖ్యలలో పెద్దది (ఒకదానిలో ఒకటి ఉన్న ఎంపిక, nested selection).
- ప్రారంభం. A, B, C చదువు.
- A > B అయితే: A > C అయితే A ను ముద్రించు, లేకపోతే C ను ముద్రించు.
- లేకపోతే: B > C అయితే B ను ముద్రించు, లేకపోతే C ను ముద్రించు.
- ముగింపు.
ఈ ఫ్లోచార్ట్లో ఏ మార్గంలో వెళ్లినా సరిగ్గా రెండు నిర్ణయ పెట్టెలు వస్తాయి.
3. లూప్లు: మొత్తం, ఫ్యాక్టోరియల్.
ఉదాహరణ 4. N! (ఫ్యాక్టోరియల్) కోసం అల్గారిథం.
- ప్రారంభం. N చదువు.
- F ← 1, I ← 1.
- I ≤ N గా ఉన్నంత వరకు: F ← F × I; I ← I + 1.
- F ను ముద్రించు. ముగింపు.
N = 5 కి డ్రై రన్: F వరుసగా 1, 2, 6, 24, 120 విలువలు తీసుకుంటుంది. సమాధానం: 120
ఫ్లోచార్ట్: I ≤ N? అనే పరీక్ష వజ్రాకారంలో ఉంటుంది; "అవును" శాఖ F ← F × I, I ← I + 1 అనే ప్రక్రియ పెట్టెకు వెళ్తుంది, అక్కడి నుంచి ఒక బాణం తిరిగి వజ్రాకారానికి వస్తుంది; "కాదు" శాఖ F ను ముద్రించు కు వెళ్తుంది.
4. లూప్ ఎన్నిసార్లు నడుస్తుందో లెక్కించడం.
ఉదాహరణ 5. "for I = 1 to 10 step 3" లూప్ లోపలి భాగం ఎన్నిసార్లు నడుస్తుంది? సాధన. I = 1, 4, 7, 10; తర్వాతి విలువ 13, ఇది 10 కంటే ఎక్కువ. సమాధానం: 4 సార్లు
5. ముందు పరీక్షించే, తర్వాత పరీక్షించే లూప్లు.
| లూప్ | పరీక్ష | కనీసం ఎన్నిసార్లు నడుస్తుంది |
|---|---|---|
| while / for | లోపలి భాగానికి ముందు (ప్రవేశ నియంత్రిత, entry-controlled) | 0 |
| do-while / repeat-until | లోపలి భాగం తర్వాత (నిష్క్రమణ నియంత్రిత, exit-controlled) | 1 |
6. రెండు విలువలను పరస్పరం మార్చడం (swapping).
ఉదాహరణ 6. A = 5, B = 3. సోపానాలు: A ← A + B; B ← A − B; A ← A − B. చివరి విలువలు? సాధన. A = 8; B = 8 − 3 = 5; A = 8 − 5 = 3. సమాధానం: A = 3, B = 5 (మూడో చరరాశి లేకుండానే మారాయి). సాధారణ పద్ధతిలో ఒక తాత్కాలిక చరరాశి (variable) వాడతారు: T ← A; A ← B; B ← T.
7. డ్రై రన్ (ట్రేస్ పట్టిక). నమూనా విలువలతో అల్గారిథాన్ని చేతితో అమలు చేస్తూ, ప్రతి సోపానం తర్వాత ప్రతి చరరాశి విలువను రాయడాన్ని డ్రై రన్ (dry run) లేదా డెస్క్ చెక్ (desk check) అంటారు. కోడ్ రాయకముందే తార్కిక దోషాలను ఇది పట్టుకుంటుంది.
లోతైన విశ్లేషణ
1. గ.సా.భా. (HCF / GCD) కోసం యూక్లిడ్ అల్గారిథం.
- A, B చదువు.
- B ≠ 0 గా ఉన్నంత వరకు: R ← A mod B; A ← B; B ← R.
- A ను ముద్రించు.
ఉదాహరణ 7. A = 48, B = 18 కి ట్రేస్.
| విడత | A | B | R = A mod B |
|---|---|---|---|
| 1 | 48 | 18 | 12 |
| 2 | 18 | 12 | 6 |
| 3 | 12 | 6 | 0 |
3వ విడత తర్వాత A = 6, B = 0. సమాధానం: గ.సా.భా. 6, లూప్ 3 విడతల తర్వాత
2. అంకెల మొత్తం.
ఉదాహరణ 8. S ← 0; N > 0 గా ఉన్నంత వరకు: S ← S + (N mod 10); N ← N div 10. N = 4729 కి అవుట్పుట్? సాధన. వరుసగా తీసుకున్న అంకెలు 9, 2, 7, 4. S = 9 + 2 + 7 + 4. సమాధానం: 22
3. శోధన, క్రమబద్ధీకరణ (searching and sorting) (డిగ్రీ స్థాయిలో సాధారణంగా ఇచ్చే ఉదాహరణలు).
| పద్ధతి | క్రమబద్ధీకరించిన డేటా అవసరమా? | చెత్త సందర్భంలో (worst case) పోలికలు |
|---|---|---|
| రేఖీయ శోధన (Linear search) | అవసరం లేదు | n |
| బైనరీ శోధన (Binary search) | అవసరం | ⌊log₂ n⌋ + 1 (సుమారు log₂ n) |
| బబుల్ సార్ట్ (Bubble sort) | — | n(n − 1)/2, n − 1 విడతల్లో |
ఉదాహరణ 9. 1,000 అంశాలున్న క్రమబద్ధీకరించిన జాబితాలో బైనరీ శోధనకు గరిష్ఠంగా ఎన్ని పోలికలు? (a) 9 (b) 10 (c) 100 (d) 500 సాధన. ప్రతి పోలిక జాబితాను సగం చేస్తుంది; చెత్త సందర్భం = ⌊log₂ 1000⌋ + 1 = 9 + 1 (ఎందుకంటే 2⁹ = 512 ≤ 1,000 < 1,024 = 2¹⁰). సమాధానం: (b) 10
ఉదాహరణ 10. 6 సంఖ్యలపై బబుల్ సార్ట్ (ప్రాథమిక రూపం): ఎన్ని విడతలు, ఎన్ని పోలికలు? సాధన. విడతలు = 6 − 1 = 5. పోలికలు = 6 × 5 ÷ 2. సమాధానం: 5 విడతలు, 15 పోలికలు
4. ఫ్లోచార్ట్ల ప్రయోజనాలు, పరిమితులు.
- ప్రయోజనాలు: తర్కాన్ని స్పష్టంగా చూపుతాయి, సులభంగా వివరించవచ్చు, దోషాల సవరణ (debugging), డాక్యుమెంటేషన్లో ఉపయోగపడతాయి.
- పరిమితులు: పెద్ద ప్రోగ్రామ్లకు శ్రమతో కూడినవి, మార్చడం కష్టం (మళ్లీ గీయాలి), వివరాలను చూపడానికి ప్రామాణిక పద్ధతి లేదు; సూడోకోడ్ను మార్చడం సులభం.
5. అల్గారిథం సామర్థ్యం (efficiency). సరైన రెండు అల్గారిథాలు వాడే సమయం (సోపానాల సంఖ్య), స్థలం (మెమరీ (memory)) వేర్వేరుగా ఉండవచ్చు. బిగ్-O సంకేతం (Big-O notation) వృద్ధి రేటును చూపుతుంది: రేఖీయ శోధన O(n), బైనరీ శోధన O(log n), బబుల్ సార్ట్ O(n²).
తరచూ చేసే పొరపాట్లు
- ✗ "అల్గారిథానికి కనీసం ఒక ఇన్పుట్ ఉండాలి." ✓ సున్నా లేదా అంతకంటే ఎక్కువ ఇన్పుట్లు; కనీసం ఒక అవుట్పుట్.
- ✗ "నిర్ణయాలకు దీర్ఘచతురస్రం వాడతారు." ✓ వజ్రాకారం; దీర్ఘచతురస్రం ప్రక్రియ కోసం.
- ✗ "ఇన్పుట్/అవుట్పుట్కు అలల అడుగు భాగం ఉన్న దీర్ఘచతురస్రం వాడతారు." ✓ సమాంతర చతుర్భుజం; అలల అడుగు భాగం ఉన్నది డాక్యుమెంట్ గుర్తు.
- ✗ "ప్రారంభం/ముగింపు వృత్తం." ✓ అండాకారం (టెర్మినల్); చిన్న వృత్తం కనెక్టర్.
- ✗ "బైనరీ శోధన ఏ జాబితాపైనైనా పనిచేస్తుంది." ✓ జాబితా క్రమబద్ధీకరించి ఉండాలి.
- ✗ "while లూప్ ఎప్పుడూ కనీసం ఒకసారి నడుస్తుంది." ✓ అది సున్నా సార్లు నడవవచ్చు; do-while/repeat-until కనీసం ఒకసారి నడుస్తుంది.
- ✗ "పరిమితత్వం అంటే ఇన్పుట్ పరిమితం అని." ✓ అల్గారిథం పరిమిత సంఖ్యలో సోపానాల తర్వాత ఆగిపోతుంది అని అర్థం.
త్వరిత పునశ్చరణ
- అల్గారిథం: పరిమితం, నిర్దిష్టం, ప్రభావశీలం; 0+ ఇన్పుట్లు, 1+ అవుట్పుట్లు.
- అండాకారం = ప్రారంభం/ముగింపు; సమాంతర చతుర్భుజం = ఇన్పుట్/అవుట్పుట్; దీర్ఘచతురస్రం = ప్రక్రియ.
- వజ్రాకారం = నిర్ణయం (రెండు నిష్క్రమణలు); వృత్తం = అదే పేజీ కనెక్టర్; పంచభుజి = ఆఫ్-పేజ్ కనెక్టర్.
- ప్రవాహం పై నుంచి కిందికి, ఎడమ నుంచి కుడికి; బాణాలు దిశను చూపుతాయి.
- మూడు నిర్మాణాలు: క్రమం, ఎంపిక, పునరావృతం.
- while: ముందు పరీక్ష (0+ సార్లు); do-while: చివర పరీక్ష (1+ సార్లు).
- డ్రై రన్ = ట్రేస్ పట్టికతో చేతితో అనుసరించడం.
- బైనరీ శోధనకు క్రమబద్ధీకరించిన డేటా కావాలి; సుమారు log₂ n పోలికలు.
- బబుల్ సార్ట్: n − 1 విడతలు, n(n − 1)/2 పోలికలు.
- యూక్లిడ్: గ.సా.భా.(48, 18) = 6.
ఇంకా లోతుగా: మెయిన్స్ రాత (APPSC Paper I సాధారణంగా అడిగే స్థాయి కంటే ఎక్కువ)
మెయిన్స్ రాత
- చట్రం: అల్గారిథం అంటే తర్కం; ప్రోగ్రామ్ అంటే అదే తర్కాన్ని కంప్యూటర్ అమలు చేయగల భాషలో రాసినది.
- సమస్య పరిష్కారంలో సోపానాలు: సమస్యను అర్థం చేసుకోవడం → ఇన్పుట్, అవుట్పుట్లను గుర్తించడం → అల్గారిథం రూపొందించడం → ఫ్లోచార్ట్ గీయడం లేదా సూడోకోడ్ రాయడం → డ్రై రన్ → కోడ్ రాయడం → పరీక్షించడం → డాక్యుమెంట్ చేయడం.
- గణాంక కార్యాలయంతో అనుసంధానం: సర్వే షెడ్యూళ్లను పట్టికీకరించడం, సగటులు లెక్కించడం, డేటాలో దోషాలు తనిఖీ చేయడం వంటి నిత్య పనులను మొదట అల్గారిథాలుగా రూపొందించి, ఆ తర్వాత స్ప్రెడ్షీట్లు లేదా ప్రోగ్రామ్లలో అమలు చేస్తారు.
ఈ అంశాన్ని ప్రాక్టీస్ చేయండి. Medha AI యాప్లో సమాధానాల వివరణతో ప్రశ్నలు.
అన్ని తెలుగు నోట్స్ · All Computer basics: number systems, codes, logic, algorithms and spreadsheets notes · APPSC Paper I notes · ఉచితంగా మొదలుపెట్టండి
Medha AI writes its own notes and checks them against the sources listed. Medha AI is an independent preparation service. It is not affiliated with, endorsed by or connected to APPSC, TGPSC (formerly TSPSC), MPSC, UPSC or any other commission or government body.