Вы находитесь на странице: 1из 4

Языки программирования и типы данных.

В языках программирования выделяют: арифметические типы – вещественные, целые (real, integer) ,


логический тип с двумя значениями истина и ложь (boolean), упорядоченное множество литер(char).
Если определение типа дано в языке, а не в программе на этом языке, то такие типы называют
предопределенными, т. е. известными до написания программы. Типы, определяемые
программистом , по тому указано ли для них имя или нет , делятся на два подкласса: анонимный и
именованный. Если для скалярного типа введено отношения порядка (=,<>, < , >, <=, >=)
упорядоченным(порядковым), иначе не упорядоченным .

Языки программирования и операторы.


Любой язык программирования характеризуется множеством данных и действий(операций,
операторов). Оператор — это элемент языка, задающий полное описание действия, которое
необходимо выполнить. 1)Оператор присваивания. 2)Операторы выбора. 3)Операторы цикла.
4)Оператор вызова процедуры. 5)Операторы перехода (goto). 6)Составной оператор(begin…end).

Язык PDL, структурное программирование.


В языке проектирования PDL соединены естественный язык и язык реализации. В языке PDL есть 5
групп операторов: 1.Оператор выбора. 2.Оператор цикла. 3.Описание данных. 4.Другие операторы:
а)Присваивание; б) Пустые; в) go to; г) Вызов функции. 5.Предложение на естественном языке.
Структурное программирование - метод составление хорошо структурированных программ, удобных
для чтения и понимания, прослеживания работы и внесения исправлений. Структурное
программирование и предлагает любую программу строить из стандартных логических структур
таких как: следование, ветвление, повторение типа делать пока, цикл -DO, выбор.

Оформление программы (читабельность)


1)умение писать программы просто и ясно 2) не использовать похожие друг на друга имена
переменных 3) связанные слова в тексте следует располагать друг под другом
В тексте программы следует: 1) оставлять между основными частями программы три пустые строки.
между неосновными - две между группой операторов - одну. 2) исп базовые управляющие
структуры. 3) соблюдать абзацный отступ 2-5 пробелов для тел циклов, подчиненных операторов и
продолжений. 4) выравнивать альтернативные ветви операторов.
Если вы пишите комментарии, то они должны нести максимум информации , внутри программы они
должны пояснять существо процесса

Формальная и не формальная постановки задачи.


На этапе неформальной постановки происходит анализ постановки задачи, ее предметной области:
 понимание постановки и требований исходной задачи, определение ее предметной области,
для которой поставлена задача
 анализ предметной области, выявление данных, которые фиксируют входную и выходную
информацию, неформальное определение отношений между данными, условий и
ограничений, накладываемых на эти отношения.
От первоначальной постановки она отличается тем, что оговорено в каком окружении должна
работать программа, т.е. оговорены условия ввода и вывода данных.
ФОРМАЛЬНАЯ ПОСТАНОВКА ЗАДАЧИ – описание (формализация) задачи на языке математики и
формальной логики. Этап формальной постановки задачи необязателен, если на первом этапе ясно
как решать поставленную задачу. Но в более серьезных ситуациях необходимо формализовать на
языке математики.
Подпрограммы и процесс разработки сложных или больших по объему программ.
Подпрограмма - часть программы, один раз написанная, но выполняемая в программе один и более
раз. Одной из причин из-за которых используют подпрограммы является упрощение процесса
разработки сложных или больших по объёму программ. Если используется технология
программирования “сверху вниз”, то есть глобальная задача разбивается на более мелкие подзадачи,
то можно создать на первом уровне приемлемую по восприятию программу, где достаточно сложные
задачи решаются подпрограммами. Их разработку можно отложить на более позднее время, заменив
их для начало “заглушками” - подпрограммы имитирующие основные результаты соответствующих
подпрограмм. Для отладки подпрограмм низкого уровня используется драйвер - программа
моделирующая внешнюю среду : исходные данные, общие таблицы и т. п.

Механизм внутреннего представления подпрограмм.


Если применяется подстановка текста подпрограммы, то такую подпрограмму называют
макроопределением , а сам процесс подстановки - макроподстановка , результат подстановки -
макрорасширение . Аппарат макроподстановок хорош тем, что программист имеет возможность
создать большие по размеру программы, используя небольшие тексты определений макро и
исходной программы.
Подстановка в текст программы макрорасширения, может увеличить текст в 2 - 4 раза, но зато
скорость выполнения программы может быть наивысшей.

Спецификация данных, спецификация функций программы . Проектирование программы.


На этапе спецификации данных оговариваются условия, как размещать данные на внешних
носителях. На этапе спецификации функций программы указываются все случаи, которые могут
возникнуть при решении задач на ЭВМ. Каждый такой особый случай оформляется как некоторая
функция. Проект программы - это не сама программа, а ее набросок, в котором четко зафиксированы
все функции задачи, как некоторые ее подзадачи. (Все предшествующие этапы необходимы для
сбора информации, используемой при проектировании программы.) Язык проектирования может
быть естественным, ЯП для реализации или промежуточным языком. Проект программы желателен
иерархический, т.е. являться эскизом, в котором выделены крупные подзадачи, на следующем этапе
выделенные подзадачи разбиваются на свои под задачи и т.д.

Основы технологии программирования и ее этапы.


Технология программирования - это последовательность процессов, исполняемых программистами в
целях разработки алгоритма решения задачи, ее кодирования на языке программирования,
последующего тестирования программ, начинающаяся с постановки задачи и заканчивается сдачей
программного продукта в эксплуатацию. Технология программирования состоит из нескольких
этапов.
1. Неформальная постановка задачи; //На этом этапе происходит анализ постановки задачи,
ее предметной области
2. Формальная постановка задачи; //описание (формализация) задачи на языке математики и
формальной логики.
3. Разработка или поиск алгоритма решения задачи; //данный этап необходим для перехода
от формальной постановки задачи к написанию программы
4. Спецификация исходных данных программы; //Здесь оговариваются условия, как
размещать данные на внешних носителях
5. Спецификация функций программы; //Здесь указываются все случаи, которые могут
возникнуть при решении задач на ЭВМ. Каждый такой особый случай оформляется как
некоторая функция.
6. Проектирование программы;
7. Программирование ( в узком смысле);
8. Отладка программы;
9. Тестирование программы;
10. Опытная эксплуатация.
Свойства алгоритма и его запись.
Алгоритм – набор четко определенных правил для решения задачи за конечное число шагов.
Свойства алгоритма: 1) Дискретность – процесс решения задачи, определяемый алгоритмом, разбит
на отдельные элементарные действия. 2) Определенность – строгая определенность каждого
действия алгоритма. 3) Результативность – свойство алгоритма обеспечить получение нужного
результата за конечное число шагов. 4) Понятность – соответствие команд алгоритма системе
команд исполнителя. 5) Массовость – алгоритм решения задачи должен разрабатываться так, чтобы
его можно было применить для решения других задач такого же типа при всех допустимых
значениях исходных данных. Способы записи: 1) На естественном языке. 2) С помощью рисунка.
3) С помощью псевдокода. Псевдокод занимает промежуточное значение между естественным и
формальным языками.

Список формальных параметров. Механизм передачи параметров.


Список_формальных_параметров - это последовательность из одного или нескольких подсписков.
(Подсписок имен содержит одно или несколько имен одного типа<список имен>: <имя типа>,
(параметр-процедура).) Передача значений от фактического к формальному параметру может быть
двух видов: “по значению” или “по ссылке”; По окончанию работы подпрограммы значения
формальных параметров, даже если они изменялись, назад не передаются соответствующим
фактическим параметрам. Такой способ передачи значений от фактических параметров к
формальным называется передачей по значению . Передача значения между фактическим и
формальным параметром-переменной двухсторонняя, т. е. фактические переменные при передаче
“по ссылке” непосредственно используются в подпрограмме.

Тестирование. Метод эквивалентных разбиений


Тестирование - процесс подготовки тестов и выполнения программы для этих тестов с целью
доказательства факта наличия в программе ошибки. Все методы тестирования делятся на два класса:
методы “ черного ящика” и методы “ белого ящика”. (Роль ящика выполняет программа.) Методы
“черного ящика” предполагают, что разработка тестов осуществляется без использования знаний о
структуре программы. Два теста эквивалентны, если оба обнаруживают одну и туже ошибку.
Множество эквивалентных между собой тестов называют классом эквивалентности. Чтобы
протестировать программу нужно взять ровно столько тестов сколько классов эквивалентности.
Метод разбиений на классы эквивалентности является методом не строгим, это эвристический метод

Тестирование. Исчерпывающее и убеждающее тестирование.


Тестирование - процесс подготовки тестов и выполнения программы для этих тестов с целью
доказательства факта наличия в программе ошибки. Все методы тестирования делятся на два класса:
методы “ черного ящика” и методы “ белого ящика”. (Роль ящика выполняет программа.) Методы
“черного ящика” предполагают, что разработка тестов осуществляется без использования знаний о
структуре программы. Тестирование программы с применением всего множества возможных
наборов исходных данных называют исчерпывающим. По определению, если при исчерпывающем
тестировании не обнаружено ошибок, то программа корректна. Исчерпывающее тестирование
экономически не выгодно, поэтому оно никогда не применяется в серьезных программах. Его место
занимают убеждающее тестирование или экономически выгодное тестирование. Убеждающие
тестирование убедительно демонстрирует отсутствие ошибок или абсолютно доказывает наличие
ошибок.

Правильные и неправильные классы эквивалентности. Пример.


Всё множество данных, подаваемых на вход программы, делится на два подмножества: X - область
решения задачи и Y - прочие данные. Мн-во X, как множество исходных данных, называют
правильными данными. Множество Y - множество неправильных данных. Начинающие
программисты часто не обращают внимания на тот факт, что почти любая программа может начать
выполнение для не корректных данных, т. е. для данных которые не являются ее исходными
данными. Поэтому любая программа должна быть защищена от не корректных данных. Если это
требование не выполняется программистом, то о нем судят не очень высоко с точки зрения его
квалификации.
Анализ граничных условий. Предположение об ошибке.
Граничные условия - это ситуация, возникающая непосредственно на выше или ниже границ
входных классов эквивалентности. Есть несколько общих правил этого метода: 1). Построить тесты
для границ области и тесты с неправильными входными данными для ситуаций незначительного
выхода за границы области, если входное условие описывает область значений. 2). Построить тесты
для минимального и максимального значений и тесты, большие и меньше этих значений, если
входное условие удовлетворяет дискретному ряду значений. 3).Использовать правило один для
каждого выходного условия. 4). Использовать правило два для каждого выходного данного. 5) Если
вход и выход программы есть упорядоченной множество, то сосредоточьте внимание на первом и
последнем элементах этого множества. 6) Попробуйте свои силы в поиске других граничных
условий. Предположение об ошибке. Основная идея метода заключается в том, чтобы перечислить
в некотором списке возможные ошибки или ситуации, в которых они могут появиться. Потом на
основе этого списка составить тесты.