
- •Вопросы по дисциплине “Программирование на языке высокого уровня”, выносимые на экзамен в зимнюю экзаменационную сессию 2008/2009 учебного года
- •Этапы разработки программы
- •Выбор метода решения
- •Кодирование алгоритма на языке программирования
- •Испытания программы на тестах
- •Краткая характеристика языка
- •Алфавит, лексемы, разделители
- •Операция присваивания
- •Операция вывода
- •Кодирование структуры «Ветвление»
- •Ввод массива с клавиатуры
- •Кон а2. Вывод одномерного массива целых по k чисел в строке
- •А3. Вывод элементов прямоугольной матрицы по строкам
- •А4. Сумма элементов массива:
- •А5. Поиск максимального / минимального элемента
- •А6. Подсчет числа элементов массива, удовлетворяющих условию
- •А7. Выбор элементов по условию
- •А8. Проверка выполнения некоторого условия
- •А9. Поиск номера элемента, удовлетворяющего условию
- •9.1. Множества
- •CountLet : word;{количество букв}
Ввод массива с клавиатуры
Д
План
”Ввод-массива-вещественных-чисел” Внутр.
перем.: n,
j
: цел
{n
– фактический объем массива} a[1..nmax]
: вещ {
nmax
= 100 - константа} Нач {ввод
числа элементов массива} цикл вывод
(’Введите число элементов ’) ввод
(n) если
(n<1)
или
(n>nmax)
то вывод
(’Ошибка’) все кцикл-до
(n>=1)
и
(n<=nmax) {ввод
элементов массива} цикл-для
j
от
1 до
n вывод
(’введите ’,j,’-й
элемент ’) ввод
(a[j]) кциклКон а2. Вывод одномерного массива целых по k чисел в строке
анный алгоритм представлен
на псевдокоде:
Идея алгоритма заключается в том, что в теле цикла каждый раз выводится без смены строки один элемент, а строка меняется только после вывода элемента, номер которого кратен значению k.
Т
for
j:=1
to
n
do
begin
{повторить для каждого элемента} write
(a[j]:7);
{напечатать текущий в 7-ми позициях} if
(j
mod
k)=0
then
{если текущий k–й
в строке то} writeln;
{сменить строку} {end
if} end;
{for} writeln;
{перейти на новую строку}
А3. Вывод элементов прямоугольной матрицы по строкам
Алгоритм приведен для случая, когда число столбцов матрицы позволяет напечатать строку матрицы в одной строке экрана (при выводе на экран монитора в текстовом режиме ширина строки равна 80 символам).
{Пусть
матрица имеет n
строк и m
столбцов,} {а
ее элементы – вещественные числа } {Пусть
также все m
элементов помещаются в одной строке
печати} for
i:=1 to
n do
begin for
j:=1
to
m
do
{печатать все элементы строки j} write
(a[i,j]:8:2);
{напечатать число в 8-ми позициях, } {отобразив
в нем 2 десятичные цифры} {end
if} writeln;
{сменить строку печати перед выводом
новой
строки матрицы} end;
А4. Сумма элементов массива:
S
:= 0; for
j:=1
to n
do S
:= S
+ a[j];
{Повторить для каждого элемента} {end
for}
А5. Поиск максимального / минимального элемента
Н
Алгоритм 5а
Алгоритм 5б amax
:= a[1]; for
j:=2 to
n do if
a[j]>amax then amax
:= a[j]; {end
if} {end
for} {максимальное
значение в
переменной amax} jmin
:= 1; for
j:=2 to
n do if
a[j]<a[jmin] then a[jmin]
:= a[j]; {end
if} {end
for} {индекс
минимального элемента jmin
} {а
само значение - в a[jmin]}
А6. Подсчет числа элементов массива, удовлетворяющих условию
np := 0; { np
: integer } for
j:=1 to
n do if
(a[j]
удовлетворяет условию) then np
:= np + 1; {end if} {end
for}
{После
завершения ципкла переменная np
содержит число
элементов массива, удовлетворяющих
условию}
В этом типовом алгоритме можно указать то условие, которое необходимо в конкретных условиях. Так, например, при подсчете количества положительных чисел это условие имеет вид «(a[j]>0)», а в случае подсчета количества простых чисел «Simple(a[j])», гдеSimple – имя функции, возвращающей значение TRUE. еслиa[j]простое число, и FALSE – в противоположном случае.