
- •Содержание
- •1 Программирование линейных алгоритмов 4
- •2 Программирование ветвящихся алгоритмов 10
- •3 Программирование циклических алгоритмов 22
- •4 Работа с массивами 34
- •1 Программирование линейных алгоритмов
- •2.1.2 Словесно формульное описание задачи
- •2.1.3 Блок схема алгоритма
- •2.1.4 Реализация алгоритма на языке Pascal
- •2.1.5 Тестирование алгоритма задачи
- •2.2 Задача 4 (2.9)
- •2.2.1 Математическое описание задачи
- •2.2.2 Словесно формульное описание задачи
- •2.2.3 Блок схема алгоритма
- •2.3.2 Словесно формульное описание задачи
- •2.3.3 Блок схема алгоритма
- •2.3.4 Реализация алгоритма на языке Pascal
- •2.3.5Тестирование алгоритма задачи
- •2.4 Выводы по ветвящимся алгоритмам
- •3 Программирование циклических алгоритмов
- •3.2.3 Блок схема алгоритма
- •3.4.3 Блок схема алгоритма
- •3.4.4 Реализация алгоритма на языке Pascal
- •3.4.5 Тестирование алгоритма задачи
- •2.4 Выводы по циклическим алгоритмам
- •4 Работа с массивами
- •4.1 Задача 10 (4.2)
- •4.1.1 Математическое описание задачи
- •4.1.2 Словесно формульное описание задачи
- •4.1.3 Блок схемаалгоритма
- •4.3.3 Блок схемаалгоритма
- •4.3.4Реализация алгоритманаязыке Pascal
- •4.3.5Тестирование алгоритма задачи
- •4.4 Выводы по работе с массивами
- •Список используемой литературы
3.2.3 Блок схема алгоритма
3.2.4 Реализация алгоритма на языке Pascal
Program Zadacha7;
uses
crt;
var i,j,z:integer;
Begin
clrscr;
writeln('Таблица умножения натуральных чисел');
for i:=1 to 9 do
begin
for j:=1 to 9 do
begin
z:=i*j;
write(z,' ');
end;
writeln;
end;
writeln;
writeln('Таблица сложения натуральных чисел');
for i:=1 to 9 do
begin
for
j:=1 to 9 do
begin
z:=i+j;
write(z,' ');
end;
writeln;
end;
readln;
End.
3.2.5Тестирование алгоритма задачи
3.3 Задача 8 (3.21)
Дано
натуральное числоN.
Вычислить произведение первыхNмножителей:
.
3.3.1 Математическое описание задачи
Для реализации данной задачи необходимо задать цикл с параметром, проходя его nраз и складывая каждый разN-ый множитель с прошлой суммой множителей.
3.3.2 Словесно формульное описание задачи
1. Считать ввод числа с клавиатуры числа в переменную N, перейти к п. 2.
2. Вычислить P= 0, перейти к пункту 3.
3. Выполнять цикл пункта 4 для всех iотвечающих условию 1≤i≤N, далее перейти к пункту 4.
3. Вычислить P=P+ 2*i/(2*i+1), перейти к пункту 3.
5. Вывести на экран “ P”, перейти к пункту 6.
6. Конец программы.
3.3.3 Блок схема алгоритма
3.3.4 Реализация алгоритма на языке Pascal
Program Zadacha8;
uses crt;
var N,i:integer; P:real;
Begin
write('Введите натуральное число N = ');
readln(N);
P:=0;
for i:=1 to N do
P:=P+2*i/(2*i+1);
writeln('P= ',P:5:3);
readln;
End.
3.3.5 Тестирование алгоритма задачи
3.4 Задача 9 (3.27)
Дано действительное число a,
натуральное числоn.
Вычислить:.
3.4.1
Математическое описание задачи
Для реализации данной задачи необходимо задать цикл с параметром, проходя его nраз и складывая каждый разN-ый множитель с прошлой суммой множителей, причем начальное значениеn=2. Алгоритм возведения числа в степень также зададим с помощью второго цикла с параметром, умножая числоaсамо на себя 2n-2 раз при каждом проходе относительно первого цикла.
3.4.2 Словесно формульное описание задачи
1. Считать ввод числа с клавиатуры в переменную n, перейти к п. 2.
2. Считать ввод числа с клавиатуры в переменную a, перейти к п. 3.
3. Вычислить S= 1/a, перейти к пункту 4.
4. Если n=1 вывести на экран “S” и перейти к пункту 11, иначе перейти к пункту 5.
5. Выполнять цикл с пункта 6 по пункт 9 для всех iотвечающих условию 2≤i≤n, далее перейти к пункту 10.
6. Вычислить avst= 1 (присвоить начальный множитель возведения в степень единице) и шагstep=2*i-2 (степень числа), перейти к пункту 7.
7. Выполнять цикл пункта 8 для всех jотвечающих условию 1≤j≤step, далее перейти к пункту 9.
8. Вычислить avst=avst*a.
9. Вычислить S:=S+1/avst, перейти к пункту 5.
10. Вывести на экран “ S”, перейти к пункту 11.
11.
Конец программы.
3.4.3 Блок схема алгоритма
3.4.4 Реализация алгоритма на языке Pascal
Program Zadacha9;
uses crt;
var n,i,j,step:integer; a,avst,S:real;
Begin
write('Введите натуральное число n = ');
readln(n);
write('Введите действительное число a =');
readln(a);
S:=1/a;
if n=1 then writeln('S= ',S:5:3)
else begin
for i:=2 to n do
begin
avst:=1; step:=2*i-2;
for j:=1 to step do
avst:=avst*a;
S:=S+1/avst;
end;
writeln('S= ',S:5:3);
end;
readln;
End.