Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Пример 4.3. Определить, имеется ли среди элементов главной диагонали заданной




целочисленной матрицы A(N, N) хотя бы один положительный нечётный элемент.

Система тестов

Номер Теста Проверяемый Случай Данные Результат
N Матрица А Текст
1 Имеется 3 "Есть такие"
2 Не имеется 2 "Нет таких"

Алгоритмический язык

алг Диагональ (арг цел N, арг цел таб А[1:N, 1:N], рез лит Teкст)

нач цел i, лит Flag Блок-схема (фрагмент)

i:=1; Flag:="Нет"

нц пока (i<=N) и (Flag="Нет") | условие продолжения цикла

если (A[i, i]>0) и (mod(A[i, i], 2)=1) | условие завершения цикла

то Flag:= "Да"

иначе i:=i+1

Все

Кц

если Flag = "Да"

то Текст:= "Есть такие"

иначе Текст:= "Нет таких"

Все

кон

Turbo Pascal

Program Diagonal;

Uses Crt;

Type Mas = Array [1..10, 1..10] of Integer;

Var A: Mas;

N, i, j: Integer;

Flag: Boolean;

{-----------------------------------}

Procedure InputOutput(Var A: Mas); {описание процедуры ввода}

Begin {вывода исходных данных}

ClrScr;

Write(’Количество строк и столбцов – ’); Read(N);

For i:= 1 to N do

For j:= 1 to N do

begin Write(’A[’, i, ’, ’, j, ’] =? ’);

ReadLn(A[i, j]);

end; WriteLn;

WriteLn(’Заданная матрица:’);

For i:= 1 to N do

begin

For j:= 1 to N do Write(A[i, j]: 5);

WriteLn;

end; WriteLn;

End; { of InputOutput }

{------------------------------------}

Procedure Solution(Var A: Mas); {описание процедуры поиска решения}

Var Flag: Boolean;

Begin

Flag:=FALSE; i:=1;

While (i<=N) and not Flag do

If (A[i, i]>0) and (A[i, i] mod 2 = 1)

then Flag:=TRUE

else i:=i+1;

WriteLn(’О т в е т:’);

Write(’Среди элементов главной диагонали ’);

If Flag then WriteLn (’есть нечетные положительные.’)

else WriteLn(’нет нечетных положительных.’);

ReadLn;

End; { of Solution }

{------------------------------------}

BEGIN

InputOutput(A); {вызов процедуры ввода-вывода данных}

Solution(A); {вызов процедуры поиска решения задачи}

END.

Пример 4.4. Числа Фибоначчи (Fi) определяются по формулам F0 = F1 = 1; Fi = Fi –1 +

Fi –2 при i = 2, 3,... (каждое очередное число равно сумме двух предыдущих). Вычислить сумму всех чисел Фибоначчи, которые не превосходят заданного натурального числа М.

Тест

Номер теста Данные Результат
1 M=10 S=1+1+2+3+5+8=20
2 M=1 S=1+1=2

Алгоритмический язык

алг Фибоначчи (арг цел М, рез цел S)

дано | M>0

нач цел F0, F1, F2

F0:=1; F1:=1; F2:=2

S:=4 | 4 – сумма первых трех чисел Фибоначчи

нц пока F2<=M

F0:=F1;

F1:=F2;

F2:=F0+F1 | серия переприсваиваний

S:=S+F2;

Кц

S:=S–F2 | из S вычитается последнее значение F2, превосходящее M

кон

Исполнение алгоритма

F0 F1 F2 S F2<M
5 8 13 4+3=7 7+5=12 12+8=20 20+13=33 + + + + -(кц)
      33-13=20  

Turbo Pascal

Program SummaFib;

Uses Crt; Блок-схема

Var M, {заданное число }

F0, F1, F2, {три последовательных числа Фибоначчи}

S: Integer; {сумма чисел Фибоначчи}

BEGIN

ClrScr;

Write(’Введите натуральное М: ’);

ReadLn(M);

F0:=1; F1:=1; F2:=2;

S:=4; {4 – сумма первых трех чисел Фибоначчи}

Write(’Числа Фибоначчи, не превосходящие ’, M, ’:’, F0:4, F1:4);

While F2<=M do

begin

F0:=F1; F1:=F2; Write(F1: 4);

F2:=F0+F1; S:=S+F2;

end;

S:=S–F2; {вычитание из суммы последнего числа, которое превосходит М}

WriteLn; WriteLn;

WriteLn(’О т в е т: Сумма этих чисел равна ’, S); ReadLn

END.

Результаты работы Pascal-программы






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных