У вас вопросы?
У нас ответы:) SamZan.net

Лабораторная работа 4 Основы языка Object Pscl

Работа добавлена на сайт samzan.net: 2016-06-20

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 9.6.2025

Лабораторная работа №4 Основы языка Object Pascal.

Оператор присваивания, оператор ввода и вывода информации.

Словарик и теоретические сведения:

Язык Паскаль был разработан Никлаусом Виртом в 1970 г. как язык со строгой типизацией и интуитивно понятным синтаксисом. В 80-е годы наиболее известной реализацией стал компилятор Turbo Pascal фирмы Borland, в 90-е ему на смену пришла среда программирования Delphi, которая стала одной из лучших сред для быстрого создания приложений под Windows. Delphi ввела в язык Паскаль ряд удачных объектно-ориентированных расширений, обновленный язык получил название Object Pascal. Из альтернативных реализаций Object Pascal следует отметить многоплатформенный open source компилятор Free Pascal, а также систему Oxygene (Object Pascal для .NET).

Основные этапы решения задачи:

Решение задачи:

             1. Поймите задачу, для этого:

  1.  изучите данные;
  2.  изучите неизвестные;
  3.  определите, достаточно ли данных для решения;
  4.  проверьте, не противоречивы ли они.

         2. Составьте план. Обратите внимание на следующие моменты:

  1.  цель решения задачи;
  2.  методы проектирования, которые будут использоваться;
  3.  вспомните, встречалась ли вам уже такая задача;

подумайте, не знаете ли вы близкой задачи, алгоритмом решения которой
можно воспользоваться;

  1.  определите, можете ли вы решить более узкую или аналогичную задачу;
  2.  установите, можете ли вы решить часть задачи.

  3. Выполните план:

  1.  следуйте своему плану решения задачи;
  2.  проверяйте правильность каждого шага.

  4. Проанализируйте решение:

  1.  определите, все ли данные вы использовали;
  2.  проверьте правильность решения;

подумайте, можете ли вы воспользоваться полученным результатом или примененным методом при решении других задач;

  1.  проверьте вводимые данные на обоснованность и правдоподобие;
  2.  выведите результаты в удобной для чтения форме;
  3.  помните, что программа должна быть самодокументируемой, то есть каждому модулю должно предшествовать словесное описание цели и внешних спецификаций, а комментарии должны пояснять смысл операторов на содержательном уровне в терминах постановки задачи.
    •  Перед тестированием программы убедитесь в том, что в тексте программы всем переменным присваиваются значения!!!!! Экспериментальное тестирование программ может служить доказательством наличия ошибок, но никогда не докажет их отсутствия.
    •  Тесты нужно разрабатывать таким образом, чтобы проверить, корректно ли реагирует программа не только на допустимые входные данные, но и на заведомо неправильные.
    •  Тестирование производится согласно общему принципу «сверху вниз». На каждом этапе функции модулей более низкого уровня моделируются упрощенными.
    •  Хорошим считается текст, который имеет высокую вероятность обнаружения ошибки.
    •  Не исправляйте плохую программу — лучше перепишите ее.

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

1. Программист сам должен знать решение задачи.

Ведь программа - это инструкция по ее решению. Нельзя давать инструкцию, не зная, как решать.

2. Нужно придумать имена переменным.

Имя переменной должно говорить о ее смысле. Если смыслом является ширина коробки, то не ленитесь и не называйте ее а, потому что через полгода, разбираясь в своей полузабытой программе, вы будете долго думать, что же обозначили за переменную a. Называйте ее shirina (если вы не знаете английского) или, к примеру, width (если знаете). Так делают все профессиональные программисты.

3. Нужно определить, какого типа будут переменные: целые, вещественные или  быть может строковые.

4.  Перед вычислениями нужно задать исходные данные решения задачи. 

5.  Затем нужно задать компьютеру действия, которые надо проделать с исходными данными, чтобы получить результат.

6.  После получения результата его нужно напечатать.

Действительно, все операторы присваивания компьютер выполняет «в уме». После их выполнения в ячейках памяти будут находиться некоторые, например, числовые результаты решения задачи. Чтобы их узнать, человек в нашем случае может использовать оператор WriteLn, после чего программу можно заканчивать:

  •  Оператор присваивания. Обозначение в программе – переменная:= выражения, число, переменная. При выполнении оператора присваивания компьютер «в уме», то есть ничего не показывая на мониторе) вычисляет правую часть и присваивает вычисленное значение переменной, стоящей в левой части.
  •  Если число имеет вещественный формат, то перед выводом его на экран необходимо задать формат следующим образом: writeln (y:8:3). Это будет означать, что на всё изображение числа, включая целую часть, дробную часть, точку их разделяющую и знак не должно занимать больше восьми символов, а количество цифр в дробной части будет занимать 3 знака после запятой. Значения в формате вещественного числа пользователь при написании программы может изменять произвольно.
  •  Read  или readln – операторы ввода данных без перевода на следующую строку или с переводом на следующую строку соответственно.
  •  write  или writeln – операторы вывода данных без перевода на следующую строку или с переводом на следующую строку соответственно.
  1.   Запуск Object Pascal и изучение его основных свойств.

  1.  Создайте на диске d : свою папку с вашим именем (практические задания будете сохранять той папке).
    1.  Запустите программу PascalABC.NET (найдите ярлык на рабочем столе).
    2.  Изучите интерфейс программы.
    3.  Войдите в Меню Помощь – Справка и познакомьтесь с данной средой программирования PascalABC.NET. (в последующей работе можно обращаться к Справке)

Программа на языке PascalABC.NET имеет следующий вид:

program имя программы;
раздел
uses
раздел описаний
begin
  операторы
end. 

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

Раздел uses начинается с ключевого слова uses, за которым следует список имен модулей и пространств имен .NET, перечисляемых через запятую.

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

Далее следует блок begin/end, внутри которого находятся операторы, отделяемые один от другого символом "точка с запятой".

Раздел uses и раздел описаний могут отсутствовать.

Например:

program MyProgram;
var
  a,b: integer;
  r: real;
begin
  readln(a,b);
  x := a/b;
  writeln(x);
end;

  1.  
    Решение простейших линейных задач.

Запишите в тетрадь условие задачи и сам текст программы.

Задача 1.

 Пусть даны длины сторон треугольника. Вычислите его площадь. Длины сторон пользователь вводит с клавиатуры, а компьютер выдаёт ответ: величину площади.

 

2.2. Разберём работу и принцип построения программы.

1. Вначале необходимо, чтобы пользователь ввёл с клавиатуры длины трёх сторон треугольника. Для этого будем использовать оператор ввода данных – read или readln.

2. Обозначим стороны треугольника переменными a,b,c и отнесём их к вещественному типу real.

3. Для нахождения площади будем использовать формулу Герона:

,

где a, b, c – соответственно стороны треугольника, p-полупериметр.

4. Необходимо ввести ещё две дополнительные переменные, в которые мы запишем значение полупериметра – переменная p и площадь треугольника – переменная s. Отнесём их тоже к вещественному типу.

2.3. Вспомним основные правила записи программы на Pascal:

Программа начинается со стандартного заголовка program. После заголовка идет описание переменных. За словом var (пишется с новой строчки) перечисляются все встречающиеся в задаче переменные a, b, c, p, s и указывается, что они — вещественного типа (real).

Далее между словами begin и end располагаются операторы.

Программа

Наберите текст программы.  

program Geron; {название программы}

var

a ,b,c,p,s:real; {а,в,с-длины сторон треугольника,p-полупериметр треугольника,s-площадь треугольника}

begin {начало программы}

writeln ('Введите длины сторон треугольник'); {появление на экране текста}

readln (a,b,c); {ввод пользователем длин трёх сторон}

p:=(a+b+c)/2; {вычисление полупериметра треугольника}

s:= sqrt(p*(p-a)*(p-b)*(p-c)); {вычисление площади треугольника}

writeln ('Площадь треугольника равна',s); {вывод на экран значения площади треугольника}

end. {конец программы}

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

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

№ теста

переменные

результат

a

b

c

s

  1.  

3

4

5

6

  1.  

2

3

7

7.98697462

  1.  

3

6

4

4.834621111

Полученные результаты запишите в тетрадь и покажите преподавателю.

Файл сохраните в своей папке.

Задача 2.

В зоопарке 3 слона и довольно много кроликов, причем количество кроликов часто меняется. Слону положено съедать в сутки 100 морковок, а кролику - две. Каждое утро служитель зоопарка сообщает компьютеру количество кроликов. Компьютер в ответ на это должен сообщить служителю общее количество морковок, которые сегодня нужно скормить кроликам и слонам.

Придумаем имена переменным величинам:

kol_krol      - количество кроликов в зоопарке

kol_slon      - количество слонов в зоопарке

norma_krol - сколько морковок в день положено кролику

norma_slon - сколько морковок в день положено слону

vsego          - сколько всего требуется морковок

Наберите текст программы.

program zoo; {название программы}

var

kol_krol, kol_slon, norma_krol, norma_slon, vsego:integer;

begin {начало программы}

norma_krol:=2; {количество морковок, положенных одному кролику}

norma_slon:=100; {количество морковок, положенных одному слону}

writeln ('Введите, пожалуйста, количество кроликов: ');  {появление на экране текста}

readln (kol_krol); {ввод пользователем количества кроликов в зоопарке}

kol_slon:=3; {количество слонов в зоопарке}

vsego:= norma_krol*kol_krol +norma_slon*kol_slon; {подсчёт количества морковок положенных слонам и кроликам}

writeln ('Вам всего понадобится ', vsego, ' морковок'); {появление на экране текста}

readln {задержка экрана для просмотра результата}

end. {конец программы}

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

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

№ теста

переменные

результат

  1.  

3

5

6

306

  1.  

5

4

7

310

  1.  

4

3

2

308

Полученные результаты запишите в тетрадь и покажите преподавателю.

Файл сохраните в своей папке.

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

Полученные результаты запишите в тетрадь и покажите преподавателю.

Файл сохраните в своей папке.

Задача 3. Диалог с компьютером. Напишите программу, которая осуществляла бы такой диалог человека с компьютером:

Компьютер выводит на экран:

Здравствуй, я компьютер, а тебя как зовут?

Человек вводит с клавиатуры:

Коля

Компьютер выводит на экран: 

Очень приятно, Коля. Сколько тебе лет?

Человек вводит с клавиатуры:

16

Компьютер выводит на экран:

Ого! Целых 16 лет! Ты уже совсем взрослый!

Наберите текст программы.  

program umnyj; {название программы}

var

imya:string; {имя человека, вводящего данные- переменная строкового типа}

vozrast:integer; {возраст человека, вводящего данные- переменная целого типа}

begin {начало программы}

writeln ('Здравствуй, я компьютер, а тебя как зовут?'); {вывод данного текста на экран}

readln (imya); {ввод имени пользователя с клавиатуры и занесение в ячейку памяти значения переменной imya}

writeln ('Очень приятно,', imya,'. Сколько тебе лет?’); {вывод текста в кавычках на экран с указанием имени пользователя}

readln (vozrast); {ввод возраста пользователя с клавиатуры и занесение в ячейку памяти значения переменной vozrast}

writeln ('Ого! Целых ',vozrast, ' лет! Ты уже совсем взрослый!'); {вывод текста в кавычках на экран с указанием возраста пользователя}

readln;  {задержка экрана для просмотра результата}

end. {конец программы}

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

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

Полученные результаты сохраните и покажите преподавателю. Файл сохраните в своей папке под именем razgovor.

PAGE  4

Основы языка Object Pascal. Оператор присваивания, оператор вывода и ввода данных.




1. статья След статья Термин ldquo;смешанная экономикаrdquo; насколько был запретен в советский период настольк
2. Тема 1. КОРЕКЦІЙНА ПЕДАГОГІКА ЯК НАУКАПлан Предмет завдання та понятійнокатегоріальний апарат коре
3. темам курса На экзамене зачете будет тест состоящий из 10 заданий из разных тем курса
4. Полезные функции для работы с файловой системой
5. перегрузить изложение выполненное в жанре ориентированном на краткость и образность
6. . ЧЕЛОВЕК И ЕГО ПОЗНАНИЕ 1
7. Это один из крупнейших исходов населения в последние десятилетия нынешнего столетия
8. Введение Актуальность темы
9. Считать основными задачами комитета по делам молодежи администрации области на 2001 год- поддержку молодеж
10. Особенности взаимодействия местного самоуправления с предпринимателями