Студопедия

Главная страница Случайная страница

Разделы сайта

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






Алгоритмізація.

Основним у процесі програмування є розробка алгоритму. Це один з найбільш складних етапів рішення задачі з використанням ЕОМ. На початку навчання програмуванню, на наш погляд, доцільно не прив'язуватися відразу до якої-небудь мови, розробляти алгоритми без запису на ЯПВУ, а, наприклад, за допомогою блок-схем або іншим аналогічним способом. Після такої " чистої" алгоритмізації учням або студентам простіше перейти до запису того ж алгоритму визначеною мовою програмування. У дійсній публікації продемонстрований саме такий підхід.

Нагадаємо, що основними алгоритмічними структурами (ОАС) є проходження, розвилка і цикл. У більш складних випадках використовуються суперпозиції (вкладення) ОАС.

Нижче приведені графічні позначення (позначення на блок-схемах) ОАС.

Структура “следование” Полная развилка Неполная развилка
Цикл с предусловие (цикл ПОКА) Цикл с постусловием (цикл ДО) Цикл с параметром

На схемах СЕРІЯ позначає один або кілька будь-яких операторів; УМОВА є логічне вираження (ЛВ) (якщо його значення ІСТИНА, перехід відбувається по галузі ТАК, інакше — по НЕМАЄ). На схемі циклу з параметром використані позначення: ПЦ — параметр циклу, НЗ — початкове значення параметра циклу, КЗ — кінцеве значення параметра циклу, Ш — крок зміни параметра циклу.

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

У прикладах ми будемо використовувати запис алгоритмів за допомогою блок-схем і словесний опис.

Лінійні алгоритми

Найпростіші задачі мають лінійний алгоритм рішення. Це означає, що він не містить перевірок умов і повторень.

Приклад 1. Пішохід йшов по пересіченій місцевості. Його швидкість руху по рівнині v1 км/год, у гору — v2 км/год і під гору — v3 км/ч. Час руху відповідно t1, t2 і t3 ч. Який шлях пройшов пішохід?

1. Ввести v1, v2, v3, t1, t2, t3. 2. S1: = v1 * t1. 3. S2: = v2 * t2. 4. S3: = v3 * t3. 5. S: = S1 + S2 + S3. 6. Вывести значение S. 7. Конец.

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

Пример 2. Дано натуральное трехзначное число n, в записи которого нет нулей. Составить алгоритм, который возвращает значение ИСТИНА, если верно утверждение: " число n кратно каждой своей цифре", и ЛОЖЬ — в противном случае.

1. Ввести число n 2. A: = n mod 10 {разряд единиц} 3. B: = n div 100 {разряд сотен} 4. C: = n div 10 mod 10 {десятки} 5. L: = (n mod A=0) and (n mod B=0) and (n mod C=0) 6. Вывод L 7. Конец

На приведенной выше схеме DIV и MOD соответственно операции деления нацело и получения остатка от целочисленного деления. В фигурных скобках записаны пояснения (комментарии) к операторам.

<== предыдущая лекция | следующая лекция ==>
Развилка. Достаточно часто то или иное действие должно быть выполнено в зависимости от значения логического выражения | 




© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.