Вхідні і вихідні дані

Людина створила комп'ютер і побачив, що це добре. Як саме побачив? Надав обчислювальному пристрою якісь дані. почекав, поки розумна залізяка їх обробить, і подивився на результат. Яким чином надав? Вручну, за допомогою маніпуляцій з допоміжними пристроями, або підключивши іншу програму.

Загалом, будемо розбиратися з поняттями «input data» і «output data». У сенсі, з вхідними та вихідними даними. Якщо плануєте зайнятися програмуванням, то прояснення суті цього явища вам нітрохи не завадить.

Суть простими словами

Вхідні дані приймаються локальними комп'ютерними програмами, різними онлайн-сервісами, операційними системами, по мережі, провідним і бездротовим способом. від обладнання, друг від друга. Загалом, як завгодно і від чого завгодно.

Тому призначені для користувача програми називають додатками. адже вони дійсно додаються до операційних систем. Людина взаємодіє із засобами введення, всякими пристроями, які, в свою чергу, взаємодіють з програмою, а програма - з ОС, інтегруючись з оной. Все один одного розуміє і працює в повній гармонії, якщо не глючить.

Вхідні дані - це саме те, що ми посилаємо в будь-яку обчислювальну систему. Те, що скармливаем алгоритмам для обробки. Своїми руками або програмним способом.

Ну а те, що виходить в результаті кропіткої роботи алгоритмів будь-якої програми, називається вихідними даними. Їх потрібно кудись виводити: записувати в файл, пересилати по мережі, показувати на екрані, віддавати іншій програмі. Якщо вони не потрібні, то їх відправляють в пристрій dev / null, в «чорну діру», в небуття, де все зникає безслідно і безповоротно.

Для обміну даними служать інтерфейси прикладного програмування API (в сенсі, Application Programming Interfaces). Такі можуть існувати у програм, програмних комплексів, онлайн-сервісів і цілих операційних систем (у ОС - неодмінно). У багатьох випадках API є публічними - розміщеними у відкритому доступі для всіх, хто бажає створювати додатки.

Якщо зустрінете Капітана Очевидність, то він підтвердить: програма прийме вхідні дані тільки в тому форматі, який здатна розуміти і обробляти.

Для взаємодії з тим чи іншим онлайн-сервісом, як ви вже здогадалися, слід орієнтуватися на його API. І писати свій додаток відповідним чином. Інакше вхідні дані, що відправляються вашим виробом, не будуть прийняті і оброблені. Відповідно, не буде ніяких вихідних.

Те ж саме стосується і операційних систем. API у них різні, тому софт, написаний для Windows, не запрацює в GNU / Linux. якщо не буде загорнутий в перетворювач системних викликів Wine.

Миша, клавіатура та інші засоби введення

Вхідні дані від маніпулятора миша або його замінника, сенсорної панелі (тачпада) несуть інформацію про зміну місцезнаходження покажчика і переміщення фокусу виділення, про прокрутку, коліщатком миші або двома пальцями по тачпаду, про кліки.

Почали прокручувати документ - в цей момент теж надходять дані про ваших діях. Тобто, про конкретні події. Ну а вже якщо кликнули на чому-небудь, то результат буде, так би мовити, ще більш помітним.

Той же самий принцип справедливий і для сенсорних екранів, в тому числі з підтримкою технології MultiTouch. Можна передати десяток подій, що відповідають різним маніпуляціям: один дотик, декілька дотиків відразу, прокрутка двома пальцями, пересування якого-небудь об'єкта, масштабування, ну і так далі. Результат обробки всіх цих подій буде негайно відображатися на екрані - ось ви і отримуєте щось на виході.

резюмуємо

Отже, вхідні дані - це інформація, передана усіляким програмним виробам від пристроїв і іншого софта. Інформація, виражена в певному форматі. Що б програма не зробила, результатом її роботи будуть вихідні дані. Які, в свою чергу, здатні виявитися вхідними ще для чогось.

Отже, для створення програми необхідно чітко розуміти способи введення даних і пункт призначення одержуваного в результаті. В першу чергу, як сказано раніше, слід орієнтуватися на API тієї ОС, того софта, сервісу або програмного комплексу, для яких призначений ваш продукт. Адже API актуальні навіть у випадку застосування крос-платформних засобів розробки.