Към съдържанието
bgmateriali.com

Протокол №1 по програмиране – три задачи на С с блокови алгоритми: квадратно уравнение, калкулатор и разклонена функция

Платен материал - 1 кредит

Сподели:

Зареждане на оценките…

Готов лабораторен протокол с три решени задачи. Всяка е дадена изцяло – условие, блокова схема и работеща програма, готова за въвеждане и изпробване.

Именно тази пълнота го отличава. Студентът не получава указания как да реши задачата, а вижда завършеното решение и може да го сравни със своето.

Материалът е първи протокол по програмиране и обхваща десет страници.

Първата задача е за пресмятане на корените на уравнение от втора степен. Тя е и най-обширната, защото условието изрично изисква да се разгледат всички възможни стойности на коефициентите.

Именно това я прави най-полезната от трите. Решението не се ограничава до обичайния случай, а обхожда последователно пет положения: когато два от коефициентите са нула, когато е нула само единият, когато е нула свободният член и накрая трите възможности според знака на дискриминантата.

Особено ценна е частта за отрицателна дискриминанта. Тук програмата не спира с грешка, а пресмята комплексни корени, като реалната и мнимата част се въвеждат като отделни променливи още преди разклонението.

Втората задача е за прост калкулатор с четирите основни действия. Решението стъпва на конструкция за избор по стойност на един знак, при която всеки случай е даден на отделен ред. Предвиден е и случаят, в който въведеният знак не съвпада с нито един от очакваните.

Именно тази задача е удобна за начинаещи – кратка е, но показва две неща наведнъж: работа със символна променлива и разклонение с повече от два изхода.

Третата задача е за пресмятане на функция, зададена с три различни израза в зависимост от това в кой участък попада входната стойност. Решението е изградено с последователни проверки, като при всеки случай се извежда и самият израз, по който е пресметнато.

Всяка от трите програми е с еднакво устройство: обявяване на променливите, въвеждане с подкана към потребителя, пресмятане и извеждане на резултата, накрая спиране преди затваряне на прозореца.

Приложена е и блокова схема към първата задача.

Преподавателят получава готов протокол, годен за мерило при проверка, а трите задачи вършат работа и поединично като упражнения в час.

Студентът получава три работещи решения, които може да въведе, да изпробва и да преработи според собственото си условие.

Заключено съдържание
Купете материала за пълен достъп
програмиране на С
лабораторен протокол
квадратно уравнение
дискриминанта
комплексни корени
аритметичен калкулатор
оператор switch
разклонение if else
блоков алгоритъм
упражнение

Свързани материали

Курсова задача по програмиране на С – броене на коментари и оператори в изходен код, с меню и четири режима на работа

Готова курсова задача, при която програмата анализира друга програма. Тя чете чужд изходен код и преброява колко коментара и колко оператора съдържа той. Именно тази необичайна постановка отличава материала. Обичайните упражнения работят с числа или с текст; тук предмет на обработка е самият език за програмиране. Материалът обхваща единадесет страници и съдържа условието и пълния изходен код. Условието изисква четири различни режима на работа, изброени изрично. Те се получават от съчетаването на два избора — откъде се чете и къде се извежда резултатът. Поставено е и допълнително изискване решението да бъде разделено на отделни функции. Именно това разделяне е основното достойнство на решението. Обявени са седем функции, всяка с точно определена задача, а главната програма съдържа само едно извикване. Средището е функцията за разпознаване. Тя получава един ред и проверява за наличие на десетки различни знаци и съчетания — от четирите основни аритметични действия до съставните присвоявания и логическите връзки. Особено внимателна е обработката на случаите, при които един и същи знак може да означава различни неща. Предвидено е разграничаването между деление и начало на коментар, между присвояване и сравнение, между събиране и увеличаване с единица. Отделна функция извежда двата резултата, а четири други изпълняват по един от режимите. Особено полезна е проверката на името на файла. Програмата не приема каквото и да е име, а изисква то да завършва с определено разширение, като задава въпроса отново, докато условието не бъде изпълнено. Менюто е оформено с рамка от знаци и изброява пет възможности, включително изход от програмата. Четенето от файл е организирано по редове, както изисква условието, а при въвеждане от клавиатурата е предвиден начин за указване на края. Кодът е обявен изцяло преди определенията на функциите, което позволява те да се извикват в произволен ред. Преподавателят получава готова курсова работа, годна за мерило при проверка, а отделните функции вършат работа и поединично като задачи в час. Студентът получава завършено решение с ясно разделение на подзадачи — образец за това как се строи по-голяма програма, а не отделно упражнение.

1 кредит
курсова задача по програмиране
език С
работа с файлове
+7
Разгледай

Готови програми на C++ с изходен код – комплект за упражнения и изпит: от линейни алгоритми през масиви и рекурсия до сортиране, двоични дървета и вероятностни алгоритми

Комплект, който не се чете от кора до кора, а се отваря при нужда. Всеки от тридесет и петте файла решава една конкретна задача и се използва в мига, в който тя е зададена. Материалите вървят по трудност и повтарят пътя на един семестър – от най-простото пресмятане до алгоритми, които се преподават чак в края на курса. Първото равнище е за начинаещи. Тук са задачите, при които програмата чете няколко числа и извежда резултат: работа по формула, избор между стойности, извеждане на отделна цифра, повторение чрез цикъл. Всяка от тях е кратка и е подходяща за първите часове, когато езикът още се усвоява. Второто равнище е работата с масиви и заема почти една трета от целия комплект. Едномерните са застъпени с четири решения, а двумерните – с осем, което е сериозна разлика. Причината е ясна: двумерните затрудняват най-много, а тук са покрити всички обичайни случаи, включително обхождане по диагонал и по периметър, преминаване между двата вида масиви и една задача с многосъставно условие. Третото равнище е рекурсията – единадесет решени задачи, най-голямата група в комплекта. В нея са всички класически примери, които се падат на изпит, а също и няколко проверки върху число, масив и редица. Достатъчно е ученикът да прегледа тази папка, за да види как една и съща идея работи в различни случаи. Четвъртото равнище са трите пълни упражнения. Първото събира алчните алгоритми, работата с низове и цяла поредица от методи за сортиране, всеки с име и с готов код. Второто е за двоичните дървета, графите и построяването на оптимално дърво. Третото е теоретично и разглежда вероятностните алгоритми по видове, с примери и с раздел за генераторите на случайни числа. Именно тези три файла отличават комплекта от обикновена сбирка със задачи: те дават теорията, върху която стъпват най-трудните теми. Оформлението е еднакво навсякъде: условие с едно изречение, после пълен изходен код, готов за компилиране. Езикът е един и същ през целия комплект, а стилът на писане не се променя от файл на файл – което улеснява четенето на чужд код. За преподавателя това е готов набор за упражнения през целия семестър. Файловете се раздават поединично или по теми, без нужда от подготовка, а трите упражнения вършат работа като материал за лекция. За студента ползата е в подредбата по трудност: подготовката може да върви от началото към края или да започне направо от темата, която предстои да се изпитва. Готовият код служи за образец при писане на собствено решение по курсова задача.

1 кредит

Пет подхода в проектирането на алгоритми – разделяй и владей, динамично програмиране, връщане назад, лакоми и вероятностни алгоритми

Материал, който събира пет различни начина за подхождане към една задача и показва защо всеки от тях се появява там, където предходният се проваля. Именно тази последователност държи изложението. Всеки нов подход не е представен сам за себе си, а като отговор на недостатък на предишния — така се вижда логиката, по която са възникнали. Темата обхваща основните подходи в проектирането на алгоритми и е събрана на седем страници. Първата част е за разделянето на подзадачи. Тя започва с трите стъпки на метода, а после веднага минава към конкретен пример — умножение на две многоразредни числа. Именно този пример е най-силната част. Показано е как обичайният начин изисква определен брой умножения, как едно преобразуване спестява едно от тях и как оттам сложността пада. Изводът е проверен и с числа — две четириразредни числа, при които се брои колко умножения излизат по всеки от двата начина. Следва пълното извеждане на общата зависимост. То минава през няколко последователни замествания и завършва с разглеждане на три случая според съотношението между два параметъра. При всеки случай е получена отделна оценка. Втората част въвежда следващия подход и обяснява кога предходният не върши работа — когато броят на подзадачите зависи от размера на входа. Третата част е за търсенето с връщане назад. Тя стъпва изцяло на една задача — пресичане на пустиня с ограничен запас от гориво. Задачата е решавана постъпателно, като на всяка стъпка се пита къде трябва да стои поредният склад, а отговорът за предходния се използва при следващия. Особено ценен е този начин на изложение. Читателят не получава готова формула, а върви заедно с разсъждението, докато решението се самоизгради. Четвъртата част е за постъпателните алгоритми, разгледани чрез две различни разграничения, а после и чрез задача за връщане на пари, представена в номерирани стъпки. Петата част е за вероятностните алгоритми. Разграничени са от обичайните, обяснено е кое ги прави такива, а после са изброени три техни разновидности. Приведена е и формула за получаване на случайни числа, следвана от примерна програма. Материалът съдържа три чертежа и множество изрази, а на места е даден и код. За преподавателя това е готова опора за няколко часа, при която всяка част върши работа и поединично. Студентът получава петте подхода на едно място, с по един разработен пример при всеки.

1 кредит

Физични величини и грешки при измерването – комплект с два протокола и ръкописно решение: мерни единици, видове грешки, тест на Грабс и метод на Стюдент

Комплект от три материала върху една и съща тема – теория и два готови протокола, при това по различни варианти. Купувачът получава не един образец, а възможност да съпостави два. Темата е измерването на физични величини и обработката на резултатите – упражнение, което върви в началото на всеки курс по физика и по електрически измервания и с което започват затрудненията. Първият файл е протокол по зададен вариант с попълнено титулно поле, цел на упражнението и кратко теоретично въведение. В него физичните величини са разделени на четири вида, а грешките – на пет, всяка с обяснение в едно изречение. Оттам следват три задачи с решения. Първата изисква мерна единица да бъде изразена чрез основните и после да се пресметне скорост по зададени данни. Втората работи с отчитане по скала и определяне на четири различни величини – приборна константа, приборна грешка и двата вида грешка. Третата е с таблица от десет измервания и с попълнени колони за отклонение и за квадрат на отклонението, а накрая – средноквадратична грешка и краен запис на резултата в двата формата. Вторият файл е протокол по друг вариант и по друга дисциплина. Той е значително по-сложен и включва таблица с използваните уреди, разгърнато описание на метода и цял алгоритъм за обработка на данните, изложен по стъпки. Именно този алгоритъм е най-ценното в комплекта. През него минават проверка за нормалност на разпределението, отстраняване на груби грешки по известен тест, а после и построяване на интервална оценка по метода на Стюдент, с указано откъде се отчитат табличните стойности. Такава последователност рядко се намира изложена така подредено. Файлът съдържа и две таблици с реални резултати – двадесет измервания, приведени във вариационен ред, и обобщаваща таблица с пресметнатите величини, а накрая и проверка по друг метод за сравнение. Третият материал са две снимки на ръкописно решение – същите задачи, решени на хартия, с изписани изчисления, начертана таблица и построена графика. Те показват как решението изглежда, когато се пише на ръка в час, а не се набира на компютър. За преподавателя това е готов набор от образци, годни за раздаване. Двата протокола могат да се съпоставят – единият показва простия път, другият пълната статистическа обработка. За студента ползата е ясна: два готови образеца за оформяне на собствен протокол и подреден алгоритъм за обработка на данни, приложим при всяко следващо лабораторно упражнение. Ръкописните страници показват и как се оформя решението на хартия.

1 кредит

Проектиране на техническо изделие – основни проблеми, видове методи, функционален метод. Алгоритъм в шест стъпки

Кратък конспектен въпрос, чиято сърцевина е един алгоритъм. Той е разписан в шест стъпки, но повечето от тях се разклоняват на подстъпки — и на места разклоненията стигат до четвърто равнище. Именно тази многостепенна подредба прави материала практичен. Той не разказва как се проектира, а изброява какво се прави и в какъв ред, така че може да се следва като указание. Темата е проектирането на техническо изделие и е събрана на две страници. Началото изброява четирите основни задачи, които се решават при проектиране, и веднага след това четирите съществуващи метода, всеки назован поименно. Оттам изложението се съсредоточава върху последния от тях, с уточнение за какво е предназначен — за изделие, което се проектира наново, а не се преработва. Средището е самият алгоритъм. Първата стъпка е за формулирането на задачата. Тя минава през три подстъпки, като най-полезна е последната — преформулиране на вече определената задача. Похват, който често се пропуска, а промяната на формулировката отваря нови възможности за решение. Втората стъпка определя основната функция и изходящия поток. Третата е най-разгърнатата и изброява шест различни начина за търсене на решение. Освен обичайните са посочени и обръщането към патентната литература, разглеждането на съществуващи сходни изделия и използването на различните формулировки от първата стъпка. Именно това изброяване е най-ценното в материала. То превръща търсенето на решение от вдъхновение в подредена работа. Петата стъпка е най-дълбоко разклонената. Тя изисква за всеки избран вариант да се извърши разлагане по функции, да се състави таблица с възможните решения, а после за всяка съставна част да се уточнят изискванията към материала, съседните части и връзките помежду им. Финалната стъпка е за работната документация. Изложението е конспектно, с многоравнищни изброявания и с препратки между отделните точки по номер. Използвани са и няколко съкращения, въведени в текста. За преподавателя това е готов кратък урок, а алгоритъмът върши работа и като раздавателен лист при курсова задача. Студентът получава темата в завършен вид. Обемът позволява преговор за минути преди изпит.

1 кредит

Синтез и анализ на алгоритми – сбити записки за преговор: целият конспект, събран на девет страници с деветдесет и три чертежа

Целият конспект по един предмет, сведен до девет страници. Онова, което в обичайните записки заема тридесет и седем, тук е събрано в една четвърт от обема — без да е изпуснато съществено. Именно това сгъстяване е смисълът на материала. Той не е предназначен за първо запознаване с предмета, а за последния преговор, когато времето не стига и е нужно всичко да се обхване наведнъж. Съкращаването е постигнато по два начина. Първият е шрифтът — основният текст е с размер шест пункта, а част от него дори с пет. Вторият са съкращенията: над двеста в целия текст, при това последователно прилагани. Съкратени са и заглавията на самите въпроси, така че всяко се побира на един ред. Обхватът следва конспекта. Началото е с основните понятия, свойствата на алгоритъма и класификациите му по няколко признака. Следват математическите основи, рекурсията с нейните типове и опасности, а после и същинският анализ — означенията, определенията и правилата. Отделни въпроси прилагат тези правила върху конкретни случаи: цикли, вложени цикли, рекурсия и многократна рекурсия. Средището са структурите. Дърветата заемат няколко последователни въпроса — понятия и класификации, свойства на двоичните, обхождане и рекурсивни алгоритми върху тях. Оттам следват сортировките, а после и групата за подходите: разделяй и владей, динамичното програмиране в два въпроса, постъпателните алгоритми с техните приложения и връщането назад, включително при игри. Финалната група е за графите — общи понятия, представяне, топологично сортиране, най-къс път, пропускателна способност и минимално обхващащо дърво. Особено ценни са деветдесет и трите чертежа. При такова сгъстяване те носят голяма част от обяснението — дървета, графи, схеми и таблици, вмъкнати направо между редовете. Материалът е готов за печат в този вид. Не се нуждае от преформатиране, а разположението е съобразено с разрязване на отделни ленти. Преподавателят може да го използва като бърз преглед какво влиза в изпита. Студентът получава целия материал в най-сбит възможен вид. Годен е за преговор в последните часове преди изпит, когато е нужно освежаване, а не четене.

1 кредит