Мазмуну:

Эң Жогорку Фактор Калькулятору: 6 кадам
Эң Жогорку Фактор Калькулятору: 6 кадам

Video: Эң Жогорку Фактор Калькулятору: 6 кадам

Video: Эң Жогорку Фактор Калькулятору: 6 кадам
Video: ИПОТЕКА: Как правильно взять ипотеку? Основные ошибки и правила при выборе ипотеки 2024, Июль
Anonim
Эң Жогорку Фактордук Калькулятор
Эң Жогорку Фактордук Калькулятор

менин көптөгөн досторум жана балдарымдын тарбиячыларында ар кандай сандардын эң жогорку жалпы факторун (HCF) табуу көйгөйлөрү бар. Бул көбүнчө менин өлкөмдө билим берүү чындыгында стандарттык эмес. балдар, адатта, туура үйрөнүүгө жана катуу эрежелерге кайрылышат.

Бул мааниде мен HCFти эсептөөчү программа түздүм.

бул иш жүзүндө кол менен жасалышы мүмкүн эмес жана HCFти алуунун андан да оңой жана жөнөкөй жолдору бар, жеке менимче бул эң примитивдүү, демек техниканын эң негизгиси деп ойлойм. Мен адамдар HCFтин табиятын түшүнө алышат деп үмүттөнөм.

Мен бүгүн жазам деп жаткан программалоо тили консол режиминде Microsoft studio 2010

себеби ал анча чоң эмес жана ал колдонуучуга ыңгайлуу болгондуктан, үйрөнчүк үчүн эң сонун.

1 -кадам: 1 -кадам: өзгөрмөлөрдү жарыялоо

Кандайдыр бир программада биз манипуляциялоо үчүн маалыматтын каалаган түрүн сактагыбыз келгенде, өзгөрмөлөрдү жарыялашыбыз керек. Ал эми менин программамда көптөгөн түрлөр бар, мен жергиликтүү өзгөрмөлөрдү гана колдонгом.

ал интегралдык өзгөрмөлөрдү форматта сактайт

Dim x As Integer

бул "x" аталышындагы өзгөрмөнү бүтүн маалымат түрү катары белгилейт

ошондуктан программада биз бул өзгөрмөлөрдү жарыялашыбыз керек

Dim FirstNum, secondNum, TEMP, HCF бүтүн санда

Мен негизинен өзгөрмөлөр үчүн аттары боюнча сактадым: firstNum, secondNum, TEMP, HCF

2 -кадам: Өзгөрмөлөрдү сактоо

Биз өзгөрмөнү жарыялагандан кийин, ага маани беришибиз керек, антпесе пайдасыз.

Бул үчүн биз "=" операторун колдонобуз

бирок аны колдонуучудан окуу үчүн, аны киргизүүнүн жолу керек. биз "Console. ReadLine" функциясын колдонобуз

бул визуалдык базанын консолу режиминин функциясы, ал консолго жазылган сапты окуйт

программа минтип барат;

firstNum = Console. ReadLine

биз кийинки өзгөрмө менен да ушундай кылабыз

secondNum = Console. ReadLine

Бул программа менен иштөө үчүн эки санды сактайт

3 -кадам: салыштыруу

Андан кийин биз эки өзгөрмөнү салыштырып, кайсынысы кичирээк экенин текшеребиз. биз дагы чоң санын колдоно алмакпыз, бирок программага ашыкча жүктөө пайдасыз болмок. бирок эгерде эки өзгөрмө тең болсо, биз дагы колдоно алабыз

салыштыруу үчүн биз if операторлорун колдонобуз

Эгерде шарты анда (эгер шарт чын болсо)

Башка шарт болсо

(эгер шарт туура болсо, аракет)

If If

Ошентип, иш жүзүндө мындай көрүнөт

Эгерде firstNum <secondNum Анда TEMP = firstNum ElseIf firstNum> secondNum Анда TEMP = secondNum

ElseIf firstNum = secondNum Андан кийин

TEMP = secondNum

If If

4 -кадам: HCF табуу

теория боюнча HCF - бул эң жогорку бүтүн сан, анын жардамы менен берилген сандардын калганын калтырбай жекече бөлүүгө болот. же компьютердин маанисинде нөлдүн калдыгы

Менин программамда мен сандарды бөлүүнү жана калууну калтырбастан, бардык сандарды бөлүүчү эң жогорку бүтүн санды алганга чейин көбөйтөм.

бул үчүн мен "кайталануучу циклди" колдоном

синтаксиси барат:

I = (каалаган сан) үчүн (каалаган сан) кадамга (көбөйүүчү сан)

(функция)

Кийинки

анткени мен 0го бөлө албайм, мен 1ден баштап эң кичине санга чейин башташым керек. бул HCF эч кандай сандан чоң болушу мүмкүн эмес. эсиңизде болсо, биз эң аз санды "TEMP" өзгөрмөсүнө сактадык.

сандарды салыштыруу үчүн биз if операторун колдонобуз.

Бул тапшырманы аткаруу үчүн биз модуль оператору деп аталган атайын операторду колдонобуз

бул бөлүнүүдөн калганын кайтарат

анын синтаксиси болуп саналат

(сан) мод (бөлүүчү)

башка программалоо тилдеринде, б.а. C ++, мод%пайыз белгиси менен алмаштырылышы мүмкүн

ошондуктан биздин программа үчүн жазабыз

I = 1 үчүн TEMP 1 -кадамга

Эгерде ((firstNum Mod i = 0) Жана (SecondNum Mod i = 0)) Анда

HCF = i

Кийинки болсо, аяктоо

Биз сандарды "HCF" өзгөрмөсүндө сактайбыз, чоңураак өзгөрмө табылган сайын HCF кайра жазылат

эгерде эгерде эки сандын фактору болсо, анда ал HCF өзгөрмөсүндө сакталат

5 -кадам: Чыгууну көрсөтүү

Консоль экранында чыгууну көрсөтүү үчүн биз "console.write ()" же "console.writeline ()" буйругун колдонобуз.

маанилүү бармак эрежеси - жазылган сөздөр апострофторго ("") жазылышы керек. Өзгөрмөлөрдү апострофторго кошуунун кажети жок

биз "&" операторун колдонуп, сызыктарга кошулуу үчүн & символунун эки жагына боштук коюуну унутпашыбыз керек

Ошентип программа өтөт

Console. WriteLine ("Эң жогорку жалпы фактор" & HCF)

Тилекке каршы, компьютер айтпаса, колдонуучуну күтпөйт. Ошентип, биз колдонуучуга натыйжаны окууга уруксат берүү үчүн программанын башка линиясын кошобуз.

Console.

Console. ReadKey ()

6 -кадам: Жеңилдик үчүн

бул жардам берүү үчүн комментарийлер менен программалоонун менин версиясы.

Module Module1 Sub Main ()

'каалаган программанын ичинде биз өзгөрмөлөрдү жарыялашыбыз керек

Dim firstNum, secondNum, TEMP, HCF Integer катары "Бүтүн сан катары" бул өзгөрмөлөр үчүн маалыматтардын мүнөзү бүтүн сандар экенин билдирет

'адегенде биз колдонуучуга инструкциялар жөнүндө маалымат беребиз

Console. WriteLine ("эң жогорку жалпы фактор үчүн эки санды киргизиңиз") 'анда биз колдонуучуну Console. WriteLine ("биринчи номерди киргизүү") санын киргизүүнү сунуштайбыз' биз цифраны firstNum firstNum = Console. ReadLine өзгөрмөсүнө сактайбыз ' анда биз колдонуучуну Console. WriteLine ("экинчи номерди киргизиңиз") деген экинчи номерди киргизүүгө үндөйбүз, 'ошону менен биз муну дагы сактайбыз, бирок башка өзгөрмөлүү' биринчисинин үстүнөн жазылышын каалабайбыз secondNum = Console. ReadLine

"Биз кайсынысы чоңураак экенин салыштырып, аны" TEMP "убактылуу сактагычында сактайбыз

Эгерде firstNum secondNum анда TEMP = secondNum

астындагы пунктта биз биринчи жана экинчи сандар бирдей болгонуна карабай TEMPке маани сактадык

"Бул бизге эмне болсо дагы" эң жогорку "санга муктаж болгондуктан.

ElseIf firstNum = secondNum Андан кийин

TEMP = secondNum End If

Бул жерде программалоо чындап башталат

"мод функциясы бүтүн санды санга бөлөт жана калганын кайтарат" бул пайдалуу, ушундай жол менен биз кайсы сандар калдыктары нөл экенин текшере алабыз

Бул жерде биз жумушту аткаруу үчүн "ИТЕРАЦИЯЛЫК ИЛМ" колдонобуз

'Биз' i 'өзгөрмөсүн түзөбүз жана аны ар бир циклден кийин 1ге көбөйтөбүз

I = 1 үчүн TEMP 1 -кадамга "1 -кадам" ар бир циклден кийин 1 көбөйүү бар экенин көрсөтөт

Көрүп турганыңыздай, биз дагы AND функциясын колдондук

Бул бизге нөлдөрдү берген эки өзгөрмөнү тең бөлгөн сандарга муктаж болгондуктан

Дагы бир маанилүү эскертүү, биз 0 менен баштай албайбыз

'себеби, 0го бөлүнгөн нерсе чексиздикке алып келиши мүмкүн, эгер ((firstNum Mod i = 0) Жана (SecondNum Mod i = 0)) Анда

"Биз сандарды" HCF "өзгөрмөсүндө сактайбыз

'чоң өзгөрмө табылган сайын HCF кайра жазылат HCF = i End If Next

Console. Clear () 'бул буйрук консолдун экранында жазылган нерсени тазалайт

Console. WriteLine ("эң жогорку жалпы фактор =" & HCF) 'бул буйрук консолдун экранында билдирүүнү көрсөтөт

астындагы буйруктар консолун экранынан чыгууга мүмкүнчүлүк берет

Console. WriteLine () Console.

'P. S

"Программалоо учурунда, эгер сиз синтаксисти бузбасаңыз", сиз боштуктарды, өтмөктөрдү же бош саптарды коюп, программанын анча начар эместигин көрсөтөсүз.

Sub Sub

Аяктоо модулу

Сунушталууда: