Сделай Сам Свою Работу на 5

Методические указания к выполнению лабораторной работы





 

Задание

Даны два целых числа A и B (A < B). Вывести в порядке возрастания все целые числа, расположенные между A и B (не включая числа A и B), а также количество N этих чисел.

 

Выполнение

Для выполнения этого задания необходимо использовать оператор цикла с параметрами. Оператор цикла с параметрами выполняет группу операторов заданное количество раз. В цикле с единичным шагом изменяется переменная, для которой параметрами цикла задаются начальное и конечное значения. При достижении переменной конечного значения цикл заканчивается и выполняется следующий оператор.

 

Этап 1. Формализация. Задача заключается в переборе целых чисел от А до В. Так как А и В не должны включаться в перебор, необходимо в качестве параметров задать значения А+1 и В-1.

Для подсчёта количества чисел можно ввести дополнительную переменную-счётчик N. Сначала её значение установить равным нулю, а затем в цикле при каждом повторе увеличивать на единицу.

 

Этап 2. Декомпозиция. Производим декомпозицию задачи — выделяем действия. Определяем, что для решения задачи необходимо выполнить следующие действия:



1. Ввести переменные А и В.

2. Установить значение переменной-счётчика равным нулю.

3. Установить в качестве начального значения изменяемой в цикле переменной значение А+1, а в качестве конечного значения – значение В-1.

4. Вывести на экран значение изменяемой в цикле переменной.

5. Увеличить в цикле на единицу переменную-счётчик N.

6. По окончании цикла вывести значение переменной-счётчика на экран.

 

Этап 3. Алгоритмизация. Составляем алгоритм решения задачи. Используем для записи алгоритма форму блок-схемы.

Любому оператору цикла можно сопоставить следующую последовательность значков:

 

Параметры P1 и P2 соответственно начальное и конечное значение для увеличиваемой на единицу в цикле переменной i. Группа операторов выполняется до тех пор, пока переменная i не станет больше P2.

 

Блок-схема алгоритма выглядит следующим образом:

 

 

Этап 4. Кодирование. Переводим разработанный алгоритм на язык программирования — составляем программу. Новым в задании является оператор цикла с параметрами. Для него в языках программирования предусмотрены специальные ключевые слова и задается специальная последовательность операторов.



 

Язык программирования Pascal

Оператору цикла с параметрами в языке Pascal соответствует последовательность:

 

for i := P1 to P2 do

Begin

группа операторов;

end;

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

 

Begin // начало программы

Readln(A); // ввод переменной

Readln(B); // ввод переменной

N:=0; // переменная-счётчик

for i := A+1 to B-1 do // заголовок цикла

Begin // начало группы операторов, выполняемых в цикле

Writeln(i); // вывод числа

N:=N+1; // увеличения переменной-счётчика на единицу

End; // конец группы операторов, выполняемых в цикле

Writeln(N); // вывод количества чисел

 

По условию задачи все переменные должны быть объявлены как целые числа, следовательно, в разделе объявления переменных программы, располагающимся перед началом программы, должна содержаться следующая запись:

 

Var // объявление переменных

A,B,N,i:Integer;

 

Реализация программы в среде Delphi выглядит следующим образом:

 

program prog_lr6;

// указание компилятору создать консольное приложение

{$APPTYPE CONSOLE}

Var // объявление переменных

A,B,N,i:Integer;

Begin // начало программы

// сообщение пользователю о цели программы

writeln('Programma dlya vyvoda v poryadke vozrastaniya celih chisel ot A do B i ih kolichestva.');

// сообщение пользователю о необходимости ввода переменной

write('Vvedite A: ');

Readln(A); // ввод переменной

// сообщение пользователю о необходимости ввода переменной

write('Vvedite B: ');

Readln(B); // ввод переменной



N:=0; // переменная-счётчик

for i := A+1 to B-1 do // заголовок цикла

Begin // начало группы операторов, выполняемых в цикле

Writeln(i); // вывод числа

N:=N+1; // увеличения переменной-счётчика на единицу

End; // конец группы операторов, выполняемых в цикле

Writeln('Kolichestvo chisel: ',N); // вывод количества чисел

Readln; // задерживаем закрытие консольного окна

End. // конец программы

 

Язык программирования C

Оператору цикла с параметрами в языке C соответствует последовательность:

 

for(i = P1; i<P2; i++)

{

группа операторов;

}

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

 

scanf("%d",&A); // ввод числа

scanf("%d",&B); // ввод числа

N = 0; // переменная-счётчик

for (int i = A+1; i < B;i++) // заголовок цикла

{ // начало группы операторов, выполняемых в цикле

printf("%d\n",i); // вывод числа

N++; // увеличения переменной-счётчика на единицу

} // конец группы операторов, выполняемых в цикле

printf("Kolichestvo chisel: %d\n",N); // вывод количества чисел

 

По условию задачи все переменные должны быть объявлены как целые числа, следовательно, в разделе объявления переменных программы должна содержаться следующая запись:

 

// объявление переменных

int A,B,N;

 

Реализация программы в среде С Builder выглядит следующим образом:

 

#pragma hdrstop

// подключение модуля, в котором определены функции ввода и вывода

#include <stdio.h>

// подключение модуля, в котором определены функции max и min

#include <stdlib.h>

#pragma argsused

int main(int argc, char* argv[]) {

// объявление переменных

int A,B,N;

// сообщение пользователю о цели программы

printf("Programma dlya vyvoda v poryadke vozrastaniya celih chisel ot A do B i ih kolichestva.\n");

// сообщение пользователю о необходимости ввода переменной

printf("Vvedite A: ");

scanf("%d",&A); // ввод числа

// сообщение пользователю о необходимости ввода переменной

printf("Vvedite B: ");

scanf("%d",&B); // ввод числа

N = 0; // переменная-счётчик

for (int i = A+1; i < B;i++) // заголовок цикла

{ // начало группы операторов, выполняемых в цикле

printf("%d\n",i); // вывод числа

N++; // увеличения переменной-счётчика на единицу

} // конец группы операторов, выполняемых в цикле

printf("Kolichestvo chisel: %d\n",N); // вывод количества чисел

scanf("%d",&A); // задерживаем закрытие консольного окна

return 0;

}

Этап 5. Тестирование и отладка. Проверяем работу программы. Составляем тесты и запускаем по ним программу.

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

Составляем три теста:

1) А = 2; В = 7; числа 3, 4, 5, 6 и количество чисел 4;

2) А = -3; В = 3; числа -2, -1, 0, 1, 2 и количество чисел 5;

3) А = 5; В = 20; числа 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 и количество чисел 14.

Запускаем программу и подставляем тестовые переменные:

 

1)

 

2)

 

3)

 

Результаты работы программы совпадают с ожидаемыми результатами — программа работает правильно.

 

 








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



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.