Практическая работа №13. Общие теоретические сведения. Порядок выполнения работы




Практическая работа №13

Примеры построения алгоритмов с использованием конструкций проверки условий, циклов и способов описания структур данных

Цель работы:

 

усвоить понятия: алгоритм как фундаментальное понятие информатики, способы описания, основные типы алгоритмов, освоить принципы решения задач с использованием основных алгоритмических конструкций.

Оборудование:

 

персональный компьютер, Паскаль

 

Общие теоретические сведения

Решение любой задачи на ЭВМ можно разбить на следующие этапы: разработка алгоритма решения задачи, составление программы решения задачи на алгоритмическом языке, ввод программы в ЭВМ, отладка программы (исправление ошибок), выполнение программы на ПК, анализ полученных результатов.

Первый этап решения задачи состоит в разработке алгоритма.

Алгоритм – это точная конечная система правил, определяющая содержание и порядок действий исполнителя над некоторыми объектами (исходными и промежуточными данными) для получения после конечного числа шагов искомого результата.

Алгоритм может быть описан одним из трех способов:

· словесным (пример в начале раздела);

· графическим (виде специальной блок-схемы);

· с помощью специальных языков программирования.

Блок-схема – распространенный тип схем, описывающий алгоритмы или процессы, изображая шаги в виде блоков различной формы, соединенных между собой стрелками.

1. Линейный алгоритм – это такой алгоритм, в котором все операции выполняются последовательно одна за другой.

2. Алгоритмы разветвленной структуры применяются, когда в зависимости от некоторого условия необходимо выполнить либо одно, либо другое действие.

3. Алгоритмы циклической структуры.

Циклом называют повторение одних и тех же действий (шагов). Последовательность действий, которые повторяются в цикле, называют телом цикла.

Циклические алгоритмы подразделяют на алгоритмы с предусловием, постусловием и алгоритмы с конечным числом повторов. В алгоритмах с предусловием сначала выполняется проверка условия окончания цикла и затем, в зависимости от результата проверки, выполняется (или не выполняется) так называемое тело цикла.

 

Задание 1.

Определить площадь трапеции по введенным значениям оснований (a и b) и высоты (h).

Запись алгоритма в виде блок-схемы (рис. 1):

Begin   Readln(a,b,h);     S:=((a+b)/2)*h;     Writeln(‘s=’,s);     End.

Рисунок 1. Блок-схема линейного алгоритма

Задание 2. Определить среднее арифметическое двух чисел, если a положительное и частное (a/b) в противном случае.

Запись алгоритма в виде блок-схемы (рис. 2):

нет
да

Рисунок 2. Блок-схема алгоритма с ветвлением

 

Задание 3. Составить алгоритм нахождения суммы целых чисел в диапазоне от 1 до 10.

Запись алгоритма в виде блок-схемы (рис. 3):

Рисунок 3. Циклический алгоритм с предусловием

 

В алгоритме с постусловием сначала выполняется тело цикла, а затем проверяется условие окончания цикла.

Запись алгоритма в виде блок-схемы (рис. 4):

Рисунок 4. Циклический алгоритм с постусловием

Порядок выполнения работы

Прочитать условия задач, составить алгоритм и блок – схему к задаче.

Задача 1.

Составить схему алгоритма вычисления значения: x=a+b при a>b, x=a*b, при a<=b.

 

Задача 2.

Составить схему алгоритма вычисления значения:

Для начала для построения блок –схемы алгоритма опишем последовательностьдействий, необходимых для решения данной задачи:

S0=0

S1=S+12

S2=S+22

S20=S+202

Задача 3.

Составить программу для вычисления значения периметра треугольника со сторонами А, В и С.

begin

var (a,b,c):=ReadReal3('Введите 3 стороны треугольника через пробел:');

write('периметр: P=',a+b+c);

end.

Задача 4.

Составить программу для вычисления значения площади прямоугольника со сторонами А и В.

program название;

var p, a, b: real;

begin

writeln(a), readln(a);

writeln(b), readln(b);

p:=(a+b)*2;

writeln(p);

end.

Задача5.

Составить программу для вычисления значения площади и периметра квадрата со стороной А.

var

 

a:longint;

 

begin

 

readln(a);

 

writeln(a*4);

 

end.

Задача 6.

Составить программу для нахождения большего из двух чисел.

Var a,b:integer;

begin

readln(a,b);

if a>b then

writeln(a)

else

writeln(b);

end.

Задача 7.

Составить программу для нахождения меньшего из двух чисел.

procedure min (a,b: integer; var c: integer);

begin

c:=a*ord(a<=b)+b*ord(b<a);

end;

Задача 8.

Составить программу для нахождения количества решений уравнения ах2+bx+c=0.

TP:

 

var a, b, c, d, x1, x2: real;

 

begin

write('a = '); readln(a);

write('b = '); readln(b);

write('c = '); readln(c);

d:= b*b + 4*a*c;

if d=0 then

begin

x1:= b / (2 * a)

writeln (x1:3:3);

end

else

if d>0 then

begin

x1:= (- b + sqrt()) / (2 * a);

x2:= (- b - sqrt()) / (2 * a);

writeln (x1:3:3, ' ', x2:3:3);

end

else

writeln ('Нет решения');

end.

Задача 9.

Составить программу для вычисления произведения чисел от 1 до 10 с шагом 1.

program factorial;

var x1,fak:integer;

begin

fak:=1;

for x1:=1 to 10 do fak:=fak*x1;

writeln(fak);

end.

Задача 10.

Составить программу для вычисления суммы чисел от 1 до 100 с шагом 1.

program factorial;

var x1,fak:integer;

begin

fak:=1;

for x1:=1 to 100 do fak:=fak*x1;

writeln(fak);

end.

Задача 11.

Составить программу для вычисления среднего арифметического для чисел от 1 до 10.

 

Сделать выводы о проделанной работе.

 

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-07-23 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: