Учебно-методическое пособие для студентов специальности 1-08 01 01 «Профессиональное обучение


Download 0.99 Mb.
Pdf ko'rish
bet69/103
Sana05.05.2023
Hajmi0.99 Mb.
#1432201
TuriУчебно-методическое пособие
1   ...   65   66   67   68   69   70   71   72   ...   103
Bog'liq
Osnovy algoritmizacii i programmirovaniya

Примеры выполнения заданий 
Пример 5. Составьте блок-схему (рис. 8.6) и напишите программу 
решения следующей задачи: дан одномерный массив, который 
содержит не более 60 символов. Ответьте на вопрос, какой символ 
встречается в данном массиве чаще других.
Решение. Решение задачи будет состоять из следующих частей: 
1. Ввод элементов массива. 
2. Вывод элементов массива на экран. 
3. Подсчет, сколько раз встречается каждый символ в данном 
массиве и одновременно поиск максимального числа появлений 
элемента. 
Для этого количество появлений элемента в массиве примем за
:= 0.
Затем берем первый символ массива и подсчитываем, сколько 
раз он встречается в массиве. Для этого заводим новый счетчик := 0
В ячейку max отправим первый элемент массива и значение ячейки 
max будем сравнивать со всеми остальными элементами массива. 
Если находится одинаковый с ним символ, то счетчик t := t + 1
После просмотра всех элементов массива сравним p и t, если t > 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: 
а – блок-схема ввода элементов массива; 
б – блок-схема вывода элементов массива на экран
в – блок-схема поиска максимального элемента; 
г – блок-схема основной программы 


127 

Download 0.99 Mb.

Do'stlaringiz bilan baham:
1   ...   65   66   67   68   69   70   71   72   ...   103




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling