|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Пояснення до алгоритму. У цьому завданні не можна застосовувати класичний варіант пошуку максимального елемента в масиві, тому що заздалегідь невідомоУ цьому завданні не можна застосовувати класичний варіант пошуку максимального елемента в масиві, тому що заздалегідь невідомо, чи є в масиві елементи, що задовольняють умову задачі. Невідомо, яке значення вміщувати в комірку max перед циклом, у якому виконуватиметься пошук. Тут зручно використовувати ознаку ( р ), що буде вказувати на те, чи вмістилося початкове значення в комірку max:
Первинне значення в комірку max вміститься в циклі при р=0, коли зустрічається елемент, що задовольняє умову завдання. Якщо ознака р після виходу з циклу залишається рівною нулю, то видається повідомлення про те, що елементів, кратних числу m, у масиві немає, у протилежному випадку видається максимальний елемент, кратний числу m. Якщо потрібно, користуйтеся ознаками! ДЛЯ ВИЗНАЧЕННЯ ЕЛЕМЕНТІВ МАСИВУ, КРАТНИХ ЧИСЛУ m, ВИКОРИСТОВУЄТЬСЯ ФУНКЦІЯ int(x), ТОМУ ЩО ЕЛЕМЕНТИ МАСИВУ МАЮТЬ ТИП дійсн, А ФУНКЦІЯ int(x) МАЄ АРГУМЕНТ ТИПУ дійсн. ВИКОРИСТАННЯ ФУНКЦІЇ mod АБО div НЕМОЖЛИВЕ, ТОМУ ЩО ВОНИ ПРАЦЮЮТЬ ІЗ ЦІЛОЧИСЕЛЬНИМИ АРГУМЕНТАМИ. ЦЕ НЕОБХІДНО ПАМ’ЯТАТИ ПРИ РОБОТІ З ТАКИМИ ФУНКЦІЯМИ!
Існує концепція, що розглядає поняття подільності тільки стосовно цілих чисел. Тому пропонуємо розв’язання задачі мовою Паскаль для масиву цілих чисел. До того ж, у наведеному алгоритмі першим циклом з передумовою while знаходять число, що задовольняє умову (тобто число, кратне m). Якщо таке число не знайдено, то про це видається відповідне повідомлення. В протилежному випадку триває перегляд масиву з пошуком елемента, кратного m та більшого за попередній. Program Search-max; const n=100; var A: array [1..n] of longint; m: longint; i, imax: word; Begin write (‘введіть число m’); readln (m); i:=1; while (i<=n) and (A[i] mod m< >0) do i:=i+1; if i>n then writeln (‘ масив не містить чисел, кратних ‘, m); Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |