Синтаксические ошибки в программе помогает обнаружить

Обновлено: 07.07.2024

Сайт учителя информатики. Технологические карты уроков, Подготовка к ОГЭ и ЕГЭ, полезный материал и многое другое.

Информатика. 9 класса. Босова Л.Л. Оглавление

Ключевые слова:

  • постановка задачи
  • формализация
  • алгоритмизация
  • программирование
  • отладка и тестирование

Этапы решения задачи на компьютере

Чтобы решать задачи на компьютере, необходимо владеть языком программирования, обладать знаниями в области информационного моделирования и алгоритмизации.

Решение задачи с использованием компьютера включает в себя этапы, показанные на рис. 2.1.

На первом этапе обычно осуществляется постановка задачи, происходит осознание её условия. При этом должно быть чётко определено, что дано (какие исходные данные известны, какие данные допустимы) и что требуется найти в решаемой задаче. Также должны быть чётко выделены существенные свойства рассматриваемого объекта, указаны связи между исходными данными и результатами.

На втором этапе описательная информационная модель формализуется, т. е. записывается с помощью некоторого формального языка.


Для этого требуется:

  • понять, к какому классу принадлежит рассматриваемая задача;
  • записать известные связи между исходными данными и результатами с помощью математических соотношений;
  • выбрать наиболее подходящий способ для решения задачи.

На третьем этапе осуществляется построение алгоритма — чёткой инструкции, задающей необходимую последовательность действий для решения задачи. Алгоритм чаще всего представляется в форме блок-схемы ввиду её наглядности и универсальности.

На четвёртом этапе алгоритм записывается на одном из языков программирования. Вы учитесь записывать программы на языке Паскаль.

На пятом этапе осуществляется отладка и тестирование программы. Этап отладки и тестирования также называют компьютерным экспериментом.

Проверка правильности разработанной программы осуществляется с помощью тестов. Тест — это конкретный вариант значений исходных данных, для которого известен ожидаемый результат.

О правильности разработанной программы свидетельствует также соответствие полученных данных экспериментальным фактам, теоретическим положениям и т. д. При этом может возникнуть необходимость уточнить разработанную математическую модель, полнее учесть особенности изучаемого объекта или процесса. По уточнённой математической модели снова составляется программа, анализируются результаты её выполнения. Так продолжается до тех пор, пока полученные результаты не будут достаточно точно соответствовать изучаемому объекту.

Задача о пути торможения автомобиля

Рассмотрим последовательность прохождения этапов решения задачи на компьютере (см. рис. 2.1) на примере простой задачи.

Водитель автомобиля, движущегося с некоторой постоянной скоростью, увидев красный свет светофора, нажал на тормоз. После этого скорость автомобиля стала уменьшаться каждую секунду на 5 метров. Требуется найти расстояние, которое автомобиль пройдёт до полной остановки.

Первый этап.

  • υ0x — начальная скорость;
  • υx — конечная скорость (равна нулю, так как автомобиль остановился);
  • ах — ускорение (равно -5 м/с).

Требуется найти: sx — расстояние, которое автомобиль пройдёт до полной остановки.

Второй этап. В данной ситуации мы имеем дело с прямолинейным равноускоренным движением тела. Формула для перемещения при этом имеет вид:


Упростим эту формулу с учётом того, что конечная скорость равна нулю:


При аx = -5 м/с получим:


Третий этап. Представим алгоритм решения задачи в виде блок-схемы:


Четвёртый этап. Запишем данный алгоритм на языке программирования Паскаль:

Пятый этап. Протестировать составленную программу можно, используя информацию, что при скорости 72 км/ч с начала торможения до полной остановки автомобиль проходит 40 метров.

Выполнив программу несколько раз при различных исходных данных, можно сделать вывод: чем больше начальная скорость автомобиля, тем большее расстояние он пройдёт с начала торможения до полной остановки.

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

САМОЕ ГЛАВНОЕ

Этапы решения задачи с использованием компьютера:1) постановка задачи;
2) формализация;
3) алгоритмизация;
4) программирование;
5) компьютерный эксперимент.Для решения задач на компьютере необходимо владеть языком программирования, обладать знаниями в области информационного моделирования и алгоритмизации.

Вопросы и задания к § 2.1. Решение задач на компьютере

1. Ознакомьтесь с материалами презентации к параграфу, содержащейся в электронном приложении к учебнику. Какими слайдами вы могли бы дополнить презентацию?

Тест по информатике Решение задач на компьютере 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. отладка программы

Тест по информатике Решение задач на компьютере с ответами для учащихся 9 класса. Тест включает в себя 2 варианта, каждый вариант состоит из 2 частей (часть А, часть В). В части А — 5 заданий, в части В — 1 задание.

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-1
А2-2
А3-3
А4-2
А5-4
В1. тест
2 вариант
А1-4
А2-3
А3-2
А4-3
А5-4
В1. отладка программы

В предыдущей части мы рассмотрели исходный код и его составляющие.

После того, как вы начнете проверять фрагменты кода или попытаетесь решить связанные с ним проблемы, вы очень скоро поймете, что существуют моменты, когда программа крашится, прерывается и прекращает работу.

Отладка программы

Это часто вызвано ошибками, известными как дефекты или исключительные ситуации во время выполнения. Акт обнаружения и удаления ошибок из нашего кода – это отладка программы. Вы лучше разберетесь в отладке на практике, используя ее как можно чаще. Мы не только отлаживаем собственный код, но и порой дебажим написанное другими программистами.

Для начала необходимо рассортировать общие ошибки, которые могут возникнуть в исходном коде.

отладка программы

Синтаксические ошибки

Эти эрроры не позволяют скомпилировать исходный код на компилируемых языках программирования. Они обнаруживаются во время компиляции или интерпретации исходного кода. Они также могут быть легко обнаружены статическими анализаторами (линтами). Подробнее о линтах мы узнаем немного позже.

Синтаксические ошибки в основном вызваны нарушением ожидаемой формы или структуры языка, на котором пишется программа. Как пример, это может быть отсутствующая закрывающая скобка в уравнении.

Семантические ошибки

Отладка программы может потребоваться и по причине семантических ошибок, также известных как логические. Они являются наиболее сложными из всех, потому что не могут быть легко обнаружены. Признак того, что существует семантическая ошибка, – это когда программа запускается, отрабатывает, но не дает желаемого результата.

Рассмотрим данный пример:

По порядку приоритета, называемому старшинством операции, с учетом математических правил мы ожидаем, что сначала будет оценена часть умножения, и окончательный результат будет равен 33. Если программист хотел, чтобы сначала происходило добавление двух чисел, следовало поступить иначе. Для этого используются круглые скобки, которые отвечают за смещение приоритетов в математической формуле. Исправленный пример должен выглядеть так:

3 + 5, заключенные в скобки, дадут желаемый результат, а именно 48.

Ошибки в процессе выполнения

Как и семантические, ошибки во время выполнения никогда не обнаруживаются при компиляции. В отличие от семантических ошибок, эти прерывают программу и препятствуют ее дальнейшему выполнению. Они обычно вызваны неожиданным результатом некоторых вычислений в исходном коде.

Вот хороший пример:

Фрагмент кода выше будет скомпилирован успешно, но input 25 приведет к ZeroDivisionError. Это ошибка во время выполнения. Другим популярным примером является StackOverflowError или IndexOutofBoundError. Важно то, что вы идентифицируете эти ошибки и узнаете, как с ними бороться.

Существуют ошибки, связанные с тем, как ваш исходный код использует память и пространство на платформе или в среде, в которой он запущен. Они также являются ошибками во время выполнения. Такие ошибки, как OutOfMemoryErrorand и HeapError обычно вызваны тем, что ваш исходный код использует слишком много ресурсов. Хорошее знание алгоритмов поможет написать код, который лучше использует ресурсы. В этом и заключается отладка программы.

Процесс перезаписи кода для повышения производительности называется оптимизацией. Менее популярное наименование процесса – рефакторинг. Поскольку вы тратите больше времени на кодинг, то должны иметь это в виду.

Отладка программы

Вот несколько советов о том, как правильно выполнять отладку:

  1. Использовать Linters. Linters – это инструменты, которые помогают считывать исходный код, чтобы проверить, соответствует ли он ожидаемому стандарту на выбранном языке программирования. Существуют линты для многих языков.
  2. Превалирование IDE над простыми редакторами. Вы можете выбрать IDE, разработанную для языка, который изучаете. IDE – это интегрированные среды разработки. Они созданы для написания, отладки, компиляции и запуска кода. Jetbrains создают отличные IDE, такие как Webstorm и IntelliJ. Также есть NetBeans, Komodo, Qt, Android Studio, XCode (поставляется с Mac), etc.
  3. Чтение кода вслух. Это полезно, когда вы ищете семантическую ошибку. Читая свой код вслух, есть большая вероятность, что вы зачитаете и ошибку.
  4. Чтение логов. Когда компилятор отмечает Error, обязательно посмотрите, где он находится.

Двигаемся дальше

Поздравляем! Слово «ошибка» уже привычно для вас, равно как и «отладка программы». В качестве новичка вы можете изучать кодинг по книгам, онлайн-урокам или видео. И даже чужой код вам теперь не страшен :)

В процессе кодинга измените что-нибудь, чтобы понять, как он работает. Но будьте уверены в том, что сами написали.


  • значения корней уравнения
  • значения коэффициентов уравнения
  • формула вычисления дискриминанта
  • график квадратичной функции
Вопрос 3

Математическая модель для программы, вычисляющей корни квадратного уравнения:

  • значения корней уравнения
  • значения коэффициентов уравнения
  • формулы вычисления дискриминанта и корней
  • график квадратичной функции
Вопрос 4

На этапе программирования:

  • определяются входные и выходные данные
  • проверяется правильность выполнения программы
  • строится алгоритм
  • составляется программа
Вопрос 5

Синтаксические ошибки в программе помогает обнаружить:

  • операционная программа
  • текстовый редактор
  • система программирования
  • разработка специальных тестов
Вопрос 6

О правильности разработанной программы может свидетельствовать:

  • вывод данных на печать
  • соответствие полученных результатов экспериментальным фактам
  • отсутствие синтаксических ошибок
  • любые результаты
Вопрос 7

На этапе программирования осуществляется:

  • постановка задачи
  • составление программы на алгоритмическом языке
  • отладка и тестирование
  • описание математической модели
Вопрос 8

Компьютерным экспериментом называют этап:

  • постановка задачи
  • составление программы на алгоритмическом языке
  • отладка и тестирование
  • описание математической модели
Вопрос 9

Выявление и исправление ошибок в программе осуществляется на этапе:

  • алгоритмизации
  • программирования
  • формализации
  • отладки и тестирования
Вопрос 10

Что является результатом этапа "формализация" решения задачи на компьютере?

Вопрос 11

Запишите, как называется применяемый для проверки работоспособности программы конкретный вариант значений исходных данных, для которого известен ожидаемый результат

Вопрос 12

Результатом какого этапа решения задачи на компьютере является АЛГОРИТМ?

Вопрос 13

Расположите этапы решения задач на компьютере в порядке следования:

  • Постановка задачи
  • Формализация
  • Алгоритмизация
  • Программирование
  • Отладка и тестирование
  • Выполнение расчетов
Вопрос 14

Поставьте в соответствие этап решения задачи на компьютере и получаемый результат:

Читайте также: