Будь умным!


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

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

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


Лабораторная работа №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. Статья- Политическая корректность как конфликт культурного характера
2. Советское государство в 1917-1920 гг
3. твое но этот человек не оправдывает твои ожидания таким образом мы начинаем обобщать один неудачный опыт
4. Реферат- Національний банк України
5. Каллусная ткань возникает в питательной среде при воздействии фитогормонов или аналогов фитогормонов- 1
6. Характеристики основных форм оздоровительной культуры
7. В музиці завжди знаходяться однодумці які щиро розділяють спільні цінності
8. Ультразвуковая диагностика в акушерстве
9. Ревматизм (Конторльная работа)
10. видит людей. Сможет ли тот помочь Джо Первый раз я сцепился с Мэйсоном Рипли в Центральном Парке потому ч.
11. Тренировки силовой направленности
12. Реферат- Сущность политического манипулирования
13. Российской газете 22 августа 2008 г
14. тема беспроводных телефонов Глава 151
15. Коммерческие банки их виды и основные направления деятельности
16. Введение3
17. тема позволяющая собирать разномасштабные полученные из разных источников данные о территории в едином про
18. Діаграма стану двокомпонентних сплавів
19. Маркетинговое исследование
20. источники римского права