Й этап состоит в анализе получаемых результатов и корректировке исследуемой модели.
Первые три этапа предусматривают работу без компьютера. Дальше следует собственно программирование на определенном языке, в определенной системе программирования. Последний (шестой) этап – это использование уже разработанной программы в практических целях.
Таким образом, программист должен обладать следующими знаниями и навыками:
· Уметь строить алгоритмы;
· Знать языки программирования;
· Уметь работать в соответствующей системе программирования.
Задача.Тело брошено вертикально вверх с начальной скоростью.Определить, через какое время тело достигает наивысшей точки и на каком расстоянии от земли.
1. Дано: , g=9,8 м/с2
Найти: S, t
2. ,
3. 1. Ввести ,g=9,8
2. Если 0 то вывод «Недопустимое значение скорости» и перейти к п.1
3. Вычислить t по формуле
4. Вычислить S по формуле
5. Вывести S, t
4, 5, 6 этапы выполняются на ПК.
Выделить три этапа при решении задач.
1. Дан прямоугольный треугольник с катетами а и в, найти гипотенузу с?
2. Найти сумму членов бесконечной геометрической прогрессии, если , .
3. В треугольники ABC известны стороны a, b, c. Вычислить площадь треугольника по формуле Герона.
4. Боковая сторона трапеции, равна а=40 см, образует с большим основанием угол . Вычислить площадь трапеции, если основания ее равны 24см и 60 см.
5. Найти сумму 26-ти первых членов арифметической прогрессии -12, -9,5, … используя две формулы.
Основой программистской грамотности является развитое алгоритмическое мышление. Одним из фундаментальным понятием в информатике является понятие алгоритма, с которым мы познакомились на прошлом занятии. Алгоритм – это последовательность команд управления каким-либо исполнителем. В школьном курсе информатики с понятием алгоритма знакомятся на примерах таких исполнителей как Робота, Черепахи, Чертежника и т.п. Эти исполнители нечего не вычисляет. Они создают рисунки на экране, перемещаются в лабиринтах, перетаскивают предметы с места на место. Таких исполнителей принято называть исполнителями, работающими в обстановке.
В разделе информатики под названием «Программирование» изучаются методы программного управления работой ЭВМ. Следовательно, в качестве исполнителя выступает компьютер. компьютер работает с величинами – различными информационными объектами: числами, символами, кодами и т.п. Поэтому алгоритмы, предназначенные для управлением компьютером, принято называть алгоритмами работы с величинами.
2. Данные и величины
Совокупность величин, с которыми работает компьютер, принято называть данными. По отношению к программе данные делятся на исходные результаты (окончательные данные) и промежуточные, которые получаются в процессе вычислений.
Например, при решении квадратного уравнения ax2+bx+c=0
исходными данными являются коэффициенты a, b, c;
результатами – корни уравнения x1, x2;
промежуточным данным — дискриминант уравнения D = b2 — 4ас.
Для успешного освоения программирования необходимо усвоить следующее правило: всякая величина занимает свое определенное место в памяти ЭВМ (иногда говорят — ячейку памяти). Хотя термин «ячейка» с точки зрения архитектуры современных ЭВМ несколько устарел, однако в учебных целях его удобно использовать.
У всякой величины имеются три основных свойства: имя, значение и тип. В алгоритмах и языках программирования величины делятся на константы ипеременные. Константа — неизменная величина, и в алгоритме она представляется собственным значением, например: 15, 34.7, k, true и т.д. Переменные величины могут изменять свои значения в ходе выполнения программы и представляются символическими именами — идентификаторами, например: X, S2, codlS.
Теперь о типах величин — типах данных. С понятием типа данных вы уже, возможно, встречались, изучая в курсе информатики базы данных и электронные таблицы. Это понятие является фундаментальным для программирования. В каждом языке программирования существует своя концепция типов данных, своя система типов. Тем не менее, в любой язык входит минимально необходимый набор основных типов данных, к которому относятся: целый, вещественный, логический и символьный типы. С типом величины связаны три ее характеристики: множество допустимых значений, множество допустимых операций, форма внутреннего представления. В табл. 1.1 представлены эти характеристики основных типов данных.
Тип
Значения
Операции
Внутреннее
представление
Целый
Целые положительные и отрицательные числа в некотором диапазоне.
Примеры: 23, —12, 387
Арифметические операции с целыми числами: +, -, •, целое деление и остаток от деления. Операции отношений
(<, >, = и др.)
Формат с
фиксированной точкой
Вещественный
Любые (целые и дробные) числа и некотором диапа0зоне.
Примеры: 2,5,-0,01, 45,0, 3,6-105
Арифметические операции: +, —, •, /. Операции отношений
Формат с плавающей точкой
Логический
True (истина), False (ложь)
Логические операции: И (and), ИЛИ (or), HE (not). Операции отношений
Коды таблицы символьной кодировки. 1 символ — 1 байт
Типы констант определяются по контексту (т.е. по форме записи в тексте), а типы переменных устанавливаются в описаниях переменных.
Есть еще один вариант классификации данных — классификация по структуре. Данные делятся на простые и структурированные. Для простых величин (их еще называют скалярными) справедливо утверждение: одна величина — одно значение, для структурированных: одна величина — множество значений. К структурированным величинам относятся массивы, строки, множества и т.д.
ЭВМ— исполнитель алгоритмов.Как известно, всякий алгоритм (программа) составляется для конкретного исполнителя в рамках его системы команд. О каком же исполнителе идет речь при обсуждении вопроса о программировании для ЭВМ? Ответ очевиден: исполнителем является компьютер. Точнее говоря, исполнителем является комплекс ЭВМ + Система программирования (СП). Программист составляет программу на том языке, на который ориентирована СП. Иногда в литературе такой комплекс называют виртуальной ЭВМ.
Входным языком такого исполнителя является язык программирования Паскаль.
Независимо от того, на каком языке программирования будет написана программа, алгоритм решения любой задачи на ЭВМ может быть составлен из команд:
• присваивания;
• ввода;
• вывода;
• обращения к вспомогательному алгоритму;
• цикла;
• ветвления.
Для описания алгоритмов в дальнейшем мы будем использовать блок-схемы иучебный алгоритмический язык, применяемый в школьном курсе информатики.
Перечень источников:
1. Кинг Д. Создание эффективного программного обеспечения. –М.: мир, 1991 – 284с.
Высокоуровневый язык программирования — язык программирования, разработанный для быстроты и удобства использования программистом. Основная черта высокоуровневых языков — это абстракция, то есть введение смысловых конструкций, кратко описывающих такие структуры данных и операции над ними, описания которых на машинном коде (или другомнизкоуровневом языке программирования) очень длинны и сложны для понимания.
Так, высокоуровневые языки стремятся не только облегчить решение сложных программных задач, но и упростить портирование программного обеспечения. Использование разнообразныхтрансляторов и интерпретаторов обеспечивает связь программ, написанных при помощи языков высокого уровня, с различными операционными системами и оборудованием, в то время как их исходный код остаётся, в идеале, неизменным.
Такого рода оторванность высокоуровневых языков от аппаратной реализации компьютера помимо множества плюсов имеет и минусы. В частности, она не позволяет создавать простые и точные инструкции к используемому оборудованию. Программы, написанные на языках высокого уровня, проще для понимания программистом, но менее эффективны, чем их аналоги, создаваемые при помощи низкоуровневых языков. Одним из следствий этого стало добавление поддержки того или иного языка низкого уровня (язык ассемблера) в ряд современных профессиональных высокоуровневых языков программирования.
Примеры: C, C++, Java, Python, PHP, Ruby, Perl, PureBasic, Delphi, Lisp. Языкам высокого уровня свойственно умение работать с комплексными структурами данных. В большинстве из них интегрирована поддержка строковых типов, объектов, операций файлового ввода-вывода и т. п.
Первым языком программирования высокого уровня считается компьютерный язык Plankalkül, разработанный немецким инженером Конрадом Цузе ещё в период 1942—1946 гг. Однако транслятора для него не существовало до 2000 г. Первым в мире транслятором языка высокого уровня является ПП (Программирующая Программа), он же ПП-1, успешно испытанный в 1954 г. Транслятор ПП-2 (1955 г., 4-й в мире транслятор) уже был оптимизирующим и содержал собственный загрузчик и отладчик, библиотеку стандартных процедур, а транслятор ПП для ЭВМ Стрела-4 уже содержал и компоновщик (linker) из модулей. Однако, широкое применение высокоуровневых языков началось с возникновением Фортрана и созданием компиляторадля этого языка (1957).
Распространено мнение, что программы на языках высокого уровня можно написать один раз и потом использовать на компьютере любого типа. В действительности же это верно только для тех программ, которые мало взаимодействуют с операционной системой, например, выполняют какие-либо вычисления или обработку данных. Большинство же интерактивных (а тем более мультимедийных) программ обращаются к системным вызовам, которые сильно различаются в зависимости от операционной системы. Например, для отображения графики на экране компьютера программы под Microsoft Windows используют функции Windows API, которые отличаются от используемых в системах, поддерживающих стандарт POSIX. Чаще всего для этих целей в них используется программный интерфейс X-сервера.
К настоящему времени создан целый ряд программных библиотек (например, библиотека Qt или wxWidgets), скрывающих несоответствия системных вызовов различных операционных систем от прикладных программ. Однако такие библиотеки, как правило, не позволяют полностью использовать все возможности конкретных операционных систем. Для некоторых языков (к примеру, PureBasic ), существуют кроссплатформенные библиотеки функций, позволяющие обеспечить переносимость программ на уровне исходного текста, то есть, для того, чтобы перенести программу, например с Windows, на Linux, либо MacOS X, достаточно выполнить компиляцию программы на требуемом компиляторе.
Новой тенденцией является появление языков программирования еще более высокого уровня (ультра-высокоуровневых). Такого рода языки характеризуются наличием дополнительных структур и объектов, ориентированных на прикладное использование. Прикладные объекты, в свою очередь, требуют минимальной настройки в виде параметров и моментально готовы к использованию. Использование ультра-высокоуровневых языков программирования снижает временные затраты на разработку программного обеспечения и повышает качество конечного продукта за счет, опять таки, уменьшения объема исходных кодов.
Перечень источников:
1. Кинг Д. Создание эффективного программного обеспечения. –М.: мир, 1991 – 284с.