Categories
JavaScript

JavaScript OOP – подготовка

Задача 1:

//container.js

define(function() {
    'use strict';
    var Container;

    Container = (function() {
        function Container() {
            this.container = [];
        }

        Container.prototype.add = function(section) {
            this.container.push(section);
        };

        Container.prototype.getData = function() {
            return this.container;
        };

        return Container;
    }());

    return Container;
});

//section.js

define(function() {
    'use strict';
    var Section;

    Section = (function() {
        function Section(title) {
            this.title = title;
            this.content = [];
        }

        Section.prototype.add = function(item) {
            this.content.push(item);
        };

        Section.prototype.getData = function() {
            return {
                title: this.title,
                content: this.content
            };
        };

        return Section;
    }());

    return Section;
});

//item.js

define(function() {
    'use strict';
    var Item;

    Item = (function() {
        function Item(content) {
            this.content = content;
        }

        Item.prototype.getData = function() {
            return {
                content: this.content
            };
        };

        return Item;
    })();

    return Item;
});
Categories
Visual C# Геодезия

Програма за изравнение на мрежи

Програма за изравнение на планови мрежи

Изравнение на планови мрежи по метода на най-малките квадрати.

Изравнение на засечки – ъглови, линейни, ъглово-линейни, геодезически мрежи, полигони.

Въвеждане на измервания и координати

adjustment-dpi-file-open
adjustment-kor-file-open

Изчисляване на ориентировъчните ъгли на дадените точки

adjustment-orientation-angles-calculation

Изчисляване на несъвпаденията в триъгълниците

adjustment-triangles-misclosures-calculation

Изчисляване на приблизителни координати на новите точки

adjustment-approximate-coordinates-calculation

Изравнение на мрежата (измервания и нови точки)

adjustment-adjusted-observations
adjustment-adjusted-points

Други

Categories
JavaScript Телерик

JavaScript UI и DOM – класиране

Изпит: JavaScript UI и DOM

Точки на изпит: 180 от 200

Резултат:

Взет с отличие!
Точки: 53.00
Място: 293

Categories
JavaScript

JavaScript UI и DOM – резултат

180 от 200 на изпита по JavaScript UI и DOM

Новото оценяване с peer review изглежда, че работи 🙂

Categories
JavaScript Геодезия

Генериране на геодезически измервания

Програма на JavaScript с отворен код за генериране на геодезически измервания във формат DPI за Tplan.

GitHub: https://github.com/Nanich87/Survey-Observations-Generator

Demo: http://htmlpreview.github.io/?https://github.com/Nanich87/Survey-Observations-Generator/blob/master/generator.html

Categories
JavaScript Телерик

Изпит – JavaScript UI и DOM – Handlebars.js

Решението на най-лесната задача от изпита по JavaScript UI и DOM.

Handlesbars.js

    <script id="authors-template" type='text/x-handlebars-template'>
        {{#authors}}
        <div class="box {{#if right}}right{{/if}}">
            <div class="inner">
                <p><img alt="{{name}}" src="{{image}}" width="100" height="133"></p>
                <div>
                    <h3>{{name}}</h3>

                    {{#each titles}}
                        <p>{{{this}}}</p>
                    {{/each}}

                    <ul>
                    {{#each urls}}
                        <li><a href="{{this}}" target="_blank">{{this}}</a></li>
                    {{/each}}
                    </ul>
                </div>
            </div>
        </div>
        {{/authors}}
    </script>
Categories
Геодезия

Еднозначно решение на линейна засечка

Решението на линейната засечка в геодезията може, най-просто, да се представи като пресичане на две окръжности с радиуси – измерените дължини от новата точка P към две дадени точки A и B, и начало – съответно в точки A и B.

Ако от точка P сме измерили посоки към дадените точки A и B, с помощта на тези посоки можем да определим конфигурацията на триъгълника ABP и съответно да приложим формулите за решаването на линейната засечка. Ако посоките са сортирани по възходящ ред, а разликата между по-голямата и по-малката посока е по малко от 200 гради, то конфигурацията на триъгълника е такава, че точките трябва да участват във формулите обърнато т. е. точка B трябва да участва във формулите като точка A и обратното – точка A трябва да участва като точка B. В противен случай точките не се обръщат. По този начин решението е еднозначно и не се налага търсене на трета дадена точка, към която да е измервана дължина.

Categories
Visual C# ГНСС

Софтуер за оптимизация на GPS мрежи

Цел:

Оптимизиране на GPS мрежа, която да отговаря на определени критерии за точност, надеждност и стойност.

Резултат:

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

Повече за програмата можете да намерите на Оптимизиране на GPS мрежи

Categories
JavaScript Телерик

JavaScript основи – класиране

Лошото класиране след изпита по JavaScript основи не се дължи само на липсата на проверени домашни работи, но а и на подготовката преди самия изпит! От решени 4 задачи предните два дни – толкова! 🙂

  • Взет с отличие!
  • Точки: 63.41
  • Място: 190
Categories
JavaScript Телерик

Комбинации на числа по търсена сума

Това е решението на първата задача от изпита по JavaScript основи, проведен на 19 май 2014 година в Телерик Академия.

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

Решението на задачата е само с цикли, без рекурсия. Използват се комбинации.

function findPermutations(n) {
    var tires = [3, 4, 10];
    var buffer = new Array(n + 1);
    for (var i = 0; i <= n; ++i)
        buffer[i] = new Array(tires.length + 1);
    for (var j = 1; j <= tires.length; ++j)
        buffer[0][j] = 1;
    for (i = 1; i <= n; ++i) {
        buffer[i][0] = 0;
        for (j = 1; j <= tires.length; ++j) {
            var value = buffer[i][j − 1];
            if (tires[j − 1] <= i)
                value += buffer[i − tires[j − 1]][j];
            buffer[i][j] = value;
        }
    }
    return buffer[n][tires.length];
}