Skip to content

Latest commit

 

History

History
71 lines (41 loc) · 3.82 KB

README.md

File metadata and controls

71 lines (41 loc) · 3.82 KB

Follow me

Youtube Telegram Instagram Vk Twitter Facebook Gitlab Stepik

About Repostitory

Study of the basics and principles of single- and multithreaded programming, creation of static and dynamic libraries, implementation of libraries operating in single-threaded and multithreaded mode

Languages

C

Task

Calculation of coefficients of a quadratic equation passing through three points on the plane

Algorithm:

The system of equations is solved by means of pairwise algebraic addition of equations. Such coefficients are selected that, with an algebraic sum, one of the coefficients of the resulting equation turns to zero. The quadratic coefficient, linear coefficient and free term are calculated sequentially.

About requirements:

HW-1 is devoted to acquiring the skills of safe working with memory in C using basic data structures and establishing a basic infrastructure for automatic code verification. As a result of HW-1 is expected:

  • competent splitting of the project into files

  • using a safe programming style - checking for possible errors, correctly terminating the program if they occur and working with memory correctly

  • maximum code coverage by unit tests

  • working CI, which includes automatic project assembly, static and dynamic code analysis, passing linters and formatters, running unit tests under valgrind and sanitizers, and receiving a report on code coverage with tests

  • all automatic checks must take place on the final version, which is undergoing a review

Design requirements:
  • The program must be implemented in C and work for arbitrary sets of input data (including erroneous ones) entered by the user from the keyboard

  • A competent decomposition into functions and files must be performed

In addition to the program itself , it is necessary:

– develop a set of unit tests that check the correct operation of implemented functions. Ensure maximum coverage of the source code with tests

– issue a task in the form of a Merge Request of a separate branch into the main branch of the project

– deploy CI, within which to automate the assembly of the project, passing unit tests under valgrind, generating a report on code coverage with tests, linter and static source code analyzer;

– after passing all the checks, you need to send the code for the review to your teacher

– the review is an iterative process. Before the deadline, you can go through several iterations, improving your score. No decisions are made after the deadline