Zlecenia widoczne poniżej skierowane są do wykonawców świadczących usługi. Zarejestrowani na Favore.pl wykonawcy otrzymują na swoje skrzynki e-mail zlecenia odpowiadające ich profilowi działalności. Wysyłka zleceń do wykonawców realizowana jest niezwłocznie po ich opublikowaniu w serwisie. Aby otrzymywać zlecenia ze swojej branży, zarejestruj się i dodaj usługę do odpowiedniej kategorii.
rozwiń
Napisanie prostego programu - Kamienna Góra nr 921134 (archiwum)
Zlecenie skierowane do usługodawców z całej Polski
Data dodania: 29 maj 2023, 21:45
TREŚĆ ZLECENIA
Witam!
Chciałbym się dowiedzieć ile kosztowało by napisanie dla mnie prostego programu którego zadaniem będzie weryfikowanie bloków zero-jedynkowych w plikach wprowadzonych do programu. Ale, żeby wszystko było jasne opiszę to na prostym przykładzie. Otóż pracuję na programie który tworzy bloki składające się z kolumn zero-jedynkowych. Każdy plik z takimi blokami ma zawsze jednakową ilość wierszy w każdym bloku w zależności od pliku.
Otóż zadaniem programu będzie weryfikacja bloków zero-jedynkowych znajdujących się w dwóch plikach, które program wczyta i będzie je porównywał. Pierwszy plik zawsze będzie Większy a drugi Mniejszy do weryfikacji. I tak Program z pierwszego pliku bierze pierwszy blok i porównuje go z pierwszym blokiem pliku drugiego i jeśli jest inny to bierze drugi blok z pliku drugiego i go też porównuje i tak po koleii do ostaniego bloku z pliku drugiego. Jeżeli podczas porównywania bloki z obydwóch plików są identyczne to tego bloku z pliku pierwszego (go) nie zapisuje czyli go odrzuca a jeżeli jest inny (czyli nie ma go w drugim - mniejszym -pliku) to go zapisuje w nowym pliku (pliku wyjściowym który program sam tworzy w folderze - miejscu docelowym wyznaczonym przeze mnie pod przyciskiem - folder wyjściowy) i tak po koleii.
Czyli znowu/następnie teraz bierze dugi blok z pliku pierwszego i go porównuje z pierwszym blokiem pliku drugiego i tak po koleii ze wszystkimi blokami pliku drugiego aż do końca, ale jeśli podczas porównywania odrazu napotka identyczny blok z blokiem z drugiego pliku to go odrazu odrzuca i bierze kolejny blok z pliku pierszego do porównywania go ze wszystkimi blokami pliku drugiego. Czyli reasumując program zapisuje tylko te wszystkie bloki z pliku pierwszego które nie występują w pliku drugim, a te które występują to ich nie zapisuje czyli je pomija.
PIERWSZY PLIK WIĘKSZY DRUGI PLIK MNIEJSZY
Aby było to bardziej zrozumiałe przedstawię to na poniższym przykładzie, otóż mamy dwa pliki A i B plik A zawiera 6 bloków cztero wierszowych a plik B zawiera tylko 3 bloki cztero wierszowe. Pragnę tutaj zaznaczyć że obydwa pliki wprowadzane do weryfikacji zawsze będą miały taką samą ilość wierszy w blokach (te akurat mają po 4 wiersze ale równie dobrze mogą mieć 2, 5, czy np. 50 wierszy lub więcej w bloku to tylko taki przykład).
Plik A Plik B
1 1 1 1 0 0 0 0
1 1 0 0 1 0 0 1
1 0 0 1 0 1 1 0
0 1 1 0
0 1 0 1
0 0 1 1
A oto rozwiązanie pliku wyjściowego:
1 0 1 0
0 1 0 1
0 0 1 1
Jak widać trzy bloki zostały zapisane a trzy pominięte gdyż były identyczne w obydwóch plikach.
I teraz bardzo ważna informacja te bloki w plikach (jak i wszystkie pozostałe wprowadzane do programu) odzielone są od siebie jednym pustym wierszem, ale po ostatnim bloku (na końcu) w pliku odstęp wynosi dwa puste wiersze. Natomiast po każdej cyfsze w bloku jest odstęp jednej spacji (na końcu wiersza). Można to zauważyć jeśli otworzy Pan przykładowy plik jaki Panu prześlę w WordPadzie i zaznaczy go Pan komędą CtrlA wówczas się podświetli zaznaczony obszar w którym będą widoczne odstępy pomiędzy blokami jak i na końcu - ostatni blok z dwoma wierszami na końcu oraz jedna spacja po każdej cyfsze w wierszu. To tak w drodze wyjaśnienia.
Program na którym pracuję był napisany w java a pliki do odczytu otwieram w Word Padzie.
Jednak tym razem chciałbym aby program był napisany w języku binarnym.
Tak więc program powinien mieć możliwość przekształcania plików z WordaPada w wersję binarną a po zakończeniu pracy móc je przekształcić z wersji binarnej z powrotem w WordaPada tak żebym mógł go otworzyć i sprawdzić wyniki jego pracy.
Program powinien zawierać 6 przycisków:
1 - Wprowadź plik do przekształcenia (czyli w tym miejscu wprowadzam pliki w wersji WordPada do przekształcenia w system binarny), 2 -Zaznacz folder wyjściowy (tam gdzie będzie wyjściowy przekształcony plik binarny z WordPada o takiej samej nazwie co wprowadzony plik tekstowy - WordPad.
W tym miejscu pragnę zaznaczyć że te dwie pierwsze funkcje powinny być na przemienne tzn. jeżeli Wprowadzam plik w WordPadzie to go zamienia na system binarny ale kiedy Wprowadzam plik binarny to go przekształca w plik WordPada w Zaznaczonym folderze wyjściowym.
3 - Wprowadź Większy plik do weryfikacji (już ten binarny przekształcony z WordPada), 4 - Wprowadź Mniejszy plik do weryfikacji (już ten binarny przekształcony z WordPada), 5 - Zaznacz folder wyjściowy (tam gdzie będzie utworzony nowy plik z tymi blokami które nie występują w mniejszym pliku do sprawdzenia/weryfikacji - w formie jednej kolumny) zapisany binarnie, 6 - Weryfikuj pliki.
Acha jeszcze jedna bardzo ważna rzecz program powinien posiadać licznik pokazujący aktualny stan weryfikowania/zapisywania bloków. I tak program bierze pierwszy blok go sprawdza czy w drugim pliku jest taki sam identyczny czy nie a jeśli go nie ma to go zapisuje a licznik pokazuje ile już takich niepowtarzalnych bloków zapisał w folderze wyjściowym) i tak po koleji aż do ostatniego bloku z wprowadzonego Większego pliku wejściowego.
Chciałbym też mieć możliwość sprawdzenia programu przed jego zakupem. Mam nadzieję że wszystko w miarę prosto wyjaśniłem. Proszę o odpowiedź ile to może kosztować i jaki może być czas realizacji.