Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы_Pascal.docx
Скачиваний:
2
Добавлен:
27.11.2019
Размер:
95.86 Кб
Скачать

Лабораторная работа № 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. Составить программу, которая преобразует одномерный массив таким образом, чтобы сначала шли отрицательные, затем нулевые и положительные элементы.