Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Розділ 1. Технологія створення програм

1.1 Етапи рішення прикладних задач з використанням комп'ютерів

Перелік документів, на підставі яких створюється програма:

- технічні вимоги;

- технічне завдання на розробку.

Дані по кілометражу та витрати
Загальний проїзд
Видано літрів в день
Довідник

На рис.1 зображена загальна схема алгоритму задачи

Рис.1 Схема алгоритму задачи

Это просто пример форматирования текста отчета.

Для того, что бы раскрыть этот пункт см файл НП-I_ЗВIТ_Рекомендації_ukr.doc

1.2 Кроки роботи з програмою

Visual C ++ 2005 включає в себе безліч повністю інтегрованих інструментів, призначених для полегшення написання програм на C ++.
Список фундаментальних складових Visual C ++ 2005, що поставляються як частини IDE, включає в себе редактор, компілятор, компонувальник і бібліотеки. Це - основні інструменти, необхідні для написання і виконання програм C ++.
Редактор являє собою інтерактивну середу, в якій ви можете створювати і редагувати вихідний код C ++. Поряд зі звичайними засобами на зразок вирізання та вставки фрагментів, з якими ви напевно знайомі, редактор також забезпечує колірне виділення різних елементів мови. Редактор автоматично розпізнає ключові конструкції мови C ++ і забарвлює їх відповідно до їх значенням. Це не тільки допомагає зробити код більш читабельним, але також ясно вказує на помилки при введенні деяких слів.

Текстовий препроцесор:

Оригінальний текст частково обробляється, відбувається заміна коментарів порожніми рядками, підключення модулів і т. д. і т. п.

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

наприклад,.EXE файл.

 

Компонування також може носити такі назви: зв'язування, збірка або лінковка.

Це останній етап процесу отримання виконуваного файлу, що складається з зв'язування воєдино всіх об'єктних файлів проекту.

Після компоновки у вас утворюється .EXE файл вашої програми.

1.3 Короткий огляд мов програмування

За останні 20 років з'явилися сотні мов програмування різних видів, які змінювали один одного на певних етапах розвитку технологій. У міру того, як розвивався Інтернет, почалася популяризація мов програмування, які орієнтуються на створення сайтів і веб-додатків. Популярність тієї чи іншої мови важко спрогнозувати навіть на найближчі 5-10 років. Десятки мов, які вважалися провідними в кінці 1990х, зараз повністю зникли або ж кардинально змінилися, аж до назви. Сьогодні ж є близько 10 мов, які міцно займають свої позиції в програмерському середовищі і без них неможливо уявити подальший розвиток комп'ютерів та Інтернету: Java, PHP, C / C ++, Python, Delphi, Visual Basic, Objective-C.

Отформатируйте все следующи абзацы, как предыдущие (стиль «_Тест» в верхей правой части окна).

 

Мова: Бейсік (BASIC)

Рік: 1964
Кольорова графіка, між іншим! Універсальний код символічних інструкцій для початківців (Beginners All Purpose Symbolic Instruction Code) створений студентами (під керівництвом професорів) Дартмутського коледжу спеціально для спрощення вивчення мови для тих, хто не володіє особливими математичними та іншими технічними знаннями. Модифікована версія, написана Біллом Гейтсом і Полом Алленом, стала першим програмним продуктом компанії Microsoft. Вони продали його MITS для комп'ютера Альтаїр.

Integer BASIC використовувався на комп'ютері Apple II в 1977 році.

 

Приклад программи:

100 BEGIN101 GOTO 102102 PRINT "КАК НАСЧЕТ ПАРТИИ В ШАХМАТЫ?"103 END

 

 

Мова: Сі (C)

Рік: 1969
Логотип операційної системи ЛінуксСі був розроблений в період з 1969 по 1973 Деннісом Рітчі в Bell Labs для використання в операційній системі Unix. Він був названий «С», бо його особливості були взяті з більш раннього мови програмування під назвою «Бі».

Сі стала досить потужною мовою програмування, тому більша частина ядра Unix була переписана з його допомогою. Unix став однією з перших операційних систем, ядро ​​яких було реалізовано на мові програмування, відмінним від того, за допомогою якого писалася інша частина ОС.

На сьогоднішній день на C засноване ядро ​​Linux [4].

Приклад програми:

#include<iostream>using namespace std;int main(){ cout<< "С++ полезен, когда ваши познания в программировании намного выше средних" << endl; return 0;}

 

Мова: C ++

Рік: 1983
Б'ярн Страуструп модифікував мову C, отримавши тим самим C ++ і створив те, що багато хто вважає найкращою мовою програмування. C ++ в топі найкращих мов програмування з 1986 року і досяг місця в Залі слави в 2003 році.

Використовується в Microsoft Office, Adobe PDF Reader і в Firefox

Приклад програми:

#include<iostream>using namespace std;int main(){ cout<< "С++ полезен, когда ваши познания в программировании намного выше средних" << endl; return 0;}

 

Мова: Фортран (Fortran)

Рік: 1957
Логотип Національної метеорологічної служби СШАФортран (від FORmulaTRANslation [1]) - найстаріша мова програмування, що використовується на даний момент. Мову розробив Джон Бекус для виконання складних наукових, математичних та статистичних обчислень.

Мова все ще використовується в аерокосмічній і автомобільній промисловості, на державних підприємствах і в науково-дослідних інститутах.

Також використовується Національною метеорологічною службою США.

Приклад програми:

*C Hello World на Fortran 77C (строки должны начинаться отступами в 6 символов)*PROGRAM REELECTWRITE(UNIT=*, FMT=*)'I like Ike'END

 

Новый раздел – с новой страницы!

При переходе на новую страницу лучше использовать разрыв страницы:

Розділ 2. Робота в інтегрованому середовищі програмування (IDE)
MS Visual Studio C++

2.1 Склад і характеристика проектів IDE MS Visual Studio C++

Інтегроване середовище розробки, IDE (англ. Integrated development environment) - система програмних засобів, використовувана програмістами для розробки програмного забезпечення (ПО).

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

Пустых строк не должно быть. Удалите пустые строки.

2.2 Створення програмного проекту

Форматирование текста, который идет далее.

Поставьте курсор на абзац и щелкните на стиль с именем «_Тест» в верхей правой части окна.

Если не получится, то сделайте видимыми непечатные символы: нажмите на

 

 

Если Вы увидите, что строка заканчивается символом «разрыв строки», а в этом нет необходимости, то необходимо заменить его на символ нового абзаца. его. Если символов «Разрыв строки» много, то лучше сделать это с помощью групповой замены (см. рисунок далее):

1. Найти:

 

2. Заменить:

 

 

Структурний підхід до програмування, як уже згадувалося, охоплює всі стадії розробки проекту: специфікацію, проектування, власне програмування і тестування. Завдання, які при цьому ставляться, - зменшення числа можливих помилок за рахунок застосування тільки допустимих структур, можливо більш раннє виявлення помилок і спрощення процесу їх виправлення. Ключовими ідеями структурного підходу є спадна розробка, структурне програмування і спадний тестування. Наведені нижче етапи створення програм розраховані на досить великі проекти, що розробляються колективом програмістів. Для програми невеликого обсягу кожен етап спрощується, але зміст і послідовність етапів не змінюються.

I етап. Створення будь-якої програми починається з постановки задачі. Спочатку завдання ставиться в термінах предметної області, і необхідно перевести її в терміни, більш близькі до програмування. Оскільки програміст рідко досконально розбирається в предметній області, а замовник - в програмуванні (простий приклад: потрібно написати бухгалтерську програму), постановка завдання може стати вельми непростим ітераційним процесом. Крім того, при постановці завдання замовник найчастіше не може чітко і повно сформулювати свої вимоги і критерії. В якості ілюстрації наведу карикатуру «Гойдалки» (рис. 3.1), яка з'явилася 1973 році в інформаційному бюлетені обчислювального центру Лондонського університету і відразу стала широко відомої, оскільки дуже точно відображала процес створення програми.
Постановка завдання завершується створенням технічного завдання, а потім зовнішньої специфікації програми, що включає в себе:

- опис вихідних даних і результатів (типи, формати, точність, спосіб передачі, обмеження);
-опис завдання, реалізованої програмою;

- спосіб звернення до програми;

- опис можливих аварійних ситуацій і помилок користувача.

Таким чином, програма розглядається як чорний ящик, для якого визначена функція.

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

Как было спроектировано Как было реализовано ведущим системным специалистом программистами

III етап. Проектування (визначення загальної структури та взаємодії модулей). На цьому етапі застосовується технологія спадного проектування програми, основна ідея якого теоретично проста: розбиття задачі на підзадачі меншої складності, які можна розглядати окремо. При цьому використовується метод покрокової деталізації. Можна уявити собі цей процес так, що спочатку програма пишеться на мові деякої гіпотетичної машини, яка здатна розуміти самі узагальнені дії, а потім кожне з них описується на більш низькому рівні абстракції, і так далі. Дуже важливою на цьому етапі є специфікація інтерфейсів, тобто способів взаємодії підзадач. Для кожної підзадачі складається зовнішня специфікація, аналогічна наведеної вище. На цьому ж етапі вирішуються питання розбиття програми на модулі, головний критерій - мінімізація їх взаємодії. Одна задача може реалізовуватися за допомогою декількох модулів і навпаки, в одному модулі може вирішуватися кілька завдань. На більш низький рівень проектування переходять тільки після закінчення проектування верхнього рівня. Алгоритми записують в узагальненій формі - наприклад, словесної, у вигляді узагальнених блок-схем або іншими способами. Якщо виникають труднощі із записом алгоритму, він, швидше за все, погано продуманий.
На етапі проектування слід враховувати можливість майбутніх модифікацій програми і прагнути проектувати програму таким чином, щоб вносити зміни було можливо простіше. Оскільки невідомо, які зміни доведеться виконати, це побажання нагадує створення «загальної теорії всього»; на практиці треба обмежитися розумними компромісами. Програміст, виходячи зі свого досвіду і здорового глузду, вирішує, які саме властивості програми може знадобитися змінити або вдосконалити у майбутньому.

Процес проектування є ітераційним, оскільки в програмах реального розміру неможливо продумати всі деталі з першого разу.

IV етап. Структурне програмування. Процес програмування також організуєтся за принципом «згори донизу»: спочатку кодуються модулі самого верхнього рівня і складаються тестові приклади для їх налагодження, при цьому на місці ще не написаних модулів наступного рівня ставляться «заглушки» - тимчасові програми. «Заглушки» в простому випадку просто видають повідомлення про те, що їм передано управління, а потім повертають його в викликає модуль. В інших випадках «заглушка» може видавати значення, задані заздалегідь або обчислені за спрощеним алгоритмом.

Таким чином, спочатку створюється логічний скелет програми, який потім обростає плоттю коду. Здавалося б, більш логічно застосовувати до процесу програмування висхідну технологію - написати й налагодити спочатку модулі нижнього рівня, а потім об'єднувати їх в більш великі фрагменти, але цей підхід має ряд недоліків. По-перше, в процесі кодування верхнього рівня можуть бути розкриті ті або інші труднощі проектування більш низьких рівнів програми (просто тому що при написанні програми її логіка продумується більш ретельно, ніж при проектуванні). Наш подібна помилка виявляється в останню чергу, потрібні додаткові витрати на переробку вже готових модулів нижнього рівня.
По-друге, для налагодження кожного модуля, а потім більших фрагментів програми потрібно кожного разу складати свої тестові приклади, і програміст часто змушений імітувати те оточення, в якому повинен працювати модуль. Низхідна ж технологія програмування забезпечує природний порядок створення тестів - можливість низхідній налагодження, яка розглянута далі.
Рекомендації по запису алгоритмів на С ++ (більшість з цих рекомендацій справедливі і для інших мов високого рівня) наведені в попередньому розділі. Нагадаю, що головні цілі - читаність і простота структури програми Б цілому і будь-який з складових її функцій. При програмуванні слід відокремлювати інтерфейс (функції, модуля, класу) від його реалізації і обмежувати доступ до непотрібної інформації. Недбале навіть у дрібницях програмування може призвести до величезних витрат па пошук помилок па етапі налагодження.
Етапи проектування та програмування суміщені у часі: в ідеалі спочатку проектується і кодується верхній рівень, потім - наступний, і так далі. Така стратегія застосовується тому, що в процесі кодування може виникнути необхідність внести зміни, що відбиваються на модулях низького рівня.
V етап. Спадний тестування. Цей етап записаний останнім, але це не значить, що тестування не повинно проводитися на попередніх етапах. Проектування та програмування обов'язково повинні супроводжуватися написанням набору тестів - перевірочних вихідних даних і відповідних їм наборів еталонних реакцій.
Необхідно розрізняти процеси тестування та налагодження програми. Тестування - процес, за допомогою якого перевіряється правильність програми. Тестування носить позитивний характер, його мета - показати, що програма працює правильно і задовольняє всім проектним специфікаціям. Відладка - процес виправлення помилок у програмі, при цьому мета виправити всі помилки не ставиться. Виправляють помилки, виявлені при тестуванні. При плануванні слід враховувати, що процес виявлення помилок підчиняється закону насичення, тобто більшість помилок виявляється на ранніх стадіях тестування, і чим менше в програмі залишилося помилок, тим довше шукати кожну з них.
Для вичерпного тестування програми необхідно перевірити кожну з гілок алгоритму. Загальне число гілок визначається комбінацією всіх альтернатив па кожному етапі. Це кінцеве число, але воно може бути дуже великим, тому програма розбивається па фрагменти, після вичерпного тестування яких вони розглядаються як елементарні вузли більш довгих гілок. Крім даних, що забезпечують виконання операторів в необхідної послідовності, тести повинні містити перевірку граничних умов (наприклад, перехід але умові х> 10 повинен перевірятися для значень, більших, менших і рівних 10). Окремо перевіряється реакція програми на помилкові вихідні дані. Ідея низхідного тестування припускає, що до тестування програми приступають ще до того, як завершено її проектування. Це дозволяє раніше випробувати основні міжмодульні інтерфейси, а також переконатися в тому, що програма в основному задовольняє потреби користувача. Тільки після того як логічне ядро випробувано настільки, що з'являється впевненість у правильності реалізації основних інтерфейсів, приступають до кодування і тестування наступного рівня програми.
Природно, повне тестування програми, поки вона представлена у вигляді скелета, неможливо, проте додавання кожного наступного рівня дозволяє поступово розширювати область тестування.

2.3 Засоби і методика відладки програм

Відладка - етап розробки комп'ютерної програми, на якому виявляють, локалізують і усувають помилки. Щоб зрозуміти, де виникла помилка, доводиться:

дізнаватися поточні значення змінних;
з'ясовувати, яким шляхом виконувалася програма.

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

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

Типовий цикл розробки, за час життя програми багато разів повторюється, виглядає приблизно так:

а) Програмування - внесення в програму нової функціональності, виправлення помилок в наявній.

б) Тестування (ручне або автоматизоване; програмістом, тестером або користувачем; «димове», в режимі чорного ящика або модульне...) - виявлення факту помилки.

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

г) Налагодження - виявлення причини помилки.


Розділ 3. Формування навичок програмування з використанням алгоритмічної мови С++

3.1 Програмна реалізація алгоритмів лінійної структури

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

Скласти програму обчислення значення функції у =7х2 - 3х + 6 при будь-якому значенні х.

Вхідні дані:

х (будь-яке число). Дійсне число;

Вихідні дані:

y (значення функції). Дійсне число.

Алгоритм програми – лінійний (рис.3.1)

Рисунок 3.1 Блок-схема алгоритму. Текст програми: #include <iostream> #include <windows.h> #include <iomanip> using namespace std; void main() { int x,y; cin>>x; y=7*x*x-3*x+6; cout<<y<<endl; }

1. Знайти площу кільця, внутрішній радіус якого R1, а зовнішній - R2 (R2 > R1). Значення радіусів R1 і R2 задати за допомогою генератора випадкових чисел.

Вхідні дані:

- R1, внутрішній радіус; R2, зовнішній радіус. Дійсні числа.

Вихідні дані:

- Площа кільця. Дійсне число.

Розробка алгоритму.

Для знаходження площі кільця необхідно:

Алгоритм:

а) Вводимо зовнішній та внутрішній радіус кільця.

б) Від площі більшого круга віднімаємо площу меншого круга.

в) Виводимо площу кільця.

Текст програми:

#include <iostream>

#include <windows.h>

#include <iomanip>

using namespace std;

void main()

{

SetConsoleCP(1251);

SetConsoleOutputCP(1251);

double pi=3.1415,R1,R2;

cout<<"Введіть внутрішній радіус:"<<endl;

cin>>R1;

cout<<"Введіть зовнішній радіус:"<<endl;

cin>>R2;

cout<<pi*R2*R2-pi*R1*R1<<endl;

}

Результат:

Введіть внутрішній радіус:

Введіть зовнішній радіус:

175.924

Для продолжения нажмите любую клавишу...

2. З тризначного числа х відняли його останню цифру. Коли результат розділили на 10, а до частного зліва приписати останню цифру числа x, то вийшло число 237. Знайти число х.

Вхідні дані:

Тризначне число. Ціле число.

Вихідні дані:

х. Ціле число.

Розробка алгоритму.

Фактично, ми розробляємо програму для перестановки цифр тризначного числа. Процес починається з розрахунку цифр заданого числа і розстановки їх в потрібному порядку.

Текст програми.

#include <iostream>

#include <windows.h>

#include <iomanip>

using namespace std;

void main()

{

SetConsoleCP(1251);

SetConsoleOutputCP(1251);

int x;

cout<<"Введіть число"<<endl;

cin>>x;

cout<<(x%100%10)*100+(x/100)*10+(x/10)%10<<endl;

}

Результат:

 

Введіть число

Для продолжения нажмите любую клавишу...

 

 

3.2 Програмна реалізація алгоритмів розгалужених структур

 

 

3.3 Програмна реалізація алгоритмів циклічних структур

Циклом називають послідовність дій(операторів), яку записують у тексті програми один раз але вона може виконуватися понад один раз.

1. Надрукувати "стовпчиком" всі цілі числа від а до b (значення а і b вводяться з клавіатури; b >= а).

Вхідні дані:

- а (будь-яке число). Дійсне число;

- b (будь-яке число). Дійсне число.

Вихідні дані: цілі числа від а до b.

Розробка алгоритму.

Вводимо числа a і b й за допомогою циклу виводимо числа від а до b "стовпчиком".

Текст програми.

#include <iostream>

#include <windows.h>

#include <iomanip>

using namespace std;

void main()

{

int a, b;

cin>>a>>b;

for(;a<=b;a++)

{

cout<<a<<endl;

}

}

 

Результат:

Для продолжения нажмите любую клавишу...

 

2. Знайти добуток всіх цілих чисел від а до b (значення а і b вводяться з клавіатури; b > а).

Вхідні дані:

- а (будь-яке число). Дійсне число;

- b (будь-яке число). Дійсне число.

Вихідні дані: добуток всіх цілих чисел від а до b.

Розробка алгоритму.

Вводимо числа a і b й за допомогою циклу виводимо добуток всіх цілих чисел від а до b.

Текст програми.

#include <iostream>

#include <windows.h>

#include <iomanip>

using namespace std;

void main()

{

int a, b,dob=1;

cin>>a>>b;

for(;a<=b;a++)

{

dob=dob*a;

}

cout<<dob<<endl;

}

 

Результат:

Для продолжения нажмите любую клавишу...

3. Обчислити і вивести на екран у вигляді таблиці значення функції F на інтервалі від Хнач. до Хкон. з кроком dX.

Вхідні дані:

- а (будь-яке число). Дійсне число;

- b (будь-яке число). Дійсне число.

- с (будь-яке число). Дійсне число.

- х нач. (будь-яке число). Дійсне число.

- х кон. (будь-яке число). Дійсне число.

- dX (крок).Дійсне число.

Вихідні дані: значення функції F.

Розробка алгоритму.

Вводимо числа a, b, с, х нач., х кон., dX за певного значення х виконується одне з рівнянь які ми задаємо в умовному операторі. Результат виводиться на екран.

Отформатируйте текст программы: выделите ее, и щелкните на стиль с именем «_Прог» в верхей правой части окна.

 

Текст програми.

#include <iostream>

#include <windows.h>

#include <iomanip>

using namespace std;

void main()

{

int x_nach,x_kon,dx,a,b,c,x;

cin>>x_nach>>x_kon>>dx>>a>>b>>c;

while(x_nach<=x_kon)

{

x=x_nach;

if(x<5&&c!=0) cout<<(-a*x*x-b)<<endl;

else if(x>5&&c==0) cout<<(x-a)/x<<endl;

else cout<<-x/c<<endl;

x_nach=x_nach+dx;

}

}

 

Всетаки вставили нерациональный вариант!!!!!!

 

Результат:

-10

-40

Для продолжения нажмите любую клавишу...

 

4. Обчислити суму

Вихідні дані: сума дробів.

Розробка алгоритму.

За допомогою циклу формуються дроби і рахується їх сума.

Отформатируйте текст программы

Текст програми.

#include <iostream>

#include <windows.h>

#include <iomanip>

using namespace std;

void main()

{

SetConsoleCP(1251);

SetConsoleOutputCP(1251);

double sum=0;

for(int i=2;i<=10;i++)

{

sum=sum+(float)i/(i+1);

cout<<(float)i/(i+1)<<" "<<endl;

}

cout<<sum<<endl;

}

Результат:

0.666667

0.75

0.8

0.833333

0.857143

0.875

0.888889

0.9

0.909091

7.48012

Для продолжения нажмите любую клавишу...

Для пользователя не программиста совершенно непонятно, какое из значений является результатом.

5. Задано натуральне число n і дійсні числа а1, а2..., аn. Визначити середнє арифметичне дійсних чисел.

Вхідні дані:

- n (будь-яке число). Дійсне число;

- а1, а2..., аn (будь-яке числа). Натуральні числа.

Вихідні дані: середнє арифметичне дійсних чисел.

Розробка алгоритму.

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

Текст програми.

#include <iostream>

#include <windows.h>

#include <iomanip>

using namespace std;

void main()

{

 

double n,a=0,sum=0;

int k=0;

cin>>n;

for(int i=1;i<=n;i++)

{

cin>>a;

sum=sum+a;

k=k++;

}

cout<<sum/k<<endl;

}

 

Результат:

5.33333

Для продолжения нажмите любую клавишу...

 

6. Дана непорожня послідовність додатних цілих чисел a1, а2,..., що закінчується нулем. Отримати послідовність a1, a12, a123,..., 0.

Вхідні дані:

- а (додатнє ціле число);

Вихідні дані: послідовність a1, a12, a123,..., 0.

Розробка алгоритму.

Вводимо додатні цілі числа до тих пір доки не введемо нуль.

Текст програми.

#include <iostream>

#include <windows.h>

#include <iomanip>

using namespace std;

void main()

{

 

int a=1,k=1;

while(a!=0)

{

cin>>a;

k=k*a;

cout<<k<<endl;

}

}

 

Результат:

Для продолжения нажмите любую клавишу...

Опять в выходных данных трудно разобраться. Выводите данные в наглядной форме, может и самому станет более понятно!!!

7. Одноклітинна амеба кожні 3 години ділиться на 2 клітки. Визначити, скільки кліток буде через 3, 6, 9,..., 24 години, якщо спочатку була одна амеба.

Вхідні дані:

- початкова к-сть клітин (додатнє ціле число);

Вихідні дані: вихідна к-сть клітин (додатнє ціле число).

Розробка алгоритму.

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

 

3.4 Програмна реалізація функцій користувача

 

 

3.5 Обробка одновимірних масивів

 

 

3.6 Обробка двовимірних масивів

 

 




Дата добавления: 2015-09-12; просмотров: 111 | Поможем написать вашу работу | Нарушение авторских прав

<== предыдущая лекция | следующая лекция ==>
Розділ 1. Технологія створення програм| Жюльен Порталь

lektsii.net - Лекции.Нет - 2014-2024 год. (0.058 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав