Учебно-методическое пособие для студентов специальности 1-08 01 01 «Профессиональное обучение
Download 0.99 Mb. Pdf ko'rish
|
Osnovy algoritmizacii i programmirovaniya
- Bu sahifa navigatsiya:
- Решение .
Примеры выполнения заданий
Пример 5. Составьте блок-схему (рис. 8.6) и напишите программу решения следующей задачи: дан одномерный массив, который содержит не более 60 символов. Ответьте на вопрос, какой символ встречается в данном массиве чаще других. Решение. Решение задачи будет состоять из следующих частей: 1. Ввод элементов массива. 2. Вывод элементов массива на экран. 3. Подсчет, сколько раз встречается каждый символ в данном массиве и одновременно поиск максимального числа появлений элемента. Для этого количество появлений элемента в массиве примем за p := 0. Затем берем первый символ массива и подсчитываем, сколько раз он встречается в массиве. Для этого заводим новый счетчик t := 0. В ячейку max отправим первый элемент массива и значение ячейки max будем сравнивать со всеми остальными элементами массива. Если находится одинаковый с ним символ, то счетчик t := t + 1. После просмотра всех элементов массива сравним p и t, если t > p, то p := t и max := c[1]. Теперь переходим ко второму элементу массива и проделываем с ним те же операции, что и с первым. Перебрав таким образом все элементы массива, получим, что в ячейке p находится максима- льное число встреч того элемента, который находится в max. Все части программы оформим в виде процедур пользователя. Program a5; Type mas=array[1..60] of Char; Procedure Wwod(k:integer; Var c:mas); Var i:Integer; Begin Writeln('Ввести символы массива в виде строки'); For i:=1 to k do Read(c[i]); 125 End; Procedure Wiwod(k:Integer; c:mas); Var i:Integer; Begin Writeln('Массив: а'); For i:=1 to k do Write(c[i]:3); End; Procedure Poisk(k:Integer; c:mas); Var i,j,p,t:Integer; max:char; Begin p:=0; For i:=1 to k do Begin t:=0; For j:=1 to k do If c[i]=c[j] Then t:=t+1; If t>p then begin p:=t; max:=c[i]; end; end; Writeln('Чаще других встречается символ--',max); end; {Основная программа} Var n:Integer; a:mas; Begin Writeln('Ввести количество элементов'); Readln(n); Wwod(n,a); Writeln('Исходный массив'); Wiwod(n,a); Poisk(n,a); End. 126 a) б) в) г) Рис. 8.6. Блок-схема примера 5: а – блок-схема ввода элементов массива; б – блок-схема вывода элементов массива на экран; в – блок-схема поиска максимального элемента; г – блок-схема основной программы |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling