Artykuł dotyczy wpływu beznawiasowej notacji polskiej na rozwój współczesnej informatyki i innych, pokrewnych dyscyplin naukowych korzystających z technik informatycznych, m.in. matematyki, elektroniki, automatyki czy robotyki. W niniejszym artykule podano przykłady współczesnych zastosowań ONP w informatyce, m.in. w językach Forth, Postscript i parserach języków wysokiego poziomu. Rozważania zilustrowano przykładami konwersji wyrażeń z klasycznej notacji do notacji przyrostkowej oraz ich przetwarzania przez komputer z użyciem modelu zarządzania pamięcią zorganizowaną w stos, dzięki czemu uzyskuje się skrócenie czasu wykonania algorytmu i mniejszą zajętość pamięci. Celem tej publikacji było także upamiętnienie osiągnięć polskich naukowców w zakresie współczesnych technik komputerowych, a w szczególności Jana Łukasiewicza – twórcy znanej na całym świecie Odwrotnej Notacji Polskiej. Stworzona obecnie w Polsce sieć badawcza obejmująca wiodące krajowe instytuty naukowo-badawcze przyjęła patronat innego badacza: Ignacego Łukasiewicza - znanego głównie z wynalezienia lampy naftowej i rozwoju polskiego przemysłu naftowego. Warto pamiętać, że są to różni naukowcy zasłużeni w różnych obszarach badawczych.
EN
This paper is focused on the impact of polish notation on the development of modern computer science and other related scientific disciplines using IT techniques, including mathematics, electronics, automation and robotics. Reverse Polish Notation was developed and disseminated by Australian scientist Charles Hamblin as a “reversal” of the prefix notation, developed around 1920 by the Polish mathematician Jan Łukasiewicz. According to knowledge of the authors of this article, the discovery and its fundamental importance for the development of digital technology is not common in the consciousness, even of people with academic education. Operation of all devices containing processors, e.g. calculators, computers, network and telecommunications devices, cell phones, household appliances, digital terrestrial and satellite television and other devices would be very difficult without applying this notation. Its significance was appreciated only after many decades, in the era of electronic computers, equipped with a programmable processor and high-level languages. The advantage of this notation is the lack of parentheses and the need for a preliminary analysis of the entire expression to determine the order of operations. It makes easier to prepare the result code for the computer. Notation can be used to write any of the expressions composed of symbols representing input variables and operators, i.e. in sentence logic, set theory, algebra, two-state logic used by digital systems and being the basis of computers, high-level language compilers and interpreters. In this article, examples of contemporary RPN applications are given, such as: Forth language, Postscript, high-level language parsers. The considerations are illustrated by examples of the conversion of an expression from classical notation to postfix notation and its processing by a computer using a stack memory management model to reduce time of algorithm execution and memory occupation. The purpose of this publication was also to commemorate the achievements of Polish technical thought in the field of contemporary computer techniques and closely associated with the name of Jan Łukasiewicz – the creator of the world-famous Reverse Polish Notation. This is also due to the fact that the currently created research network including leading national scientific and research institutes in Poland, which is a showcase of Polish technical thought, has assumed the patronage of Ignacy Łukasiewicz – known mainly for the invention of the kerosene lamp and the development of the Polish oil industry. They are two different people distinguished in other areas, which are worth remembering.
2
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
Widzenie barwy przez człowieka ma charakter subiektywny, a z drugiej strony, w technice, a w szczególności w grafice komputerowej, niezbędny jest obiektywny zapis koloru. W artykule opisano wybrane modele tego zapisu: RBG, CMY, CMYK, HSV, HSL. Te dwa ostatnie, zwane są modelami intuicyjnymi, ponieważ używają pojęć: odcień, nasycenie i wartość lub jasność, chociaż w różny sposób. W każdym z tych modeli możemy użyć określonych wersji dokładności zapisu, uzyskując odpowiednią głębię koloru. Często przybliżamy barwę kolorami wybranej palety, np. dla zapisu w formacie GIF. Oczywiście, idee koloru są ostatecznie realizowane w konkretnych programach i językach programowania. W artykule pokazano, jakie są możliwości wyboru koloru w programach: GIMP, Pain.Net i XnView oraz w językach: LATEX i HTML z kaskadowymi arkuszami stylu. Na zakończenie, przedstawiono wzory pozwalające na przeliczanie wartości składowych kolorów między modelami.
3
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
Continuous Evaluation and feedback not only helps in improving learning of a student, but also acts as a constant motivator to put in more efforts. But then, feedback and assessment are very difficult and time consuming in practice. Thus, automating the entire system of assessment, evaluation and feedback will be highly beneficial. But, building such tools for all courses is yet not feasible. However, e-assessment tools for programming courses in Computer Science discipline can be developed. In this paper, we review various grading techniques used by these tools to assess a student's programming assignment. Further, this paper discusses various types and features of tools according to which an appropriate tool should be selected. And, in the end, we will be highlighting the extent to which students and instructors are actually benefited by these tools.
4
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
W artykule opisano komputerowe narzędzia używane podczas programowania sterowników przemysłowych, projektowania układów automatyki i konfiguracji składających się na nie urządzeń. Przedstawiono podstawowe atrybuty środowisk programistycznych oraz daleko poza nie wybiegające funkcjonalności oprogramowania do kompleksowej obsługi złożonych systemów sterowania. Na przykładach konkretnych aplikacji ukazano różnice pomiędzy rozwiązaniami dopasowanymi do obszaru zastosowań danego sprzętu.
Celem artykułu jest wskazanie możliwości zastosowania intensywnie ostatnio rozwijanych narzędzi informatycznych, zasadniczo przeznaczonych do tworzenia stron internetowych, do obliczeń numerycznych. Głównym obiektem zainteresowania autorów będzie język JavaScript, który w połączeniu z możliwościami języków HTML5 oraz CSS da programistom zestaw wydajnych narzędzi, które wykorzystać będzie można zarówno na etapie obliczeń numerycznych jak i późniejszej prezentacji wyników w formie gotowej strony internetowej.
EN
The aim of the paper is to indicate the possibility of the application of recently intensively developed tools (generally intended to create websites) to numerical calculations. The main object of the authors' interest is the language JavaScript which combined with the capabilities of HTML5 and CSS languages can give developers a set of powerful tools that may be taken both at the stage of numerical calculations and subsequent presentation of results in the form of ready-made website.
The aim of the paper is to indicate the opportunity of applying intense recently developed tools, which are generally designed to create websites, for numerical calculations. The main object of interest of authors will be the JavaScript programming language, which, combined with the capabilities of HTML5 and CSS languages gives developers a set of powerful tools that may be taken both at the stage of numerical calculations and subsequent presentation of results in the form of ready-made website.
PL
Celem artykułu będzie wskazanie możliwości zastosowania intensywnie rozwijanych narzędzi informatycznych, zasadniczo przeznaczonych do tworzenia stron internetowych, do obliczeń numerycznych. Głównym obiektem zainteresowania autorów będzie język JavaScript, który w połączeniu z możliwościami języków HTML5 oraz CSS da programistom zestaw wydajnych narzędzi, które wykorzystać będzie można zarówno na etapie obliczeń numerycznych jak i późniejszej prezentacji wyników w formie gotowej strony internetowej.
Wirusy komputerowe mają obecnie wpływ na działanie wielu systemów, tak samo jak wirusy biologiczne na organizm człowieka. Można znaleźć podobieństwa w działaniu virusów komputerowych do biologicznym w wielu aspektach ich działania. Rozwój systemów operacyjnych, funkcji jakie dostarczają, spowodował również ewolucję virusów. Zarażają obecnie różne elementy systemu i są przenoszone za pomocą innych mechanizmów. Zastosowane mechanizmy w systemach operacyjnych jak i rozwój języków programowania spowodował, że pisanie virusów, czy uciążliwych programów stało się prostsze, a stosowanie mechanizmów zabezpieczeń w systemie jest obecnie konieczne. W niniejszym artykule autorzy na bazie dwóch przykładowych kodów virusów przedstawiają ich ewolucję oraz analizują wpływ ewolucji systemów operacyjnych na ich sposoby infekcji.
EN
Computer viruses are currently affecting the operation of multiple systems, as well as biological viruses on the human body. There are many similarities in the operation of a biological and computer viruses in many aspects of their operation. The development of operating systems, functions that they provide, has also led to the evolution of computer viruses. They infect currently various elements of the system and are moved by other mechanisms. Mechanisms used in operating systems and the development of programming languages meant that writing computer viruses or trojans programs has become easier, and the use of security mechanisms in the system is now necessary. In this article the authors on the basis of two examples of viruses source codes show their evolution and analyze the impact of the evolution of operating systems on their modes of infection.
Jeśli zadanie stworzenia oprogramowania dla kontrolera PLC dotyczy nowego, oryginalnego układu sterowania, to programista lub automatyk stają przed problemem doboru adekwatnego języka programowania tego kontrolera. W wielu przypadkach język i środowisko programowania narzucane są przez producenta rodziny kontrolerów. Tam gdzie decyzja należy do inżyniera, na nim spoczywa odpowiedzialność za dobór najefektywniejszej metody programowania. W tekście zamieszczono charakterystykę wszystkich typowych metod programowania kontrolerów PLC. Opis zilustrowano przykładem praktycznym, w którym sterowanie urządzenia zrealizowano opisywanymi wcześniej metodami.
EN
If the task of creating software for the PLC controller relates to a new, original control system, programmers have the problem of selecting of an adequate controller programming language. In many cases, the language and programming environment are enforced by the manufacturer of the controller family. If the decision is up to the engineer, he is responsible for the selection of the most effective methods of programming. There is a characteristic of all common programming methods in the paper. The description is illustrated by a practical example in which the device control system is implemented using methods previously described.
Praca przedstawia podstawowe wiadomości na temat języka C++/CLI (Common Language Infrastructure), w szczególności różnice pomiędzy nim a językiem C++. Pomimo skrótowej formy zawiera informacje wystarczające do zbudowania pełnowartościowych aplikacji w technologii .NET.
EN
This paper presents basic features of a C++/ CLI (Common Language Infrastructure), with a particular focus on differences between this language and a C++ language. Despite the abbreviated form, the paper contains enough information to allow one to create valuable applications using .NET technology.
10
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
Artykuł przedstawia doświadczenia autora wynikające z wykorzystywania różnych technologii informatycznych w komputerowej symulacji obiektów elektromechanicznych. W opracowaniu opisane zostaną stosowane narzędzia służące nie tylko do obliczeń symulacyjnych przebiegów dynamicznych takich układów, ale także dające możliwość prezentacji wyników w postaci automatycznie generowanych stron internetowych zawierających informacje w postaci bazy danych bądź animacji.
EN
The article presents the author's experience of using different technologies in computer simulation of electromechanical objects. The paper will describe tools used not only to the calculations of dynamic simulation runs of such systems, but also for the possibility of presenting the results in the form of automatically generated web pages that contain information in a database or animation.
W artykule zaprezentowano doświadczenia autorów w modelowaniu układów elektromechanicznych. Do przeprowadzania tych prac zostały opracowane autorskie aplikacje. Dzięki odpowiedniemu projektowi w oparciu o wykorzystanie techniki programowania obiektowego udało się w łatwy sposób przystosowywać ją do różnych wariantów obliczeń. Na jej bazie zbudowano specjalizowane narzędzia do obliczeń symulacyjnych napędów grupowych i do estymacji parametrów modelu matematycznego badanego obiektu. Pokazano też opis dedykowanego systemu do estymacji parametrów wraz z jego sieciowym rozszerzeniem.
EN
The paper presents the authors' experiences in modeling electromechanical systems. To carry out this work the original applications were developed. The project of application, based on object-oriented programming techniques, has allowed in an easy way adapting it to different variants of calculations and building on its basis the extended, specialized tools for numerical simulations of the group of drives and estimation of the object mathematical model parameters. The authors suggest that the choice of simulation software should satisfy the basic criterion - it should comply with standards. Not all tools used currently meet this criterion. With this approach it will be easy to prevent a situation where the new version of the tool will not work with source files developed in the previous versions. The second recommendation is separation of the code responsible for calculating from the code responsible for user's interaction, so that you can modify the application interface (as shown in Fig. 1). The paper presents also description of a dedicated system for parameter estimation and its network extension. The network version of this application can perform calculations in a flexible way by making use of any number of available computers.
W artykule opisano koncepcję oraz realizację wtyczki do środowiska Eclipse przeznaczoną do edycji kodów źródłowych w języku opisu sprzętu VHDL. Przedstawiono autorskie rozwiązanie systemu formatującego dla kodów źródłowych VHDL rozszerzające możliwości programu VEditor bazującego na wolnej licencji. Zaprezentowano wynik działania systemu formatującego na wybranych przykładach kodach źródłowych VHDL.
EN
The paper describes an idea and realization of a smart plug-in to the Eclipse software environment. The plug-in is predicted for editing of the VHDL source code. It extend considerably the capabilities of the VEditor program, which bases on the open license. There are presented the results of the formatting procedures performed on chosen examples of the VHDL source codes.
In the paper we present the current theoretical base of the J2FADD tool, which translates a Java program to a network of finite automata with discrite data (FADDs).The reason for building the tool is that to model check a concurrent program writ-ten in Java by means of the tools like Uppaal or VerICS (the module VerICS ), an automata model of the Java program must be build first. This is because these tools verify only systems modeled as networks of automata, in particular, systems modeled as networks of FADDs. We also make an attempt to evaluate the J2FADD tool by comparison of it with the two well known Java verification tools: Bandera and Java PathFinder.
14
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
W artykule przedstawiono zastosowanie nowoczesnych narzędzi informatycznych w badaniach symulacyjnych układów elektromechanicznych. Badania symulacyjne jako bezpieczne i tańsze niż badania eksperymentalne pozwalają przewidzieć, już w fazie projektowania, działanie i zachowanie się złożonych układów elektromechanicznych w trudnych warunkach eksploatacji. W artykule przedstawiono sposób budowy aplikacji oparty na obiektowym sposobie programowania, bazujący na wieloletnim doświadczeniu autorów w stosowaniu różnorodnych narzędzi informatycznych w obliczeniach symulacyjnych oraz wybrane rezultaty obliczeń symulacyjnych.
EN
This article presents the use of modern tools in simulation of electromechanical systems. The simulation studies as safe and cheaper than experimental testing, permit provide already in the design phase the operation and behavior of complex electromechanical systems in difficult operating conditions. This article, based on the authors many years of experience in the use of various tools in the calculation of simulation, demonstrates how to build applications based on object-oriented programming method and presents some example results of these calculations
15
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
W pracy przedstawiono prototypowy kompilator języka IL (Instruction List) normy IEC 61131-3. Kompilator jest składnikiem pakietu CPDev opracowywanym w Politechnice Rzeszowskiej. Omówiono jego budowę i metody interpretacji kodu IL do postaci drzew wyrażeń używanych przez kompilator języka ST zawarty w CPDev. Wynikiem kompilacji jest binarny kod pośredni interpretowany przez dedykowane maszyny wirtualne pracujące na sterownikach opartych o różne procesory (AVR, ARM, MCS51) oraz komputerach PC.
EN
The paper presents a prototype compiler of IL (Instruction List) language from IEC 61131-3 standard. The compiler is a component of CPDev engineering environment for programming of industrial controllers. The CPDev has been developed at Technical University of Rzeszów. IL code conversion into tree expressions to be processed by the CPDev's ST compiler is described. Compilation result is an indirect binary code interpreted by dedicated virtual machines implemented in controllers with different processors (AVR, ARM, MCS-51) and PC computers.
Język VORL (Visual Object-flow Représentation Language ) jest nowym podejściem do wizualnego, obiektowo zorientowanego modelowania implementacji algorytmów. Język ten graficznie reprezentuje tekstowy kod źródłowy. Używana notacja jest podobna do tej stosowanej w języku UML w celu umożliwienia połączenia tego aspektu modelowania z zagadnieniami już modelowanymi za pomocą języka UML. Język VORL bazuje na niektórych ideach zawartych w składni i semantyce wizualnego języka programowania Prograph oraz diagramach CSD. Diagramy VORL mogą być komputerowo tłumaczone na tekstowy kod źródłowy wybranego języka obiektowego. Artykuł opisuje architekturę systemu bazującego na języku VORL oraz przedstawia możliwość rozszerzenia funkcjonalności zintegrowanych środowisk programistycznych w oparciu o architekturę VORL na przykładzie Microsoft Visual Studio 2005. Został także wprowadzony wizualny odpowiednik pseudo-kodu, język pseudo-VORL. Tezy artykułu ilustruje przykład zastosowania VORL do obiektowej implementacji prostego modelu sztucznych sieci neuronowych.
EN
Visual Object-flow Representation Language VORL is a novel approach to visual, object-oriented modelling of algorithms implementation. The language visually represents text-based source code. Notation derived from UML standard is utilized in order to possibly merge this approach with issues already^ targeted by UML modelling. The language also uses some insights taken from the syntax of the data-flow visual programming language Prograph and Control Structure Diagrams. Diagrams allow machine trans-' lation to the source code of the underlying object-oriented text-based language. The article describes VORL based system architecture and presents the possibility to extend Integrated Development Environments functionality by VORL architecture discussed on the example of Microsoft Visual Studio 2005. Visual equivalent of pseudo-code notation has been introduced. We conclude by providing use case example of VORL application for implementing simple artificial neural network model.
Programowanie sterowników wbudowanych polega na wykorzystaniu standardowych języków i narzędzi programowania. Zadanie sterowania sekwencyjnego realizowanego przez sterownik może być w różny sposób zaimplementowane w wybranym środowisku programowania. W zależności od tego uzyskuje się programy różniące się między sobą szybkością pracy i zapotrzebowaniem na pamięć operacyjną. Parametry te stają się istotne przy doborze optymalnej konstrukcji systemu mikroprocesorowego sterownika. Praca zawiera porównanie efektywności różnych wariantów oprogramowania tego samego zadania sterowania.
EN
Programming of embedded microcontrollers is based on usage of the standard programming languages and tools: from machine-level symbolic instructions to high-level languages - mainly C. One of the typical control task, which is usually implemented in microcontroller software, is logic sequential control. Programme implementation of that task depends on: used programming language and its possible syntax. Sometimes we can also use dedicated aiding system, which generates software implementation of the control task from its formal description to insert it into controller software. Usage of different programming languages and techniques causes that control software can work slower or faster and needs less or more operating memory. The time and memory complexity of the control software decide about the controller hardware and are important, when this hardware should be optimal. The article contains the comparison of time and memory efficiency of the exemplary control task according to usage of different programming languages, techniques and even programming tools. Conclusions pointed in the paper can be useful for microcontroller designer and programmer.
18
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
This article contains description of a new programming method of PLC controllers, presently a fundamental tool in discrete process auto-mation. A PLC user, applying standard languages for programming of sequence processes, is forced to rely on intuitive methods as well as his own experience. For this reason, the authors attempted to work out a method, which would allow for simple execution of the program-ming process with no limits regarding number of steps and input and output signals. The result of these studies is a method named Graftech by its authors. The method consists in determination of a functional program in LD language, basing on process algorithm written with SFC network. The rules concerning determination of the functional program are also described. Application of Graftech method is illustrated with an example of automatic ejector of casting molds.
19
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
Celem artykułu jest udzielenie odpowiedzi na pytanie: czy wybór języka programowania podczas realizacji zadania hard real time ma jakiekolwiek znaczenie, a jeśli tak, to który z tych języków należy wybrać. Jako miarę spełnienia wymagań czasu rzeczywistego przyjęto najdłuższy czas oraz rozrzut czasów wykonania określonej funkcji testowej.
20
Dostęp do pełnego tekstu na zewnętrznej witrynie WWW
CoDeSys to jeden z najbardziej powszechnych na świecie systemów programowania sterowników programowalnych, zgodny z normą PN-EN 61131-3:2004(U) Sterowniki programowalne. Języki programowania. Zaawansowane funkcje, prosta obsługa oraz bogaty wachlarz zastosowań w urządzeniach automatyki różnych dostawców powodują, iż grono pracujących z tym narzędziem automatyków szybko się poszerza.
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.