- •Оглавление Лабораторная работа № 1. Линейные алгоритмы
- •Лабораторная работа № 2. Разветвляющиеся алгоритмы
- •Лабораторная работа № 3. Циклы
- •Лабораторная работа № 4. Одномерные массивы
- •Лабораторная работа № 5. Двумерные массивы
- •Лабораторная работа № 6. Множества
- •Лабораторная работа № 7. Строки
- •Лабораторная работа № 8. Файлы
- •Лабораторная работа № 9. Записи
- •Лабораторная работа № 10. Подпрограммы
- •Библиографический список
Лабораторная работа № 3. Циклы
Задание 1. Определите, что вычисляется в алгоритме. Составьте программу по данной блок-схеме.
Рис. 4. Цикл с параметром
Задание 2. Составьте программу для вычисления суммы ряда
1 + 1/3 + 1/5 + 1/7 + …
Задание 3. Составьте программу для вычисления факториала
(n! = 1·2·3·…·n).
Задание 4. Составьте программу, которая выводит на экран таблицу степеней двойки от 0 до 10.
Задание 5. Составьте программу, которая выводит на экран таблицу степеней для произвольного числа.
Задание 6. Определите, что вычисляется в программе.
Program Example5;
Uses Crt ;
Var n, m: integer ;
Begin
Clrscr;
Writeln ('Введитедвачисла');
Readln (n, m);
While m<>n do
Begin
if m > n then m:=m-n else n:=n-m;
End;
Writeln (m) ;
End.
Задание 7. Определите, что вычисляется в программе, и составьте к ней блок-схему.
Program Example6;
Uses Crt ;
Var x, y: real ;
Begin
Clrscr;
x:= 1;
While x <= 10 do
Begin
y:= sqr(x) + 1;
Writeln(x:5:1, y:10:1);
x:= x+0.5;
End;
End.
Задание 8. Составьте программу, которая выводит таблицу значений функции y = 2x2 + 3x – 9 в диапазоне от – 3 до 3 с шагом 0,5.
Рекомендуемый вид экрана:
---------------
Х | У
---------------
– 3 | 0
– 2,5 | – 4
– 2 | – 7
… | …
3 | 18
---------------
Доработайте программу, чтобы диапазон и шаг можно было вводить при запуске программы .
Задание 9. Составьте программу, в которой необходимо отгадать зашифрованное слово (например, КОБЯЛО). Пользователь вводит ответ до тех пор, пока не отгадает слово из этих букв. Как только введено правильное слово, программа завершается, и на экран выводится сообщение «Вы угадали с N попытки!».
Задание 10. Составьте программу, которая находит все простые числа в диапазоне от A до B.
Задание 11. Составьте программу, которая находит все совершенные числа в диапазоне от A до B.
Лабораторная работа № 4. Одномерные массивы
Задание 1. В алгоритме вычисления суммы и количества положительных элементов заполните пустые места.
Рис. 5. Одномерный массив
Задание 2. Составьте блок-схему к следующей программе:
Program Example7;
Uses crt;
Var a: array[1..100] of integer;
i, n, max: integer;
Begin
Clrscr;
Write('n=');
Readln(n);
for i:=1 to n do Begin
Write('a[',i,']=');
Readln(a[i]);
End;
max:=a[1];
for i:=2 to n do if a[i]>max then max:=a[i];
Writeln('max=',max);
End.
Задание 3. Составьте программу, которая находит максимальный и минимальный элементы в одномерном массиве и их порядковые номера.
Задание 4. Составьте программу, в которой меняются местами максимальный и минимальный элементы.
Задание 5. Установите правильный порядок команд в программе, и определите, что в ней вычисляется.
□ Var a, b:array[1..100] of integer;
i, n, k: integer;
□ for i:=1 to n do
if a[i] < 0 then Begin
k:= k+1;
b[k]:= i;
End;
□ Readkey
□ End.
□ for i:= 1 to k do Write(b[i]:4);
□ Uses crt;
□ for i:= 1 to n do Begin
Write('a[', i, ']=');
Readln(a[i]);
End;
□ Program Example8;
□ Begin
□ Write('n=');
□ Readln(n);
k:= 0;
Задание 6. Определите, что выполняется в программе.
Program Example9;
Uses crt;
Var a: array[1..100] of integer;
i, j, n, m:integer;
Begin
Clrscr;
Write('n='); Readln(n);
for i:= 1 to n do Begin
Write('a[', i, ']=');
Readln(a[i]);
End;
for j:= 1 to n-1 do
for i:= 1 to n-j do Begin
if a[i] < a[i+1] then Begin
m:= a[i];
a[i]:= a[i+1];
a[i+1]:= m;
End;
End;
for i:= 1 to n do Write(a[i]:5);
End.
Задание 7. Составить программу, которая преобразует одномерный массив таким образом, чтобы сначала шли отрицательные, затем нулевые и положительные элементы.