Формування навичок програмування з використанням алгоритмічної мови С++
У блок-схемі команда введення записується в паралелограмі — блоці введення-виведення. При виконанні цієї команди процесор перериває роботу і чекає дій користувача. Користувач повинен набрати на пристрої введення (клавіатурі) значення змінних і натиснути на клавішу вводу Enter. Значення слід вводити в тому ж порядку, в якому відповідні змінні розташовані в списку введення. Звичайно за допомогою… Читати ще >
Формування навичок програмування з використанням алгоритмічної мови С++ (реферат, курсова, диплом, контрольна)
Програмна реалізація алгоритмів лінійної структури
Основною елементарною дією в обчислювальних алгоритмах є надання значення змінної величини. Якщо значення константи визначено видом її запису, то змінна величина отримує конкретне значення тільки в результаті присвоювання.
Призначення може здійснюватися двома способами: за допомогою команди присвоювання і за допомогою команди введення. Розглянемо приклад. У шкільному підручнику математики правила поділу звичайних дробів описані так:
- 1. Чисельник першого дробу помножити на знаменник другого дробу.
- 2. Знаменник першого дробу помножити на чисельник другого дробу.
- 3. Записати дріб, чисельник якого є результат виконання пункту 1, а знаменник — результат виконання пункту 2. У алгебраїчній формі це виглядає так:
- (b)/(c/d)=(a*d)/(b*c)=m/n
Побудуємо алгоритм розподілу дробів для ЕОМ. У цьому алгоритмі збережемо ті ж позначення для змінних, які використані в записаній вище формулі. Вихідними даними є цілочисельні змінні а, b, с, d. Блок-схему і текст алгоритму на навчальный алгоритмичній мовы наведені нижче (надалі для стислості позначатимемо навчальну алгоритмічну мову літерами АМ).
Мал. 3.1 (блок-схема алгоритму розподілу дробів для ЕОМ).
алг Ділення дробів поч.
цілі a, b, c, d, m, n.
введення a, b, c, d.
m: = a*d.
n:=b*c.
виведення m, n.
кін Формат команди присвоювання наступний: змінна: = вираз. Знак «: =» потрібно читати як «привласнити». Команда присвоювання позначає наступні дії, що виконуються комп’ютером:
- 1. Обчислюється вираз.
- 2. Отримане значення привласнюється змінный.
У наведеному вище алгоритмі присутні дві команди присвоювання. У блок-схемах команда присвоювання записується в прямокутнику. Такий блок називається обчислювальним блоком. В описах алгоритмів необов’язково дотримуватися строгих правила в запису виразів. Їх можна писати в звичайній математичній формі. Це ще не мова програмування з суворим синтаксисом. У наведеному алгоритмі присутня команда введення: введення a, b, c, d.
У блок-схемі команда введення записується в паралелограмі - блоці введення-виведення. При виконанні цієї команди процесор перериває роботу і чекає дій користувача. Користувач повинен набрати на пристрої введення (клавіатурі) значення змінних і натиснути на клавішу вводу Enter. Значення слід вводити в тому ж порядку, в якому відповідні змінні розташовані в списку введення. Звичайно за допомогою команди введення присвоюються значення вихідних даних, а команда присвоювання використовується для отримання проміжних і кінцевих величин. Отримані комп’ютером результати рішення задачі повинні бути повідомлені користувачеві. Для цих цілей призначена команда виводу: висновок m, n За допомогою цієї команди результати виводяться на екран або на пристрій друку на папір. Розглянемо один дуже корисний алгоритм, який доводиться часто використовувати при програмуванні. Дано дві величини: Х, Y. Потрібно провести між ними обмін значеннями. Наприклад, якщо спочатку було Х = 1, Y = 2, то після обміну має стати: Х = 2, У = 1.
Гарною моделлю для вирішення цього завдання є наступна ситуація: є дві склянки — одна з молоком, інша з водою. Потрібно зробити обмін їх вмістом. Кожному ясно, що в цьому випадку потрібен додатковий третій порожній стакан. Послідовність дій буде наступною: 1) перелити з першої склянки в третю; 2) перелити з другої в першу; 3) перелити з третьої до другу. Мета досягнута! За аналогією для обміну значеннями двох змінних потрібна третя додаткова змінна. Аналогія зі склянками не зовсім точна у тому сенсі, що при переливанні з однієї склянки в іншу перша стає порожньою. У результаті ж присвоювання (Х: = Y) змінна, що стоїть праворуч (У), зберігає своє значення. Алгоритм для поділу дробів має лінійну структуру. У ньому всі команди виконуються в строго однозначної послідовності, кожна по одному разу. Лінійний алгоритм складається з команд присвоювання, вводу, виводу та звернення до допоміжних алгоритмів. При описі алгоритмів в блок-схемах типи, як правило, не вказуються (але маються на увазі). В алгоритмах на АМ для всіх змінних типи вказуються явно. Опис типів змінних виконується відразу після заголовка алгоритму. У них використовуються такі позначення типів: цілий — цілий тип, дійсний — дійсний тип, літерний — символьний (літерний) тип, логічний — логічний тип. В алгоритмі для поділу дробів для всіх змінних вказаний цілий тип.
Приклад 1.
Дано тризначне число. Знайти число, отримане при перестановці другої і третьої цифр заданого числа.
#include.
int main ().
{.
int n, m;
cout<<�"Введіть значення n: «;
cin>>n;
m=(n/100)*100+(n%10)*10+(n%100/10);
cout<<�"Отримане число m: «<
retnrn o;
}.
Мал. 3.1.2.
Приклад 2.
У тризначному числі х закреслити його останню цифру. Коли в двозначному числі, що залишилось, переставили цифри, а потім приписали до них зліва останню цифру числа х, то вийшло число n. По заданому n знайти число х (значення n вводиться з клавіатури, 1<=n<=999 і при цьому число одиниць в n не дорівнює нулю).
#include.
int main ().
{.
int n, x, a, b, c;
cout<<�"Введіть значення n: «;
cin>>n;
a=n%10;
b=n/10%10;
c=/100;
x=a*100+b*10+c;
cout<<�"x= «<
return 0;
}.
Мал. 3.1.3.
Приклад 3.
Обчислити вирази при заданих значеннях констант, використовуючи відповідні математичні функції.
#include.
#include.
int main ().
{.
const float a = 4.4;
const float b = 0.57;
const float c = 6;
const float z = 5.4E-2;
float x, y;
x = pow (c + pow (fabs (a-b), 2) + 3, 1/3.)/(pow (a, 2) + pow (b, 2));
y = exp (fabs (a-b))*(pow (tan (z), 2) + 1);
cout<<�"x = «<
cout<<�"y = «<
return 0;
}.
Мал. 3.1.4.