Синтаксические ошибки в программе помогает обнаружить
Отладка программы – это процесс поиска и устранения ошибок. Часть ошибок формального характера, связанных с нарушением правил записи конструкций языка или отсутствием необходимых описаний, обнаруживает транслятор, производя синтаксический анализ текста программы. Транслятор выявляет ошибки и сообщает о них, указывая их тип и место в программе. Такие ошибки называются ошибками времени трансляции или синтаксическими ошибками.
Ошибочные ситуации могут возникнуть и при выполнении программы, например, деление на нуль или извлечение корня квадратного из отрицательного числа. Такие ошибки называются ошибками времени выполнения.
Программа, не имеющая ошибок трансляции и выполнения, может и не дать верных результатов из-за логических ошибок в алгоритме, т. е. алгоритмических или семантических ошибок. Ошибки подобного рода могут возникнуть на любом этапе разработки программы: постановки задачи, разработке математической модели или алгоритма. Необходим действенный контроль над процессом вычислений, позволяющий предотвращать или своевременно обнаруживать ошибки подобного рода. Для этого используются как качественный анализ задачи, основанный на различного рода интуитивных соображениях и правдоподобных рассуждениях, так и контрольный просчет или тестирование программы.
Тестирование программы – это выполнение программы на наборах исходных данных (тестах), для которых известны результаты, полученные другим методом. Система тестов подбирается таким образом, чтобы
а) проверить все возможные режимы работы программы;
б) по возможности, локализовать ошибку.
При тестировании программы простой и действенный метод дополнительного контроля над ходом её выполнения – получение контрольных точек, т. е. контрольный вывод промежуточных результатов.
Для проверки правильности работы программы иногда полезно также выполнить проверку выполнения условий задачи (например, для алгебраического уравнения найденные корни подставляются в исходное уравнение и проверяются расхождения левой и правой частей).
33. ВИДЫ ОШИБОК В ПРОГРАММАХ
Об ошибках в программе сигнализируют некорректная работоспособность программы либо ее полное невыполнение. В наше время для обозначения ошибки в программе используют термин «Баг» (с англ. Bug-жук).
Есть несколько типов ошибок:
1) Логическая ошибка. Это, пожалуй, наиболее серьезная из всех ошибок. Когда написанная программа на любом языке компилирует и работает правильно, но выдает неправильный вывод, недостаток заключается в логике основного программирования. Это ошибка, которая была унаследована от недостатка в базовом алгоритме. Сама логика, на которой базируется вся программа, является ущербной. Чтобы найти решение такой ошибки нужно фундаментальное изменение алгоритма. Вам нужно начать копать в алгоритмическом уровне, чтобы сузить область поиска такой ошибки. (пример: задача программы вывести сумму двух чисел а и b.
varc,a,b:integer;
2) Синтаксическая ошибка.Каждый компьютерный язык, такой как C, Java, Perl и Python имеет специфический синтаксис, в котором будет написан код. Когда программист не придерживаться "грамматики" спецификациями компьютерного языка, возникнет ошибка синтаксиса. Такого рода ошибки легко устраняются на этапе компиляции.
3) Ошибка компиляции.Компиляция это процесс, в котором программа, написанная на языке высокого уровня, преобразуется в машиночитаемую форму. Многие виды ошибок могут происходить на этом этапе, в том числе и синтаксические ошибки. Иногда, синтаксис исходного кода может быть безупречным, но ошибка компиляции все же может произойти. Это может быть связано с проблемами в самом компиляторе. Эти ошибки исправляются на стадии разработки.
vara:array[1..5] of integer;
6) Ошибки ресурса. Ошибка ресурса возникает, когда значение переменной переполняет максимально допустимое значение. Переполнение буфера, использование неинициализированной переменной, нарушение прав доступа и переполнение стека - примеры некоторых распространенных ошибок.
vara:integer;
7) Ошибка взаимодействия. Они могут возникнуть в связи с несоответствием программного обеспечения с аппаратным интерфейсом или интерфейсом прикладного программирования. В случае веб-приложений, ошибка интерфейса может быть результатом неправильного использования веб-протоколов
Синтаксические ошибки – это ошибки в записи конструкций языка программирования (чисел, переменных, функций, выражений, операторов, меток, подпрограмм).
Семантические ошибки – это ошибки, связанные с неправильным содержанием действий и использованием недопустимых значений величин.
Тест по информатике Решение задач на компьютере 9 класс с ответами. Тест включает в себя 2 варианта. В каждом варианте по 6 заданий.
Вариант 1
1. На этапе постановки задачи:
1) определяются входные и выходные данные
2) проверяется правильность выполнения программы
3) строится алгоритм
4) составляется программа
1) значения корней уравнения
2) значения коэффициентов уравнения
3) формула вычисления дискриминанта
4) график квадратичной функции
3. Синтаксические ошибки в программе помогает обнаружить:
1) операционная система
2) текстовый редактор
3) система программирования
4) разработка специальных тестов
4. На этапе программирования осуществляется:
1) постановка задачи
2) составление программы на алгоритмическом языке
3) отладка и тестирование
4) описание математической модели
5. Выявление и исправление ошибок в программе осуществляется на этапе:
1) алгоритмизации
2) программирования
3) формализации
4) отладки и тестирования
6. Запишите, как называется применяемый для проверки работоспособности программы конкретный вариант значений исходных данных, для которого известен ожидаемый результат.
Вариант 2
1. На этапе программирования:
1) определяются входные и выходные данные
2) проверяется правильность выполнения программы
3) строится алгоритм
4) составляется программа
2. Математическая модель для программы, вычисляющей корни квадратного уравнения:
1) значения корней уравнения
2) значения коэффициентов уравнения
3) формулы вычисления дискриминанта и корней
4) график квадратичной функции
3. О правильности разработанной программы может свидетельствовать:
1) вывод данных на печать
2) соответствие полученных результатов экспериментальным фактам
3) отсутствие синтаксических ошибок
4) любые результаты
4. Компьютерным экспериментом называют этап:
1) постановки задачи
2) составления программы на алгоритмическом языке
3) отладки и тестирования
4) описания математической модели
5. Для построения математической модели необходимо:
1) описать входные и выходные данные
2) построить алгоритм
3) записать алгоритм на одном из языков программирования
4) проанализировать объект или процесс и обработать числовые данные
6. Запишите, как называется процесс проверки работоспособности программы и исправления обнаруженных при этом ошибок.
Ответы на тест по информатике Решение задач на компьютере 9 класс
Вариант 1
1-1
2-2
3-3
4-2
5-4
6. тест
Вариант 2
1-4
2-3
3-2
4-3
5-4
6. отладка программы
Обращаем Ваше внимание, что в соответствии с Федеральным законом N 273-ФЗ «Об образовании в Российской Федерации» в организациях, осуществляющих образовательную деятельность, организовывается обучение и воспитание обучающихся с ОВЗ как совместно с другими обучающимися, так и в отдельных классах или группах.
Рабочие листы и материалы для учителей и воспитателей
Более 2 500 дидактических материалов для школьного и домашнего обучения
Столичный центр образовательных технологий г. Москва
Получите квалификацию учитель математики за 2 месяца
от 3 170 руб. 1900 руб.
Количество часов 300 ч. / 600 ч.
Успеть записаться со скидкой
Форма обучения дистанционная
- Онлайн
формат - Диплом
гособразца - Помощь в трудоустройстве
Видеолекции для
профессионалов
- Свидетельства для портфолио
- Вечный доступ за 120 рублей
- 311 видеолекции для каждого
А1. На этапе постановки задачи
1) составляется программа
2) проверяется правильность выполнения программы
3) строится алгоритм
4) определяются входные и выходные данные
1) значения корней уравнения
2) формула вычисления дискриминанта
3) значения коэффициентов уравнения
4) график квадратичной функции
А3. Синтаксические ошибки в программе помогает обнаружить
1) система программирования
2) текстовый редактор
3) операционная система
4) разработка специальных тестов
А4. На этапе программирования осуществляется
1) постановка задачи
2) составление программы на алгоритмическом языке
3) отладка и тестирование
4) описание математической модели
А5. Выявление и исправление ошибок в программе осуществляется на этапе
1) отладки и тестирования
2) программирования
3) формализации
4) алгоритмизации
В1. Запишите, как называется применяемый для проверки работоспособности программы конкретный вариант значений исходных данных, для которого известен ожидаемый результат.
2 вариант
А1. На этапе программирования
1) определяются входные и выходные данные
2) составляется программа
3) строится алгоритм
4) проверяется правильность выполнения программы
А2. Математическая модель для программы, вычисляющей корни квадратного уравнения
1) значения корней уравнения
2) значения коэффициентов уравнения
3) график квадратичной функции
4) формулы вычисления дискриминанта и корней
А3. О правильности разработанной программы может свидетельствовать
1) вывод данных на печать
2) отсутствие синтаксических ошибок
3) соответствие полученных результатов экспериментальным фактам
4) любые результаты
А4. Компьютерным экспериментом называют этап
1) постановки задачи
2) отладки и тестирования
3) составления программы на алгоритмическом языке
4) описания математической модели
А5. Для построения математической модели необходимо
1) описать входные и выходные данные
2) построить алгоритм
3) записать алгоритм на одном из языков программирования
4) проанализировать объект или процесс и обработать числовые данные
В1. Запишите, как называется процесс проверки работоспособности программы и исправления обнаруженных при этом ошибок.
А1. На этапе постановки задачи
1) составляется программа
2) проверяется правильность выполнения программы
3) строится алгоритм
4) определяются входные и выходные данные
1) значения корней уравнения
2) формула вычисления дискриминанта
3) значения коэффициентов уравнения
4) график квадратичной функции
А3. Синтаксические ошибки в программе помогает обнаружить
1) система программирования
2) текстовый редактор
3) операционная система
4) разработка специальных тестов
А4. На этапе программирования осуществляется
1) постановка задачи
2) составление программы на алгоритмическом языке
3) отладка и тестирование
4) описание математической модели
А5. Выявление и исправление ошибок в программе осуществляется на этапе
1) отладки и тестирования
2) программирования
3) формализации
4) алгоритмизации
В1. Запишите, как называется применяемый для проверки работоспособности программы конкретный вариант значений исходных данных, для которого известен ожидаемый результат.
2 вариант
А1. На этапе программирования
1) определяются входные и выходные данные
2) составляется программа
3) строится алгоритм
4) проверяется правильность выполнения программы
А2. Математическая модель для программы, вычисляющей корни квадратного уравнения
1) значения корней уравнения
2) значения коэффициентов уравнения
3) график квадратичной функции
4) формулы вычисления дискриминанта и корней
А3. О правильности разработанной программы может свидетельствовать
1) вывод данных на печать
2) отсутствие синтаксических ошибок
3) соответствие полученных результатов экспериментальным фактам
4) любые результаты
А4. Компьютерным экспериментом называют этап
1) постановки задачи
2) отладки и тестирования
3) составления программы на алгоритмическом языке
4) описания математической модели
А5. Для построения математической модели необходимо
1) описать входные и выходные данные
2) построить алгоритм
3) записать алгоритм на одном из языков программирования
4) проанализировать объект или процесс и обработать числовые данные
В1. Запишите, как называется процесс проверки работоспособности программы и исправления обнаруженных при этом ошибок.
Ответы на тест по информатике Решение задач на компьютере
1 вариант
А1-4
А2-3
А3-1
А4-2
А5-1
В1. тест
2 вариант
А1-2
А2-4
А3-3
А4-2
А5-4
В1. отладка программы
В предыдущей части мы рассмотрели исходный код и его составляющие.
После того, как вы начнете проверять фрагменты кода или попытаетесь решить связанные с ним проблемы, вы очень скоро поймете, что существуют моменты, когда программа крашится, прерывается и прекращает работу.
Это часто вызвано ошибками, известными как дефекты или исключительные ситуации во время выполнения. Акт обнаружения и удаления ошибок из нашего кода – это отладка программы. Вы лучше разберетесь в отладке на практике, используя ее как можно чаще. Мы не только отлаживаем собственный код, но и порой дебажим написанное другими программистами.
Для начала необходимо рассортировать общие ошибки, которые могут возникнуть в исходном коде.
Синтаксические ошибки
Эти эрроры не позволяют скомпилировать исходный код на компилируемых языках программирования. Они обнаруживаются во время компиляции или интерпретации исходного кода. Они также могут быть легко обнаружены статическими анализаторами (линтами). Подробнее о линтах мы узнаем немного позже.
Синтаксические ошибки в основном вызваны нарушением ожидаемой формы или структуры языка, на котором пишется программа. Как пример, это может быть отсутствующая закрывающая скобка в уравнении.
Семантические ошибки
Отладка программы может потребоваться и по причине семантических ошибок, также известных как логические. Они являются наиболее сложными из всех, потому что не могут быть легко обнаружены. Признак того, что существует семантическая ошибка, – это когда программа запускается, отрабатывает, но не дает желаемого результата.
Рассмотрим данный пример:
По порядку приоритета, называемому старшинством операции, с учетом математических правил мы ожидаем, что сначала будет оценена часть умножения, и окончательный результат будет равен 33. Если программист хотел, чтобы сначала происходило добавление двух чисел, следовало поступить иначе. Для этого используются круглые скобки, которые отвечают за смещение приоритетов в математической формуле. Исправленный пример должен выглядеть так:
3 + 5, заключенные в скобки, дадут желаемый результат, а именно 48.
Ошибки в процессе выполнения
Как и семантические, ошибки во время выполнения никогда не обнаруживаются при компиляции. В отличие от семантических ошибок, эти прерывают программу и препятствуют ее дальнейшему выполнению. Они обычно вызваны неожиданным результатом некоторых вычислений в исходном коде.
Вот хороший пример:
Фрагмент кода выше будет скомпилирован успешно, но input 25 приведет к ZeroDivisionError. Это ошибка во время выполнения. Другим популярным примером является StackOverflowError или IndexOutofBoundError. Важно то, что вы идентифицируете эти ошибки и узнаете, как с ними бороться.
Существуют ошибки, связанные с тем, как ваш исходный код использует память и пространство на платформе или в среде, в которой он запущен. Они также являются ошибками во время выполнения. Такие ошибки, как OutOfMemoryErrorand и HeapError обычно вызваны тем, что ваш исходный код использует слишком много ресурсов. Хорошее знание алгоритмов поможет написать код, который лучше использует ресурсы. В этом и заключается отладка программы.
Процесс перезаписи кода для повышения производительности называется оптимизацией. Менее популярное наименование процесса – рефакторинг. Поскольку вы тратите больше времени на кодинг, то должны иметь это в виду.
Отладка программы
Вот несколько советов о том, как правильно выполнять отладку:
- Использовать Linters. Linters – это инструменты, которые помогают считывать исходный код, чтобы проверить, соответствует ли он ожидаемому стандарту на выбранном языке программирования. Существуют линты для многих языков.
- Превалирование IDE над простыми редакторами. Вы можете выбрать IDE, разработанную для языка, который изучаете. IDE – это интегрированные среды разработки. Они созданы для написания, отладки, компиляции и запуска кода. Jetbrains создают отличные IDE, такие как Webstorm и IntelliJ. Также есть NetBeans, Komodo, Qt, Android Studio, XCode (поставляется с Mac), etc.
- Чтение кода вслух. Это полезно, когда вы ищете семантическую ошибку. Читая свой код вслух, есть большая вероятность, что вы зачитаете и ошибку.
- Чтение логов. Когда компилятор отмечает Error, обязательно посмотрите, где он находится.
Двигаемся дальше
Поздравляем! Слово «ошибка» уже привычно для вас, равно как и «отладка программы». В качестве новичка вы можете изучать кодинг по книгам, онлайн-урокам или видео. И даже чужой код вам теперь не страшен :)
В процессе кодинга измените что-нибудь, чтобы понять, как он работает. Но будьте уверены в том, что сами написали.
Сайт учителя информатики. Технологические карты уроков, Подготовка к ОГЭ и ЕГЭ, полезный материал и многое другое.
Информатика. 9 класса. Босова Л.Л. Оглавление
Ключевые слова:
- постановка задачи
- формализация
- алгоритмизация
- программирование
- отладка и тестирование
Этапы решения задачи на компьютере
Чтобы решать задачи на компьютере, необходимо владеть языком программирования, обладать знаниями в области информационного моделирования и алгоритмизации.
Решение задачи с использованием компьютера включает в себя этапы, показанные на рис. 2.1.
На первом этапе обычно осуществляется постановка задачи, происходит осознание её условия. При этом должно быть чётко определено, что дано (какие исходные данные известны, какие данные допустимы) и что требуется найти в решаемой задаче. Также должны быть чётко выделены существенные свойства рассматриваемого объекта, указаны связи между исходными данными и результатами.
На втором этапе описательная информационная модель формализуется, т. е. записывается с помощью некоторого формального языка.
Для этого требуется:
- понять, к какому классу принадлежит рассматриваемая задача;
- записать известные связи между исходными данными и результатами с помощью математических соотношений;
- выбрать наиболее подходящий способ для решения задачи.
На третьем этапе осуществляется построение алгоритма — чёткой инструкции, задающей необходимую последовательность действий для решения задачи. Алгоритм чаще всего представляется в форме блок-схемы ввиду её наглядности и универсальности.
На четвёртом этапе алгоритм записывается на одном из языков программирования. Вы учитесь записывать программы на языке Паскаль.
На пятом этапе осуществляется отладка и тестирование программы. Этап отладки и тестирования также называют компьютерным экспериментом.
Проверка правильности разработанной программы осуществляется с помощью тестов. Тест — это конкретный вариант значений исходных данных, для которого известен ожидаемый результат.
О правильности разработанной программы свидетельствует также соответствие полученных данных экспериментальным фактам, теоретическим положениям и т. д. При этом может возникнуть необходимость уточнить разработанную математическую модель, полнее учесть особенности изучаемого объекта или процесса. По уточнённой математической модели снова составляется программа, анализируются результаты её выполнения. Так продолжается до тех пор, пока полученные результаты не будут достаточно точно соответствовать изучаемому объекту.
Задача о пути торможения автомобиля
Рассмотрим последовательность прохождения этапов решения задачи на компьютере (см. рис. 2.1) на примере простой задачи.
Водитель автомобиля, движущегося с некоторой постоянной скоростью, увидев красный свет светофора, нажал на тормоз. После этого скорость автомобиля стала уменьшаться каждую секунду на 5 метров. Требуется найти расстояние, которое автомобиль пройдёт до полной остановки.
Первый этап.
- ?0x — начальная скорость;
- ?x — конечная скорость (равна нулю, так как автомобиль остановился);
- ах — ускорение (равно -5 м/с).
Требуется найти: sx — расстояние, которое автомобиль пройдёт до полной остановки.
Второй этап. В данной ситуации мы имеем дело с прямолинейным равноускоренным движением тела. Формула для перемещения при этом имеет вид:
Упростим эту формулу с учётом того, что конечная скорость равна нулю:
При аx = -5 м/с получим:
Третий этап. Представим алгоритм решения задачи в виде блок-схемы:
Четвёртый этап. Запишем данный алгоритм на языке программирования Паскаль:
- program n_1;
- var v0, s: real;
- begin
- writeln(‘Вычисление длины пути торможения автомобиля’);
- write(‘Введите начальную скорость (м/с)»’);
- readln (v0); s:=v0*v0/10;
- writeln (‘До полной остановки автомобиль пройдёт ‘ , s : 8 : 4, ‘ м. ‘)
- end.
Пятый этап. Протестировать составленную программу можно, используя информацию, что при скорости 72 км/ч с начала торможения до полной остановки автомобиль проходит 40 метров.
Выполнив программу несколько раз при различных исходных данных, можно сделать вывод: чем больше начальная скорость автомобиля, тем большее расстояние он пройдёт с начала торможения до полной остановки.
Применяя компьютер для решения задач, всегда следует помнить, что наряду с огромным быстродействием и абсолютной исполнительностью у компьютера отсутствуют интуиция и чувство здравого смысла, и он способен решать только ту задачу, программу решения которой ему подготовил человек.
САМОЕ ГЛАВНОЕ
Этапы решения задачи с использованием компьютера:1) постановка задачи;
2) формализация;
3) алгоритмизация;
4) программирование;
5) компьютерный эксперимент.Для решения задач на компьютере необходимо владеть языком программирования, обладать знаниями в области информационного моделирования и алгоритмизации.
Вопросы и задания к § 2.1. Решение задач на компьютере
1. Ознакомьтесь с материалами презентации к параграфу, содержащейся в электронном приложении к учебнику. Какими слайдами вы могли бы дополнить презентацию?
Читайте также: