Концерн Беллегпром Республики Беларусь
УО «Барановичский государственный колледж легкой промышленности
им. В. Е.Чернышева»
О Т Ч Ё Т
по учебной практике
по программированию
учащегося II курса группы 415
Специальность: 2-40 01 01
«Программное обеспечение информационных технологий»
Место прохождения практики: УО «БГКЛП им. В. Е. Чернышева»
Руководитель практики
от колледжа:______________
(подпись)
Учащийся: ______________
(подпись)
Защита практики: _________________________________
(отметка)(подпись принимающего)
Барановичи
2014 г.
Содержание
Введение
1. Краткая характеристика места прохождения практики
2. Состав и назначение программного и технического оснащение рабочего места
3. Значение и применение персонального компьютера и программного обеспечения в профессиональной деятельности
4. Перечень и содержание работы в системах программирования PascalDelphi
Заключение
Список используемой литературы
Приложения
Введение
Информационные технологии занимают все более значимую роль в человеческом обществе. Они проникли во все сферы деятельности. Для обслуживания общественных потребностей в автоматизации труда, хранения данных, связи и др. развиваются языки программирования. Если раньше языки программирования использовались лишь для создания программ для автоматизации вычислительных процессов, то на сегодняшний день они используются для решения более разнообразных задач.
Цели и задачи учебной практики:
1.Закрепление теоретических знаний, полученных студентами в колледже на первых 2 годах обучения.
2.Проверка степени готовности будущего специалиста к самостоятельной работе в условиях реального производства.
3. Выявление у студентов индивидуальных склонностей к практической работе на конкретных должностях.
4.Выявление у студентов способностей к научно-исследовательской деятельности при проведении ими в организации, определенной в качестве места прохождения практики, простейших прикладных исследований конкретных производственных ситуаций и управленческих решений.
5.Приобретение практических навыков анализа и прогноза социально-экономических процессов, обоснование управленческих решений в конкретных ситуациях.
Я, Чилеко Роман Владимирович, учащийся 415 группы дневного отделения БГКЛП имени В.Е. Чернышева, проходил учебную практику по программированию в кабинете языков программирования и технологии программного обеспечения организации и ЭВМ и микропроцессорной техники №28 под руководством преподавателя Герасимовой Елены Алексеевны.
1. Краткая характеристика места прохождения практики.
Барановичский техникум лёгкой промышленности был образован в июле 1960 года. Развивающаяся текстильная промышленность Беларуси испытывала необходимость во всё большем количестве специалистов в области лёгкой промышленности. С целью удовлетворения этой потребности и был создан техникум, первым директором которого был Циреня Юрий Александрович.В 1970 году техникуму было присвоено имя Василия Ефимовича Чернышёва.С 16 января 1997 года техникум возглавил Лис Александр Александрович. С 1 ноября 1999 годатехникуму был присвоен статус колледжа.
За годы существования колледж подготовил и выпустил свыше 26480 человек. Сегодня на дневном и заочном отделениях занимается примерно 2675 учащихся. Выпускники колледжа работают руководителями предприятий, начальниками цехов, отделов и участков предприятий в различных городах нашей республики.
В колледже две формы обучения: дневная и заочная.
Обучение ведётся на трёх отделениях:
экономическое
текстильно-трикотажное
швейное
В июле 1968 года в Барановичском техникуме легкой промышленности им. В.Е. Чернышева было открыто заочное отделение. В настоящее время заочное отделение осуществляет подготовку специалистов по следующим специальностям:
Экономика и организация производства;
Маркетинг;
Бухгалтерский учет, анализ и контроль;
Коммерческая деятельность, специализация "Товароведение непродовольственных товаров".
Технология пряжи, нетканых материалов, тканей и тканых изделий;
Технология трикотажа и трикотажных изделий;
Технология швейного производства;
2. Состав и назначение программного и технического оснащения рабочего места.
Полная характеристика рабочего места преподавателя:
• Процессор AMDAthlon™64 Processor 3000+1.81ГГц;
• 1 Гб ОЗУ;
• Дисководы FDD, DVD-RW;
• Жесткий диск HDDSeagate 160 Гб SATA/FDD 3,5;
• Наличие локальной сети;
• PS/2-совместимая мышь;
• Порты:
а) ECP порт принтера (LPT1); б) Последовательный порт (COM1);
• Монитор Samsung 710N.
Полная характеристика рабочего места ученика:
• Производитель ноутбука: Lenovo;
• Модель: G560;
• Тип оборудования: Ноутбук;
• Операционная система: Windows 7 HomePremium;
• Процессор ноутбука: Intel PentiumP6200;
• Кэш L3 процессора ноутбука2 Мб;
• Количество ядер 2;
• Видео ноутбука HD Graphics;
• Картридер ноутбука: SD, MMC;
• Объем накопителя ноутбука: 320 Гб;
• Интерфейс накопителя ноутбука: SATA;
• Формат накопителя ноутбука: 2.5" SSD;
• Оперативная память: 2 Гб DDR3;
• Оптический привод: встроенный DVD-RW; поддержка Double Layer;
• Диагональ: 15.6" (39.6 см);
• Разрешение матрицы ноутбука: 1366 x 768;
• Стандарты: Wi-Fi IEEE 802.11g, IEEE 802.Сеть ноутбука 10/100/1000 Мбит/сек;
• Разъемы ноутбука: 3 x USB 2.0 (1 из них разделяемый с E-SATA), HDMI, RJ-45, VGA, разъем для микрофона, разъем для наушников;
• Безопасность: cлот для Kensington lock;
• Клавиатура ноутбука: островного типа, c цифровым блоком ;
• Кнопки ноутбука: Восстановление системы (OneKey Rescue), WiFi вкл/выкл;
• Тип манипулятора ноутбука: TouchPad с областью прокрутки по вертикали;
• Питание: Li-ion аккумулятор 10.8В 48 Вт/ч (4400 мАч).
Используемое ПО:
Windows7 обладает улучшенными возможностями для работы программ в фоновом режиме. Общая защита значительно улучшена, поэтому теперь можно более безопасно использовать обозреватель Интернета. Быстродействие позволяет запускать большое количество программ одновременно, при этом программы работают с максимальной скоростью.WindowsXP – надежна и устойчива, поэтому всегда можно рассчитывать на быстродействие эффективную работу компьютера.
В операционную систему Windows включены два текстовых редактора: Блокнот и WordPad. Но с их помощью можно написать только очень простой (с точки зрения оформления) текст. Гораздо большими возможностями обладает текстовый редактор Word. Word является мощным текстовым процессором, но кроме того, обладает средствами, которые делают его простым в использовании и в получении справочной информации о нем. Панели инструментов, контекстные меню делают его одним из наиболее простых для изучения текстовых процессоров.
WinRar– это специальная программа - упаковщик, позволяющая за счет использования специальных методов сжимать информацию на дисках, т.е. создавать копии файлов меньшего размера, а также объединять копии нескольких файлов в один архивный файл.
БраузерыMicrosoftInternetExplorer, FireFox, GoogleChrome предназначены для просмотра документов WWW. К основным возможностям этих браузеров относят:
Просмотр документов, одновременно открытых в разных окнах;
Обеспечение ускоренного вывода на экран просмотренных ранее документов;
Управление режимом отображения документов на экране;
Поддержку работы электронной почты;
Поиск информации на текущей Web-странице.
2.Системы программирования:
• PascalABC.NET – это язык Delphi (Object Pascal) для платформы Microsoft.NET, содержащий все основные элементы современных языков программирования: модули, классы, перегрузку операций, интерфейсы, исключения, обобщенные классы, сборку мусора, а также некоторые средства параллельности, в том числе директивы OpenMP. Система PascalABC.NET включает в себя также простую интегрированную среду, ориентированную на эффективное обучение программированию. Основная причина создания PascalABC.NET – необходимость в современной простой и мощной бесплатной среде для языка Object Pascal, опирающейся на передовую платформу программирования Microsoft.NET. Платформа .NET обеспечивает язык PascalABC.NET огромным количеством стандартных библиотек и позволяет легко сочетать его с другими .NET-языками: C#, Visual Basic.NET, управляемый C++, Delphi.NET, Delphi Prism и др. Платформа .NET предоставляет также такие языковые средства, как единый механизм обработки исключений, единый механизм управления памятью в виде сборки мусора, а также возможность свободного использования классов, наследования, полиморфизма и интерфейсов между модулями, написанными на разных .NET-языках.
• Delphi 7 - полное решение для разработки корпоративных приложений от проектирования до развертывания по архитектуре, управляемой моделью (MDA), которое позволяет интегрировать моделирование, разработку и развертывание приложений и систем электронного бизнеса для платформы Windows. Delphi 7 содержит развитые библиотеки и инструменты для создания приложений электронного бизнеса и веб-сервисов, полностью интегрирует соответствующие технологии и качественно повышает производительность разработчиков, предоставляя все необходимое для исследования вопросов перехода на Microsoft .NET. При помощи включенного в комплект поставки Kylix 3 для Delphi разработчики могут переносить свои приложения на Linux, повышая отдачу своих инвестиций и расширяя спектр платформ, на которых доступны их приложения. Интегрируя ведущие приложения разработки в единый и легкий в использовании пакет, Delphi 7 сокращает жизненный цикл разработки приложений и ускоряет вывод создаваемых с его помощью продуктов на рынок ПО.
3. Значение и применение персонального компьютера и программного обеспечения в профессиональной деятельности
Персональный компьютер — компьютер, предназначенный для эксплуатации одним пользователем, т. е. для личного использования. К ПК условно можно также отнести и любой личный компьютер (суперкомпьютер) любого конкретного человека и используемый данным человека в качестве своего личного компьютера.
Чаще всего под ПК понимают настольные ПК, ноутбуки, планшетные и карманные ПК. Однако на самом деле ПК может считаться любой полноценный компьютер — даже суперкомпьютер — используемый в качестве персонального, т. е. личного, компьютера. А вот тонкий клиент ПК, да и компьютером вообще, считаться не может, так как его функции в сравнении с обычным компьютером довольно сильно заужены. Например, довольно часто тонкий клиент применяется в качество базы для построения единичного терминала в современных многопользовательских рабочих станциях.
Первые компьютеры создавались исключительно для вычислений (что отражено в названиях «компьютер» и «ЭВМ»). Даже самые примитивные компьютеры в этой области во много раз превосходят людей (если не считать некоторых уникальных людей-счётчиков). Не случайно первым высокоуровневым языком программирования был «Фортран», предназначенный исключительно для выполнения математических расчётов.
Вторым крупным применением были базы данных. Прежде всего, они были нужны правительствам и банкам. Базы данных требуют уже более сложных компьютеров с развитыми системами ввода-вывода и хранения информации. Для этих целей был разработан язык «Кобол». Позже появились СУБД со своими собственными языками программирования.
Третьим применением было управление всевозможными устройствами. Здесь развитие шло от узкоспециализированных устройств (часто аналоговых) к постепенному внедрению стандартных компьютерных систем, на которых запускаются управляющие программы. Кроме того, всё большая часть техники начинает включать в себя управляющий компьютер.
Наконец, компьютеры развились настолько, что стали главным информационным инструментом как в офисе, так и дома. Теперь почти любая работа с информацией зачастую осуществляется через компьютер — будь то набор текста или просмотр фильмов. Это относится и к хранению информации, и к её пересылке по каналам связи. Основное применение современных домашних компьютеров — навигация в Интернете и игры.
Современные суперкомпьютеры используются для моделирования сложных физических и биологических процессов. Например, для моделирования ядерных реакций или климатических изменений. Некоторые проекты проводятся при помощи распределённых вычислений, когда большое число относительно слабых компьютеров одновременно работает над небольшими частями общей задачи, формируя таким образом очень мощный компьютер.
Наиболее сложным и слаборазвитым применением компьютеров является искусственный интеллект — применение компьютеров для решения таких задач, где нет чётко определённого более или менее простого алгоритма. Примеры таких задач — игры, машинный перевод текста, экспертные системы.
В нашем колледже компьютеры применяются:
* в бухгалтерии (для составления отчетов и деловой документации);
* в компьютерном классе (для обучения программированию и на уроках информатики);
* в кабинетах психолога, социального педагога и приемной директора (для составления отчетов и деловой документации);
* в отделе кадров (для работы с документами и базами данных).
Перечень и содержание работы в системах программирования Pascal и Delphi
Программирование в среде Turbo Pascal
Паскаль (англ. Pascal) — язык программирования общего назначения. Один из наиболее известных языков программирования, широко применялся в промышленном программировании, обучении программированию в высшей школе, является, иногда, базой для ряда других языков.
Паскаль, в его первоначальном виде, представляет собою чисто процедурный язык и включает в себя множество алголоподобных структур и конструкций с зарезервированными словами наподобие if, then, else, while, for и т. д. Тем не менее, Паскаль также содержит большое количество возможностей для структурирования информации и абстракций, такие как определение типов, записи, указатели, перечисления, и множества.
Алфавит языка Pascal
1. Символы, используемые для составления идентификаторов (малые латинские литеры с кодами ASCII от 97 до 122, большие латинские литеры с кодами ASCII от 65 до 90, десятичные цифры от 0 до 9, с кодами ASCII от 48 до 57, символ подчеркивания «_» с кодом ASCII 95);
2. Разделяющий символ пробела (код ASCII 32);
3. Специальные символы, которые используются в процессе построения фразы языка (+ - * /=><.,;:( ) [ ] { } ^@$#);
4. Управляющие символы (ASCII-коды от 0 до 31).
Типы данных в Pascal
Тип | Диапазон | Формат | Размер в байтах |
ShortInt | −128..127 | Знаковый | 1 |
Integer | −32768..32767 | Знаковый | 2 |
LongInt | −2147483648..2147483647 | Знаковый | 4 |
Byte | 0..255 | Беззнаковый | 1 |
Word | 0..65535 | Беззнаковый | 2 |
Операторы языка Pascal
Операторы ввода и выводы информации. Для того, чтобы ввести какие-либо данные в память машины, используют операторы ввода READ или READLN.
При использовании READ после ввода информации курсор останется мигать на той же строке, что и вводимый параметр. При использовании READLN курсор перейдет на новую строку.
Read (x);
Readln (x);
Чтобы вывести на экран дисплея результат расчета или какую-либо другую информацию (комментарий, текст…), используют операторы вывода WRITE или WRITELN:
Write (x);
Writeln (y);
Writeln (`при х = `, x, `_ _ y = `, y);
Составной оператор. Применяется в программе в тех случаях, когда те или иные конструкции программы предусматривают выполнение в них только одного оператора, а нам в данной программе нужно выполнить несколько операторов. В этом случае эти операторы заключают в «операторные скобки» BEGIN…END, и программа думает, что она имеет дело с одним составным оператором.
Begin
Оператор 1
Оператор 2
- - - - - - - - -
оператор N
end;
Условный оператор. Условный оператор IF реализует в программе алгоритмическую конструкцию «развилка». Различают 2 варианта оператора IF:
1) «Полная развилка» в общем виде выглядит так:
If (х >= 0) then у: = sqrt (х)
else у: = abs (х);
2) «Короткая развилка»
If (х >= 0) then у: = sqrt (х);
В этих конструкциях условие – проверяемое логическое условие.
В каждой ветви оператора IF по умолчанию может выполняться только один оператор. Если же необходимо в каждой ветви выполнить по нескольку операторов, то их заключают в «операторные скобки» BEGIN…END.
Оператор безусловного перехода. Оператор безусловного перехода Goto позволяет изменить ход выполнения программы, начиная с какого-либо оператора, который помечен в программе специальной меткой.
Все метки в программе должны быть объявлены заранее в разделе меток LABEL.
В разделе LABEL метки перечисляются через запятую:
Label 1, а, W, c1…;
В качестве меток можно использовать:
* обычные имена, задаваемые программистом
* числа от 0 до 9999.
Оператор, который помечается меткой, отделяется от нее двоеточием:
1: Writeln (x);
- - - - - -
goto 1;
Ссылка на помеченный оператор осуществляется оператором GOTO с указанием имени метки.
Оператор выбора. Для реализации в программах помимо условного оператора IF используется оператор СASE.
В каждой ветви оператора CASE на месте любого варианта может стоять либо одно значение селектора, либо несколько таких значений через запятую, либо значения селектора в виде отрезка.
В каждой ветви оператора CASE по умолчанию может выполняться только 1 оператор. Если же нам необходимо выполнить несколько операторов, то их заключают в «операторные скобки» BEGIN…END.
В любом случае в операторе CASE должны быть перечислены все возможные значения селектора либо их указания в явном виде в вариантах от 1 до N – 1, либо отнесением к пункту ЕLSE в неявном виде.
Case X of
1: Y: = X + 1;
2, 3, 4: Y : X + 2;
5 .. 10: Y: = X + 3;
else Y: = 0;
end;
Оператор цикла с параметром. Позволяет многократно выполнять в программе какой-либо оператор заранее известное число раз.
For i: = 1 to Y: = x + i
For i: = 5 down to 0 do writeln (`ЗВФ`);
Если в цикле FOR необходимо выполнить несколько операторов, то их заключают в «операторные скобки» BEGIN…END.
В цикле FOR нельзя задавать шаг, отличный от 1 (т.к. программа по умолчанию в этом цикле изменяет индекс цикла на 1).
Оператор цикла с предварительным условием. Позволяет многократно выполнять в программе какой-либо один оператор заранее неизвестное число раз. Условие – логическое условие, истинность которого проверяется перед каждым заходом на цикл. Если проверяемое условие верно, то цикл WHILE выполняется вновь. Как только условие становится ложным, мы выходим из цикла. Если условие никогда не становится ложным, то программа зацикливается.
Если в цикле WHILE необходимо выполнить несколько операторов, то их заключают в «операторные скобки» BEGIN…END.
Оператор цикла с последующим условием. Позволяет многократно выполнять любое количество операторов заранее неизвестное число раз.
В цикле REPEAT условие проверяется на выходе из цикла, поэтому этот цикл выполняется хотя бы 1 раз в любом случае.
Выход из цикла REPEAT осуществляется в том случае, когда проверяемое условие становится истинным.
Если оно не становится истинным никогда, то программа зацикливается.
Программирование в среде Delphi
Delphi — интегрированная среда разработки ПО для Microsoft Windows на языке Delphi (ранее носившем название Object Pascal), созданная первоначально фирмой Borland и на данный момент принадлежащая и разрабатываемая Embarcadero Technologies.
Структура программы
Каждая написанная программа на языке Delphi состоит из заголовка программы (program NewApplication;), поля используемых модулей Uses (к примеру, Uses Windows, Messages, SysUtils и т. д.), который может не входить в саму структуру, а также блоков описания и исполнения (начинаются составным оператом begin и заканчиваются end.).
program Project1; // Заголовок программы, с её именем «Project1»
uses
Forms,
Unit1 in Unit1.pas {Form1}; // модули, которые подключены к проекту и используются программой
{$R *.res}
begin
Application.Initialize; // Инициализация приложения
Application.CreateForm(TForm1, Form1); // Создание формы/окна
Application.Run; // Запуск и исполнение
end.
Типы данных Delphi
Object Pascal характеризуется разветвленной структурой типов данных. В языке предусмотрен механизм создания новых типов, благодаря чему общее количество используемых в программе типов может быть сколь угодно большим.
К простым типам относятся порядковые, вещественные типы и тип дата-время.
Порядковые типы отличаются тем, что каждый из них имеет конечное количество возможных значений. Эти значения можно определенным образом упорядочить (отсюда - название типов) и, следовательно, с каждым из них можно сопоставить некоторое целое число - порядковый номер значения.
Вещественные типы, строго говоря, тоже имеют конечное число значений, которое определяется форматом внутреннего представления вещественного числа. Однако количество возможных значений вещественных типов настолько велико, что сопоставить с каждым из них целое число (его номер) не представляется возможным.
Тип дата-время предназначен для хранения даты и времени. Фактически для этих целей он использует вещественный формат.
К порядковым типам относятся целые, логические, символьный, перечисляемый и тип-диапазон. К любому из них применима функция Ord(x), которая возвращает порядковый номер значения выражения X.
Целые типы. Диапазон возможных значений целых типов зависит от их внутреннего представления, которое может занимать один, два, четыре или восемь байтов. В табл. 7.1 приводятся названия целых типов, длина их внутреннего представления в байтах и диапазон возможных значений.
Целые типы:
Название | Диапазон | Размер в байтах |
Cardinal | 0. .. 2 147 483 647 | 4 |
Byte | 0...255 | 1 |
Shortint | -128...+127 | 1 |
Smallint | -32 768...+32 767 | 2 |
Word | 0...65 535 | 2 |
Integer | -2 147 483 648...+2 147 483 647 | 4 |
Longint | -2 147 483 648...+2 147 483 647 | 4 |
Int64 | -9*1018. ..+9*1018 | 8 |
LongWord | 0. . .4 294 967 295 | 4 |
Логические типы. К логическим относятся типы Boolean, ByteBool, Bool, wordBool и LongBool. В стандартном Паскале определен только тип Boolean, остальные логические типы введены в Object Pascal для совместимости с Windows: типы Boolean и ByteBool занимают по одному байту каждый, Bool и WordBool - по 2 байта, LongBool - 4 байта. Значениями логического типа может быть одна из предварительно объявленных констант False (ложь) или True (истина). Длянихсправедливыправила:
Ord(False) = 0;
Ord(True) <> 0;
Succ(False)= True;
Pred(True) = False.
Символьный тип. Значениями символьного типа является множество всех символов ПК. Каждому символу приписывается целое число в диапазоне О...255. Это число служит кодом внутреннего представления символа, его возвращает функция ord.
Для кодировки в Windows используется код ANSI (назван по имени American National Standard Institute - американского института стандартизации, предложившего этот код). Первая половина символов ПК с кодами 0... 127 соответствует таблице 7.3. Вторая половина символов с кодами 128...255 меняется для различных шрифтов. Стандартные Windows-шрифты Arial Cyr, Courier New Cyr и Times New Roman для представления символов кириллицы (без букв “ё” и “Ё”) используют последние 64 кода (от 192 до 256): “А”... “Я” кодируются значениями 192..223, “а”... “я” - 224...255. Символы “Ё” и “ё” имеют соответственно коды 168 и 184.
Символы с кодами 0...31 относятся к служебным кодам. Если эти коды используются в символьном тексте программы, они считаются пробелами.
К типу char применимы операции отношения, а также встроенные функции:
Сhr (в) - функция типа char; преобразует выражение в типа Byte в символ и возвращает его своим значением;
UpCase(CH) - функция типа char; возвращает прописную букву, если сh - строчная латинская буква, в противном случае возвращает сам символ сн (для кириллицы возвращает исходный символ).
Перечисляемый тип. Перечисляемый тип задается перечислением тех значений, которые он может получать. Каждое значение именуется некоторым идентификатором и располагается в списке, обрамленном круглыми скобками, например:
type
colors = (red, white, blue);
Тип-диапазон. Тип-диапазон есть подмножество своего базового типа, в качестве которого может выступать любой порядковый тип, кроме типа-диапазона.
Тип-диапазон задается границами своих значений внутри базового типа:
<мин.знач.>..<макс.знач.>
Здесь <мин. знач. > - минимальное значение типа-диапазона; <макс. знач. > - максимальное его значение.
Например:
type
digit = 0..9;
dig2 = 48 .. 57;
Вещественные типы:
Название | Количество значащих цифр | Диапазон значений | Длина в байтах |
Real | 15...16 | 5.0*10e-324…1.7*10e308 | 8 |
Single | 7...8 | 1.5*10e-45…3.4*10e38 | 4 |
Double | 15...16 | 5.0*10e324…1.7*10e308 | 8 |
Extended | 19...20 | 3.4*10-4951…1.1*10e4932 | 10 |
Comp | 19...20 | -2e63…+2e63-1 | 8 |
Currency | 19...20 | +/-922 337 203 685477,5807 | 8 |
Мантисса вещественного числа имеет длину от 23 (для single) до 63 (для Extended) двоичных разрядов, что и обеспечивает точность 7...8 для single и 19...20 для Extended десятичных цифр. Десятичная точка (запятая) подразумевается перед левым (старшим) разрядом мантиссы, но при действиях с числом ее положение сдвигается влево или вправо в соответствии с двоичным порядком числа, хранящимся в экспоненциальной части, поэтому действия над вещественными числами называют арифметикой с плавающей точкой (запятой).
Арифметический сопроцессор всегда обрабатывает числа в формате Extended, а три других вещественных типа в этом случае получаются простым усечением результатов до нужных размеров и применяются в основном для экономии памяти.
Особое положение в Object Pascal занимают типы Comp и Currency, которые трактуются как вещественные числа с дробными частями фиксированной длины: в Comp дробная часть имеет длину 0 разрядов, т. е. просто отсутствует, в Currency длина дробной части -4 десятичных разряда. Фактически оба типа определяют большое целое число со знаком, сохраняющее 19...20 значащих десятичных цифр (во внутреннем представлении они занимают 8 смежных байт). В то же время в выражениях Comp и Currency полностью совместимы с любыми другими вещественными типами: над ними определены все вещественные операции, они могут использоваться как аргументы математических функций и т. д. Наиболее подходящей областью применения этих типов являются бухгалтерские расчеты.
Операторы в Delphi
Т.к. Delphi использует язык программирования Object Pascal, то практически все операторы идентичны операторам Pascal, за исключением некоторых, использующихся исключительно в Delphi.
Объектно-ориентированные особенности языка
Инкапсуляция
Объединение и скрытие объектных данных, а также обрабатывающих их методов внутри конкретного класса от пользователя называется инкапсуляцией.
Наследование
При создании новых объектов получить все свойства и методы от своих предков называют наследованием. Такие объекты наследуют после своего создания все поля, свойства, события, методы и прочее от своих предков. Наследование часто избавляет разработчиков от рутинной работы и позволяет, не мешкая приступить к разработке чего-то нового.
Полиморфизм
Это методы различных объектов, которые могут иметь одинаковые имена, но по внутреннему содержимому отличаются друг от друга.
Классы в Delphi
В языке Object Pascal классы — это специальные типы данных, используемые для описания объектов. Соответственно объект, имеющий тип какого-либо класса, является экземпляром (instance) этого класса или переменной этого типа.
Класс представляет собой особый тип, имеющий в своем составе такие элементы (члены, member), как поля, свойства и методы. Поля класса аналогичны полям записи и служат для хранения информации об объекте. Методами называются процедуры и функции, предназначенные как правило для обработки полей. Свойства занимают промежуточное положение между полями и методами.
Заключение
Подводя итоги учебной практики по программированию, можно сделать вывод о том, что поставленные в начале цели и задачи были успешно выполнены. В процессе прохождения практики я усовершенствовал и систематизировал свои знания в области программирования в Pascal и Delphi. Закрепил приемы работы с основными операторами, процедурами, функциями и методами в языках Pascal и Object Pascal.
Список используемой литературы
1. Программирование на языке Паскаль: задачник / под ред. Усковой О. Ф. – СПб.: Питер, 2003. – 336 с.: ил.;
2. Пестриков В. М., Маслобоев А. Н. Delphi на примерах. – СПб.: БХВ-Петербург, 2005. – 496 с.: ил;
3. Фаронов В. В. Турбо Паскаль 7.0. Начальный курс. Учебное пособие. –М.: Издательство «ОМД Групп», 2003. -616 с., ил.;
4. Бобровский С. И. Delphi 7. Учебный курс. – СПб.: Питер, 2008. – 736 с.: ил.
Интернет-ресурсы:
1. www.ru.wikipedia.org;
2. www.delphisources.ru;
3. www.programmersforum.ru;
4. www.drkb.ru.
Приложения
1.В трехзначном числе Х зачеркнули его последнюю цифру. Когда в оставшемся двузначном числе переставили цифры, а затем приписали к ним слева последнюю цифру числа Х, то получилось число N. По заданному N, найти число Х. N от 1 до 999.
program p1;
usescrt;//библиотека для работы clrscr
var a,b,c,d,e:integer;
begin
clrscr; //Очистка дисплея
writeln(vvedite chislo ot 1 do 999);
readln(a);
b:=a div 100;
a:=a mod 100;
c:=a mod 10;
d:=a div 10;
e:=c*100+d*10+b;
writeln(‘otvet: ’,e);
end.
2.Определить, является ли заданное шестизначное число счастливым.
Program p2;
Uses crt;
var a,b,c,d,e,f: integer;
begin
clrscr;
writeln(Введитечисло);
readln(a);
b:=a div 100000;
c:=a div 10000;
c:=c mod 10;
d:=a div 1000;
d:=d mod 10;
e:=a div 100;
e:=e mod 10;
f:=a div 10000;
f:=f mod 10;
a:= a mod 10;
a:=a+f+e;
b:=b+c+d;
if a=b then
writeln(Число счастливое )
else
writeln(Число не счастливое);
end.
3.Известны год, номер месяца и число дней рождения двух человек. Определить возраст каждого человека, число полных лет, определить кто из них старше.
program p3;
uses crt;
type date=record
gd:1900..2000;
ms:1..12;
Day:1..31;
end;
var d1,d2:date;
v1,v2,m1,m2,sd,smn,sy: integer;
begin
clrscr;
Writeln(Введите сегодняшний день );
Readln(sd);
Writeln(Введите сегодняшний месяц );
Readln(smn);
Writeln(Введите сегодняшний год );
Readln(sy);
writeln(Введите год, месяц и день рождения 1-го человека);
repeat
write(год 1900..2000: );
readln(d1.gd);
until (d1.gd>=1900)and(d1.gd<=2000);
repeat
write(месяц 1..12: );
readln(d1.ms);
until d1.ms in [1..12];
Repeat
Write(день 1..31: );
Readln(d1.day);
Untild1.dayin[1..31];
writeln(Введите год, месяц и день рождения 2-го человека);
repeat
write(год 1900..2000: );
readln(d2.gd);
until (d2.gd>=1900)and(d2.gd<=2000);
repeat
write(месяц 1..12:);
readln(d2.ms);
until d2.ms in [1..12];
Repeat
Write(день 1..31: );
Readln(d2.day);
Until d2.day in [1..31];
v1:=sy-d1.gd;
if d1.ms>smn then v1:=v1-1;
If d1.ms=smn then
Begin
m1:=0;
If d1.day<sd then v1:=v1-1
Else
v1:=v1;
End;
If d1.ms>smn then
m1:=12-(d1.ms-smn);
If d1.ms<smn then
m1:=smn-d1.ms;
Writeln(Возраст 1-го человека=,v1, лет и , m1, месяцев);
v2:=sy-d2.gd;
if d2.ms>smn then v2:=v2-1;
If d2.ms=smn then
Begin
m2:=0;
If d2.day<sd then v2:=v2-1
Else
v2:=v2;
End;
If d2.ms>smn then
m2:=12-(d2.ms-smn);
If d2.ms<smn then
m2:=smn-d2.ms;
Writeln(Возраст 2-го человека=,v2, лет и , m2, месяцев);
if v1>v2 then write(1-ыйчеловекстарше);
if v1<v2 then write(2-ойчеловекстарше);
If v1=v2 then
Begin
Ifm1>m2 thenwrite(1-ыйчеловекстарше);
If m1<m2 then write(2-ой человек старше);
If v1=v2 then write(Оба человека одного возраста);
End;
readln;
end.
4. Есть последовательность чисел V0,V1,V2…образуется по закону:V1=V2=0; V3=1.5;
Vi=(i+1)/(I^2+1)*Vi-1-Vi-2-Vi-3=4,5,…
Дано натуральное N(N>=4). Получить Vn
program p4;
uses crt;
var v,i,k,n:integer;
r:real;
//Функция reс параметрами (r,n) высчитывает последовательность.
function Re(r,n:real): real;
begin
if n>3 Then begin
r:=r*((n+1)/(n*n+1));
r:=r-Re(r,n-1) ;
Result:=r;
end
else
Result:=0;
if n=3 then Result:=1.5;
end;
begin
write(Введите i>4: );Readln(n);
writeln(Re(1,n));//Вызов функции
end.
5.Дано вещественно число А. Найти такое наименьшее N, что 1+1/2+1/3+…+1/n>а
Program p5;
uses crt;
var n:integer;
a,s:real;
begin
clrscr;
writeln(Введитечисло A);
readln(a);
s:=1;
n:=1;
while s<=a do// выполняетсяпокаS<= а
begin
n:=n+1;
s:=s+1/n;
end;// как только s<=aвыполняется далее по коду
write(n=,n);
readln; // repeat until keypressed, задерживаетстроку.
end.
6.Дано натурально число. Найти его наименьший делитель отличный от 1.
Program p6;
Var n,i,a,k: integer;
Begin
Writeln(Введитечисло);
Readln(n);
For i:=2 To n Do
While ((n mod i=0)and (k=0))
Do
Begin
Writeln(Наименьшийделитель= ,i);
k:=1;
End;
End.
7.Дано число n.
А) напечатать все натуральные числа, квадрат которых не превышает n
Б) найти первое натуральное число, квадрат которого больше n.
Program p7;
Var n,i,a,k: real;
Begin
Writeln(Введитечисло);
Readln(n);
//a:=0;
Repeat
a:=a+1; //inc(a)
k:=a*a; // k:=sqr(a)
If k<=n then Writeln(a);
If k>n then writeln(Первое натуральное число, квадрат которого больше n ,a);
Untilk>n; //Выполняется пока k>n
End.
8.Дано вещественное число а. Напечатать все значения n, при которых 1+1/2+1/3+…91/n>a
Program p8;
Var a,b,k,z: real;
Begin
Writeln(Введите a);
Readln(a);
//k:=0;
//b:=0;
Repeat
K:=k+1;
b:=b+1/k;
If b<a then writeln(n равно ,k);
Until a<b; //Выполняется пока a<b
End.
9.Дано предложение. Верно ли, что в нем есть пять идущих подряд одинаковых символов.
program p9;
uses crt;
var a,substr:string;
b:char;
i,j,k:integer;
isset:boolean;
begin
Write(Vvedite stroky: );Readln(a);
Write(Vvedite simvol: );Readln(b);
//isset:=false;
//k:=0;
fori:=1 toLength(a) do //От одного до длинны строки А
begin
substr:=copy(a,i,5); //Копируется часть строки от Iдо 5.
k:=0;
for j:=1 to 5 do
if substr[J]=b then k:=k+1; //Jытыйэлементстрокиsubstr
if k=5 then
begin
isset:=true;
break;
end;
end;
if isset=truethen
Writeln(Verno)
else
Writeln(Ne verno);
end.
10.Дано слово, в котором имеются две одинаковые буквы. Найтиих.
Program p10;
uses crt;
var word1,word2:string;
i,k:integer;
c:char;
b:boolean;
begin
write(Введитеслово: ); readln(word1);
c:=#0;
for i:=1 to Length(word1) do begin
word2:=word1;
delete(word2,i,1);
for k:=1 to Length(word2) do
if word1[i]=word2[k] then c:=word1[i];
end;
if not (c=#0) then
Writeln(Символ "+c+" встречается 2 раза)
else
Writeln(Нет повторяющихся символов)
end.
11.В массиве хранится информация о количестве осадков за каждый день июня. Определить в какой период выпало больше осадков в первую половину дня или во второй.
Program p11;
Var a: array [1..30] of integer;
i,b,c: integer;
Begin
b:=0;
c:=0;
For i:=1 To 30 Do //заполнение массива
Begin
Writeln(Введите количество осадков за ,i, день);
Readln(a[i]);
End;
For i:=1 to 15 Do
b:=b+a[i]; //КчислуBприбавляются 15 элементов массива
For i:=16 to 30 Do
c:=c+a[i];//Кчислуcприбавляются 15+15 элементов массива
If b>c Then Writeln(Осадков больше в первой половине месяца);
If b<c Then Writeln(Осадков больше во второй половине месяца);
If b=c Then Writeln(Одинаковое количество осадков);
end.
12. Дан массив. Переписать его положительные элементы во второй массив, а остальные – в третий. Во втором и третьем массивах значения элементов первого массива должны быть записаны:
А) на тех же местах
Б) подряд с начала массива
Program p12;
Var a: array [1..10] of integer;
b: array [1..10] of integer;
c: array [1..10] of integer;
i,l,k: integer;
Begin
k:=0;
l:=0;
Randomize;//Генерация новых чисел при каждом запуске программы
For i:=1 To 10 Do
Begin
A[i]:=Random(15)-5;// Заполнение массива Aрандомом из 15 чисел -5.
If A[i]>=0 Then
Begin
k:=k+1;
B[k]:=A[i];//Копирование элемента массива b[k] в a[i]
End;
If A[i]<0 then
Begin
l:=l+1;
C[l]:=A[i];
End;
Write(A[i], ); //Выводмассива
End;
Writeln;
For i:=1 To k Do
Write(B[i], );//вывод массива b
Writeln;
For i:=1 To l Do
Write(C[i], ); //Вывод массива с
End.
13.В массиве записаны целые числа. Верно ли, что сумма элементов побочной диагонали массива оканчивается цифрой 0.
program p13;
type
type_arr = array[1..3, 1..3] of byte;
var
arr: type_arr;
i, j: byte;
sum: byte;
function diagonal (arr1: type_arr): byte; //Функциядиагоналиспараметром–двумерныймассив.
var
sum1: byte;
i, j: byte;
begin
sum1 := 0;
j:= 3;
for i:=1 to 3 do begin
sum1 := sum1 + arr1[i][j];
j := j-1;
end;
diagonal := sum1;
end;
begin
randomize; //
for i:=1 to 3 do begin
for j:=1 to 3 do begin
arr[i,j] := random(10);
write(arr[i,j], );
end;
writeln;
end;
sum := diagonal(arr);
if sum mod 10=0 then
writeln(Сумма элементов побочной диагонали заканчивается цифрой 0)
else
writeln(Сумма элементов побочной диагонали заканчивается цифрой отличной от нуля);
end.
14.Дан двумерный массив целых чисел. Во втором столбце имеются элементы равные 10. Определить, номер строки, в которой расположен самый нижний из таких элементов.
program p14;
var
a:array[1..10, 1..10] of integer; //Двумерныймассив[1..10, [1..10]]
i,j,z,str,stl:integer;
begin
randomize; //
write(Введите кол-во строк в массиве. ); readln(str);
write(Введите кол-во столбцов в массиве ); readln(stl);
for i:=1 to str do
for j:=1 to stl do a[i,j]:=random(100);
for i:=1 to str do begin
a[i,2]:=random(20); //генерация рандомного числа из 20 в a[I,2];
if a[i,2]>9 then a[i,2]:=10;
end;
for i:=1 to str do begin
for j:=1 to stl do write(a[i,j]:3); //Форматныйвывод
writeln;
end;
for i:=1 to str do
if a[i,2]=10 then z:=i;
writeln(Самая нижняя 10 второго столбца расположена в ,z, строке.);
readln;
end.
15.Дан двумерный массив. Определить есть ли в нем хотя бы две строки с одинаковой суммой элементов.
Program p15;
uses crt;
var a:array[1..10,1..12] of integer;
i,j,p:integer;
begin
randomize;
p:=0;
For i:=1 to 10 do
begin
if i mod 2<>0 then
For j:=1 to 12 do
begin
p:=p+1;
A[i,j]:=p;
end
else
For j:=12 downto 1 do
begin
p:=p+1;
A[i,j]:=p;
end
end;
For i:=1 to 10 do
begin
for j:=1 to 12 do
write (A[i,j], );
writeln;
end;
end.
16.
Отчет по практике в УО «БГКЛП им. В. Е. Чернышева
Отчет по практике по предмету «Информатика»