42582

Линейные программы и условные операторы в Pascal

Лабораторная работа

Информатика, кибернетика и программирование

Регистр символов в Паскале не имеет значения.1 Для вычисления значений z1 и z2 необходимо ввести с клавиатуры значение переменной и вывести полученные значения z1 и z2 на экран. Выполняемые функции нахождение значения z по формулам и . 8 Результаты тестирования Разработанные программы были протестированы в 3х режимах: корректные значения граничные значения некорректные данные.

Русский

2013-10-30

327 KB

17 чел.

ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ

ФИЛИАЛ ГОСУДАРСТВЕННОГО ОБРАЗОВАТЕЛЬНОГО УЧРЕЖДЕНИЯ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«МОСКОВСКИЙ ЭНЕРГЕТИЧЕСКИЙ ИНСТИТУТ

(ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)» в г. Смоленске

Кафедра информатики

Отчёт

по лабораторной работе №1

Тема: «Линейные программы и условные операторы в Pascal»

по курсу: «Информатика и программирование»

Студент: Сороченков М.А.
Группа: ПИЭ-11
Преподаватель: Нестеров А.П.
Вариант: 1

Смоленск, 2011


1 Теоретической введение

  1.  Переменные

Программы на Паскале начинаются с ключевого слова program и следующего за ним имени программы с точкой с запятой; за ним следует тело программы, состоящее из секций описания переменных, типов и констант, объявлений процедур и функций и следующего за ними блока операторов, являющегося точкой входа в программу. В языке Паскаль блок ограничивается ключевыми словами begin и end. Операторы разделяются точками с запятой, после тела помещается точка, служащая признаком конца программы. Регистр символов в Паскале не имеет значения.

Требования к именам переменных:

  •  Всегда начинаются с латинской буквы 
  •  В именах допускаются только латинские буквы 
  •  Длина имени переменной не более 63 символов.
  •  Не разрешается использовать в имени следующие символы:
    + - * / \ ^ = > < <> >= <=
    . , : " ' ! $ ( ) ?
    а также пробелы и русские буквы
  •  Имена переменных желательно делать осмысленными, например, Speed1 или Skorst1 (переменные обозначающие скорость у 1-го объекта)
  •  Не разрешается использование зарезервированных слов
    1.  Типы переменных

Типы могут быть простыми (элементарными) (целые, символьные (литерные), вещественные), а также сложными (ограниченные, перечисляемые, булевские, строковые…).

Элементарные типы объявляются в разделе var. Сложные же объявляются в разделе types и используются для описания переменных в разделе var.

  1.  Операторы

Команду алгоритма, записанную на языке программирования, принято называть оператором. Раздел операторов — основная часть программы.

Ввод исходных данных с клавиатуры происходит по оператору read  или readln:

read(<список переменных>);

или readln(<список переменных>);

Разница в выполнении этих операторов в том, что после выполнения ввода по оператору readln экранный курсор перемещается в начало новой строки, а по оператору read этого не происходит.

Вывод результатов происходит по оператору write или writeln:

write(<список вывода>);

или writeln(<список вывода>);

Оператор присваивания на Паскале имеет следующий формат:

<числовая переменная> := <арифметическое выражение>

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

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

  1.  Линейный алгоритм

Линейный алгоритм является аналогом обычного последовательного решения какой-либо задачи, когда все действия записываются поочередно.

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

1. ввод данных;

2. вычисления с помощью операторов присваивания;

3. вывод данных.

  1.  Условный оператор IF

Условный оператор включает в себя операторы, которые выполняются или не выполняются в зависимости от записанного в операторе условия. Оператор имеет вид:

  IF  "условие"  Then  "оператор1"  Else  "оператор2";

где "условие" - выражение логического типа;

"оператор1" выполняется, если условие верно ( True ),

"оператор2" выполняется, если условие не верно ( False ).


2 Техническое задание

2.1 Задача 1

Найти значение z1 и z2:

2.2 Задача 2

Вести координаты x и y и выяснить попадёт ли точка в заштрихованную фигуру.

2.3 Задача 3

Если максимальное значение из трёх взятых чисел больше 50, то найти произведение этих чисел, иначе – уменьшить каждое число в 2 раза.

3 Анализ технического задания

3.1 Для вычисления значений z1 и z2 необходимо ввести с клавиатуры значение переменной a и вывести полученные значения z1 и z2 на экран.

 

3.2 Для того что бы выяснить, попадёт ли точка с координатами (х ; y) в заштрихованную фигуру, необходимо составить уравнения каждой из линий, образующих фигуру: x2 + y2 = 2, y = - (x - 1), y = x - 1, y = - (x + 1), y = x + 1 и x = 0; преобразовать их в неравенства, при выполнении которых, точка будет внутри образованной фигуры: x2 + y2 < 2, y < - (x - 1), y > x - 1, y > - (x + 1), y < x + 1 и x < 0. При удовлетворении этим условиям точка попадёт внутрь фигуры.

3.3 Для того что бы выяснить, есть ли среди трёх введённых чисел, число большее 50, необходимо сравнить каждое из введённых чисел  с числом 50. (a>50 или b>50 или c>50)  Если хотя бы одно число >50, то необходимо посчитать произведение этих чисел, если нет – то каждое из веденных чисел нужно разделить на 2.

4 Блок-схема

4.1 Задача 1. Блок схема алгоритма представлена на рисунке 4.1.

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


4.2 Задача 2. Блок схема алгоритма представлена на рисунке 4.2.

Рисунок 4.2 – Блок-схема алгоритма


4.3 Задача 3. Блок схема алгоритма представлена на рисунке 4.3.

Рисунок 4.3 – Блок-схема алгоритма


5 Модульная структура программы

Программа состоит из одного модуля – самой программы.

6 Спецификация на программные модули

6.1 Задача 1

  1.  Имя модуля p1.
    1.  Имя вызываемого модуля – нет.
    2.  Выполняемые функции -  нахождение значения z по формулам  и

    .

  1.  Входные данные  - A типа real.
    1.  Выходные данные – Z типа real.
    2.  Особенности и ограничениянет.

6.2 Задача 2

  1.  Имя модуля p2.
    1.  Имя вызываемого модуля - нет.
    2.  Выполняемые функции – выяснение попадания точки с координатами (x;y) внутрь заданной фигуры..
    3.  Входные данные  - X и Y типа real.
    4.  Выходные данные – сообщение «Popali» или «Ne popali».
    5.  Особенности и ограничениянет.

6.2 Задача 3

  1.  Имя модуля p3.
    1.  Имя вызываемого модуля – нет.
    2.  Выполняемые функции – нахождения произведения введенных чисел a, b и с если выполняется условие (a>50) or (b>50) or (c>50), и уменьшение введенных чисел a, b и с в 2 раза – если условие не выполняется.
    3.  Входные данные  - a, b и c типа real.
    4.  Выходные данные – a, b, c, d, s типа real.
    5.  Особенности и ограничениянет.

7 Текст программы

7.1 Задача 1

program p1;

uses crt;

var z,a:real;      {Описание переменных}

begin

clrscr;     

write ('Vvedite znachenie a:');

readln(a);      {Ввод данных с кл-ры}

z:=cos(a)+sin(a)+cos(a)*3+sin(a)*a; {Вычисление z}

writeln('Znachenie z1=',z:2:2);  {Вывод z}

z:=1/4-1/4*sin(5/2*pi-8*a);   {Вычисление z}

write('Znachenie z2=',z:2:2);   {Вывод z}

readln;

end.

7.2 Задача 2

program p2;

uses crt;

var a,b,c,d,e,ox:boolean;    {Условия}

   x,y:real;      {Координаты точки}

begin

clrscr;

writeln('vvedite x and y');

readln(x,y);      {Ввод данных с кл-ры}

a:=(sqr(x)+sqr(y)<1);

b:=(y<-(x-1));

c:=(y>x-1);

d:=(y>-(x+1));

e:=(y<x+1);

ox:=x<0;

if (b and c and d and e) or (a and ox)

 then write('Popali')

   else write ('Ne popali');  {Проверка выполнения

условий и вывод

результата}

readln;

end.

7.3 Задача 3

program p3;

uses crt;

var a,b,c,s:real;

begin

clrscr;

writeln('Vvedite 3 peremennih');

readln(a,b,c);      {Ввод данных с кл-ры}

if (a>50) or (b>50) or (c>50) then {Проверка условия(сравнение)}

 begin

  s:=a*b*c;        {Выч-е произведения если условие верно}

  writeln('Proizvedenie=',s:2:2);   {Вывод}

  end

else

 begin

  a:=a/2;        {Уменьшение вдвое}

  b:=b/2;

  c:=c/2;

  write('a/2=',a:2:2,' b/2=',b:2:2,' c/2=',c:2:2);

 end;

readln;

end.

8 Результаты тестирования

Разработанные программы были протестированы в 3х режимах: корректные значения, граничные значения, некорректные данные. Результаты представлены в таблицах 8.1, 8.2 и 8.3.

Таблица 8.1 Результаты тестирования программы из задачи 1

Режим тестирования

Введённое значения

Значение z1

Значение z2

Корректные значения

15.8

-5.53

0.06

Корректные значения

-40

26.39

0.02

Граничные значения

0

4

0

Некорректные данные

b

Ошибка ввода

Некорректные данные

32..4

Ошибка ввода

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

Таблица 8.2 Результаты тестирования программы из задачи 2

Режим тестирования

X

Y

Результат

Корректные значения

-0.5

0.5

Popali

Корректные значения

1

1

Ne popali

Граничные значения

0

1

Ne popali

Граничные значения

-1

0

Ne popali

Некорректные данные

b

-

Ошибка ввода

Некорректные данные

32..4

-

Ошибка ввода

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

Таблица 8.3 Результаты тестирования программы из задачи 3

Режим тестирования

A

B

C

S

A

B

C

Корректные значения

45

7

74

23310.00

-

-

-

Корректные значения

13

6

42

-

6.5

3

21

Граничные значения

0

0

0

-

0

0

0

Граничные значения

49

49

49

-

24.5

24.5

24.5

Некорректные данные

k

-

-

Ошибка ввода

Некорректные данные

32..4

-

-

Ошибка ввода

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

9 Заключение

В результате выполнения лабораторной работы освоены основные операторы и принципы построения линейных алгоритмов на языке Pascal, а так же принципы работы с условным оператором «if».


 

А также другие работы, которые могут Вас заинтересовать

59894. «Ти – тихе сяйво над моєю долею» (жінки в долі Тараса Шевченка). Вистава 107.5 KB
  Виходить Шевченко Т. Шевченко Т. Ведуча Оксана йог люба; мила щира вродлива і ніжна Оксанка її ім’я Шевченко згадує в багатьох своїх творах змінюючи часом на Мар’яну або на якусь безіменну дівчину. Ласочкою зорею пташкою такими ніжними лагідними словами називає Шевченко свою Оксану.
59895. Проблема формування в учнів історичного мислення 141 KB
  Допомагає їм на першому етапі пам’ятка Як працювати з текстом історичного джерела додаток 1. На завершення роботи пропоную учням скласти усну розповідь Подорож у країну козаків додаток 2. Розмаїття підручників з історії стародавнього світу...
59896. Дневной дозор 67.5 KB
  Из года в год увеличивается поток автомобилей на дорогах, что создаёт объективную реальность возникновения дорожно-транспортных происшествий. И, к сожалению, самой частой причиной возникновения ДТП являются дети.
59897. Профільна освіта як ефективний засіб диференціації навчально-виховного процесу учнів 32 KB
  Допрофільну підготовку можна умовно розділити на два етапи: професійне орієнтування учнів; професійне консультування учнів. Професійне орієнтування учнів характеризується тим що на цьому етапі вчителі стають помічниками і консультантами для кожного учня.
59898. ОСОБИСТІСТЬ УЧНЯ 102.5 KB
  Належність особистості до певного суспільства до певної системи суспільних відносин визначає її психологічну та соціальну сутність. Характерними ознаками особистості є наявність у неї свідомості виконувані нею суспільні ролі суспільно корисна спрямованість її діяльності.
59899. Visual Basic 6. Руководство разработчика 7.18 MB
  Основные элементы управления ctiveX. Усовершенствованные элементы Visul Bsic. Усовершенствованные элементы управления ctiveX. Дополнительные элементы управления ctiveX. Специальные темы. Конструирование элементов управления ctiveX Часть V Программирование баз данных на Visul Bsic.
59900. Розв’язування задач за допомогою пропорції 251 KB
  Окрім овочів і фруктів багато вітаміну С міститься в хвої сосни приблизно в 7 разів більше ніж в лимонах. У 100 грамах чорної смородини міститься приблизно 250 міліграм вітаміну С 1мг = 0001 грама. Визначте вміст вітаміну С в грамах на 1 кг чорної смородини.
59901. Витамины встали в строй – гриппу и простуде объявили бой! 44 KB
  Воспитательное мероприятие: Витамины встали в строй гриппу и простуде объявили бой Синьор Апельсин: В мире очень я известный Апельсинчиком зовусь Очень-очень я полезный Я всем детям пригожусь.