Еуроки > Skysmart > 8 класс > 🖥 Информатика > При выполнении какой строки данной программы будет ошибка?
При выполнении какой строки данной программы будет ошибка? | Skysmart

Тема
При выполнении какой строки данной программы будет ошибка?

Тип
Skysmart

Предмет
Информатика

Класс
8 класс
Ответ или решение
-
program delenie;
-
var x, y, res: integer;
-
begin
-
x:=17;
-
y:=4;
-
res:=x/y;
-
write(res);
-
end.
Ответ: 6.
Содержание
Skysmart на схожие темы
-
Посмотри внимательно на программу и определи, в каком из основных структурных блоков программы Ваня допустил ошибку.
-
Представь десятичные числа в развёрнутой форме по образцу.
-
Представь дробные десятичные числа в развёрнутой форме по примеру:
-
Преобразуй вещественные числа.
-
Преобразуй цикл с постусловием в цикл с параметром так, чтобы результат его работы не изменился.
-
При каких значениях m и n сообщение будет выведено 5 раз?
-
При каких предложенных условиях новый цикл сработает так же, как изначальный?
-
При переводе какой блок-схемы на язык программирования Паскаль нужно использовать составной оператор?
-
При решение каких задач имеет смысл использовать имитационное моделирование?
-
Программа должна возвести число 2 в степень N, выбери порядок команд для выполнения этой задачи.
annamatveeva8
+20
Решено
9 месяцев назад
Информатика
Студенческий
1. При выполнении какой строки данной программы будет ошибка?
2. Какую строку нужно исправить для корректной работы программы?
В ответ запишите номер строки
ПОМОГИТЕ ПОЖАЛУЙСТА!!!! СРОЧНО НУЖНО!!!
Смотреть ответ
Ответ
5
(1 оценка)
0
![]()
mrshaxmerdenov001
9 месяцев назад
Светило науки — 21 ответ — 0 раз оказано помощи
Ответ:
Ошибка будет в шестой строке, исправить нужно вторую строку, заменив тип данных integer на real.
(1 оценка)
Остались вопросы?
Задай вопрос
Найди нужный
Новые вопросы по предмету Математика
Тема: Функції. Частина 2 Завдання 1 Функція для обчислення факторіалу числа Завдання 2 Функція виведення таблиці множення для зазначеного числа …
(Python) Дати відповідь на запитання. Допоможіть даю 50 балів
1. Из каких трех частей состоит функция ЕСЛИ? Необходима ли последняя часть?
Домашнее задание Собери буквы в ячейках по цвету и найди термина относящиеся к теме. Д ячейках. каждый ученик. Л Т Д ЛA P A И И P A E T И В А 3 …
срочно помогите!, дам 90 баловв Создать массив из 20 фруктов. Вывести на экран 3й, 5й, 8й, 11й, 17й, 19й, 20й
Обновлено: 29.01.2023
begin
program MyFirst;
X:=Y+195;
end.
program MyProg;
begin
Writeln (‘ Привет ’);
end.
11. Расположите в правильном порядке строки программы, вычисляющей периметр и площадь параллелограмма:
6) var a,b,h,p,s: integer;
12. Дан текст программы в таблице с ошибками:
исправьте ошибки в программе;
что выведется на экран в результате выполнения программы?
Программа с ошибками
Программа без ошибок
На экране будет напечатано:
War: a,b,c – integer, x: real;
Writln ( summa= , c);
Writeln(‘x=’ , x, ‘kvadrat=’ , x*x);
13. Перевести блок-схему на язык Паскаль.
Вычисление расстояния между точками А и B.
Ответы к проверочной работе:
2. с) И92 е) 45_А i) fg_л23
а ) A:=3.234 а ) Integer
b) Z:=14 b) Real
c) B:=10351 c) Byte
d) K:=-0.2 d) Word
5. var x,y,k:real; b:integer;
а) Var а) Раздел операторов
b) Program b) Раздел имени программы
c) Uses c) Раздел описания переменных
d) Begin …end d) Раздел описания библиотечных модулей
a ) Write ©; — не соответствует формату оператора
b ) Writeln ;
c ) Writeln (Введите любое число); фраза в скобках должна быть в апострофах
d ) Write X , Y ; не хватает скобок
e ) WRITELN (‘воскресенье, нерабочий день’);
10. Верна программа слева.
11. Верный порядок следования строк: 3, 5, 6, 11, 10, 9, 4, 1, 8, 7, 2
12. Программа без ошибок:
Var: a,b:integer, x,c: real;
Writeln ( ‘summa=’ , c:1:1);
Writeln(‘x=’ , x:1:1, ‘kvadrat=’ , (x*x):1:2);
На экране будет напечатано: summa=5.1
Выбранный для просмотра документ сопр письмо.doc
o ФИО полностью : Габинет Валентина Ивановна
o Должность: учитель информатики
o квалификациионная категория: высшая
o место работы (образовательное учреждение): МОУ «Гимназия №26» г.Омск
o Республика/край, город/поселение: Омская обл. г. Омск
o контактный для пользователей e-mail: gabinet. valentina 2011@ yandex . ru
o тема урока: проверка знаний по операторам Паскаля
o предмет: информатика
o класс/группа: 9 класс
o использованные источники и литература
o ключевые слова или опорные понятия через запятую , например, информатика, операторы Паскаля, структура программы, блок-схема, типы данных.
Выбранный для просмотра документ ‚ ¦®!.txt
Данный материал был скачан с сайта www . metod — kopilka . ru
. Орфография и форматирование автора материала.
Образовательно-информационный ресурс для учителей информатики,
учащихся и всех-всех, кто интересуется ИТ:
Организационные, методические и нормативные документы,
лабораторно-практические работы (комплекс занятий по MS Word, MS Excel,
MS Access, MS PowerPaint, Paint, Move Maker и др. прикладным программам),
лекции,конспекты, дидактический материал, занимательная информатика,
экзамен, проектная деятельность, презентации.
Все в свободном доступе! Без регистрации!
P.S. Единственным источником дохода сайта является переход по рекламным ссылкам.
Если ресурс оказался Вам полезен, потратьте 1 минуту времени и кликните любой рекламный блок на сайте.
Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.
- подготовка к ЕГЭ/ОГЭ и ВПР
- по всем предметам 1-11 классов
Ищем студентов
для работы онлайн
в проекте «Инфоурок»
Курс повышения квалификации
Дистанционное обучение как современный формат преподавания
- Сейчас обучается 822 человека из 77 регионов

Курс повышения квалификации
Современные педтехнологии в деятельности учителя
- Курс добавлен 23.09.2021
- Сейчас обучается 47 человек из 23 регионов
Курс профессиональной переподготовки
Математика и информатика: теория и методика преподавания в образовательной организации
- Свидетельство каждому участнику
- Скидка на курсы для всех участников
Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:
также Вы можете выбрать тип материала:
Краткое описание документа:
1. Запишите следующее выражение по правилам программирования: 2. Выпишите недопустимые имена переменных: a) Nomer; b) S34; c) И92; d) Kol_vo54; e) 45_A; i) fg-л23 3. Установите соответствие (с помощью стрелок) между переменной и типом данных: а) A:=3.234 а) Integer b) Z:=14 b) Real c) B:=10351 c) Byte d) K:=-0.2 d) Word e) C:= 64000 4. Запишите инструкцию: а) присваивающую переменной V значение 7; б) увеличивающую значение переменной Z на 30; в) вычисляющую значение переменной R по формуле (X2+Y2):2; 5. Опишите переменные, необходимые для вычисления: при x=-5.3, y=7.42 6. Напишите инструкцию вывода на экран: а) вашего имени б) числа 400 в) значения выражения 7,3(3,22+8,61) 7. Определите, какое значение примет переменная С в результате выполнения данной последовательности операторов присваивания: a:=8; b:=a/2; c:=43 mod a; a:=(b+c) div 6; b:=b+1; c:=sqrt(abs(a*b-14)); 8. Установите соответствие между служебными словами и названиями разделов программы: а) Var а) Раздел операторов b) Program b) Раздел имени программы c) Uses c) Раздел описания переменных d) Begin …end d) Раздел описания библиотечных модулей 9. Найдите ошибки в записях оператора: a) Write ©; b) Writeln; c) Writeln (Введите любое число); d) Write X,Y; e) WRITELN (‘воскресенье, нерабочий день’); 10. Какая структура программы верная: begin program MyFirst; X:=Y+195; end. program MyProg; begin Writeln (‘Привет’); end. 11. Расположите в правильном порядке строки программы, вычисляющей периметр и площадь параллелограмма: 1) S:=a*h; 6) var a,b,h,p,s: integer; 2) end. 7) readln; 3) program pr; 8) Writeln(‘p=’,p,’ s=’,s); 4) p:=2*(a+b); 9) a:=6;b:=3;h:=4; 5) Uses crt; 10) clrscr; 11) begin 12. Дан текст программы в таблице с ошибками: исправьте ошибки в программе; что выведется на экран в результате выполнения программы? Программа с ошибками Программа без ошибок На экране будет напечатано: War: a,b,c – integer, x: real; Bigin A=7, b=3,2, c:=a+b; Writln (summa=, c); C:=c/2; x:=a-c; Writeln(‘x=’ , x, ‘kvadrat=’, x*x); and 13. Перевести блок-схему на язык Паскаль. Вычисление расстояния между точками А и B.
Приведенная в предыдущем разделе программа запишет в некоторую область памяти число 2, однако внешне это никак не проявится. Нормальная программа должна уметь получать информацию от пользователя и сообщать ему результаты своей работы.
В простейшем случае вывод информации осуществляется процедурами write и writeln. В обоих случаях выводится текст или значения переменных. Отличие этих двух процедур в том, что последовательные вызовы write будут печатать информацию в одной строке, а writeln после каждого вызова переводит курсор на следующую строку. Примеры вызова процедур вывода:
Печатается слово “Hello”.
Напечатается значение переменной x.
В одну строчку напечатается строка «x = » и значение переменной x, то есть в результате будет напечатано «x = 2».
В одну строчку напечатаются значения переменных x и y, то есть «23».
Между значениями x и y будет располагаться пробел.
Значения x и y будут напечатаны на разных строках.
Будет напечатано значение выражения 2*x+y.
Вызов writeln без параметров приводит к переходу на новую строку. Несколько таких вызовов подряд вставят в выводимый текст несколько пустых строк.
Общее правило таково: write и writeln могут печатать значения переменных и произвольные текстовые строки. При этом текстовые строки должны быть взяты в кавычки. Одной процедурой можно вывести несколько значений переменных и строк текста, перечислив выводимые элементы через запятую.
Ввод информации осуществляется с помощью процедуры
которая позволяет ввести с клавиатуры значения нескольких переменных. Например:
Выполнение программы приостановится, пока пользователь не введет значения переменной x и не нажмет Enter.
Программа ожидает ввода значений трех переменных. После каждого ввода следует жать Enter.
Курсор будет мигать не на пустой строке, а на строке содержащей приглашение вида «x = ».
В отсутствии параметров процедура просто приостанавливает выполнение программы до нажатия пользователем клвиши Enter.
Используем наши новые знания, написав программу, запрашивающую у пользователя два числа и печатающую их сумму.
Ошибки, которые обнаруживает компилятор, называют синтаксическими ошибками или ошибками компиляции. Синтаксические ошибки являются результатом ошибок в конструкции кода, таких как неправильное написание ключевого слова, пропуск необходимого знака пунктуации или использование открывающей фигурной скобки без соответствующей закрывающей фигурной скобки. Эти ошибки обычно легко обнаружить, поскольку компилятор говорит вам, где они находятся и что стало их причиной. Пример программы с синтаксической ошибкой:
Попытка компиляции приведённого кода:

Будет сообщено о четырёх ошибках, но в действительности программа содержит две ошибки:
- Во второй строке отсутствует ключевое слово void перед main
- Строка Welcome to Java должна быть закрыта закрывающей кавычкой в третьей строчке программы
2. Ошибки во время выполнения
Ошибки во время выполнения – это ошибки, которые приводят к ненормальному обрывы работы программы. Они возникают во время работы программы, если среда обнаруживает операцию, которую невозможно выполнить. Обычно ошибки ввода становятся причинами ошибок во время выполнения. Ошибки ввода возникают, когда программа ожидает от пользователя ввода значения, но пользователь вводит величину, которую программа не может обработать. Например, программа ожидает получение числа, но вместо этого пользователь вводит строку, это приводит к ошибкам в программе, связанным с типами данных.
Другой пример ошибок во время выполнения – это деление на ноль. Это происходит, когда в целочисленном деление делитель равен нулю. Пример программы, которая вызовет ошибку во время выполнения:

3. Логические ошибки
Логические ошибки происходят, когда программа неправильно выполняет то, для чего она была создана. Ошибки этого рода возникают по многим различным причинам. Допустим, вы написали программу, которая конвертирует 35 градусов Цельсия в градусы Фаренгейта следующим образом:

Вы получите 67 градусов по Фаренгейту, что является неверным. Должно быть 95.0. В Java целочисленное деление показывает только часть – дробная часть отсекается, по этой причине в Java 9 / 5 это 1. Для получения правильного результата, нужно использовать 9.0 / 5, что даст результат 1.8.
4. Распространённые ошибки
Пропуск закрывающей фигурной скобки, пропуск точки с запятой, пропуск кавычки для строки и неправильное написание имён – всё это самые распространённые ошибки для новых программистов.
Частые ошибки 1: Пропущенные фигурные скобки
Фигурные скобки используются для обозначения в программе блоков. Каждой открывающей фигурной скобке должна соответствовать закрывающая фигурная скобка. Распространённая ошибка – это пропуск закрывающей фигурной скобки. Чтобы избежать эту ошибки, печатайте закрывающую фигурную скобку всякий раз, когда печатаете открывающую фигурную скобку как показано в следующем примере:

Если вы используете IDE такую как NetBeans и Eclipse, то IDE автоматически вставит закрывающую фигурную скобку каждой введённой вами открывающей фигурной скобки.
Частые ошибки 2: Пропуск точки с запятой
Каждая инструкция заканчивается ограничителем инструкции (;). Часто новые программисты забывают поместить ограничитель инструкции для последней инструкции в блоке как это показано в следующем примере:

Частые ошибки 3: Пропуск кавычки
Строки должны помещаться в кавычки. Часто начинающие программисты забывают поместить кавычку в конце строки как показано в следующем примере:

Если вы используете IDE, такую как NetBeans и Eclipse, то IDE автоматически вставит закрывающую кавычку каждый раз, когда вы ввели открывающую кавычку.
Частые ошибки 4: Неправильное написание имён
Java чувствительная к регистру. Неправильное написание имён – частая ошибка для новых программистов. Например, пишут слово main как Main, а вместо String пишут string. Пример:
Упражнение 2.
Вычислить частное двух целых чисел. В связи с тем, что делить на ноль нельзя, организуем контроль ввода данных.
1. Наберите текст программы:
Упражнение 3.
Вывести на печать название дня недели, соответствующее заданному числу D, при условии, что в месяце 31 день и 1-е число – понедельник. Для решения задачи воспользуемся операцией mod, позволяющей вычислить остаток от деления двух чисел, и условием, что 1-е число – понедельник. Если в результате остаток от деления заданного числа D на 7 будет равен 1, то это понедельник, двойке – вторник, тройке – среда и т.д.
1. Наберите текст программы:
2. Запустите программу на выполнение и проверьте её работу: Ctrl-F9
3. Для просмотра результатов выполненной программы необходимо нажать: Alt-F5
4. Сохраните программу на своем диске: A:P3PR3
Задания уровня 2
Задания уровня 3
4. Составить программу, которая проверяет, может ли существовать треугольник с заданными сторонами. Известно, что сумма двух любых сторон должна быть больше третьей. Сохраните программу под именем P3PR9.
5. Даны целые числа a, b, c. Если a ? b ? c, то все числа заменить наименьшим из них, в противном случае сменить знак каждого числа. Сохраните программу под именем P3PR10.
6. Составьте программу решения квадратного уравнения с использованием сложных условий. Сохраните программу под именем P3PR11.
7. Составьте программу, предназначенную для вычисления значения переменной y, где при четных значениях x; y=x2 – 6 при значениях x, кратных 5; y=0 во всех остальных случаях. Сохраните программу под именем P3PR12.
8. Напишите программу, которая при вводе латинской прописной буквы выводит на экран такую же букву, но строчную. Сохраните программу под именем P3PR13. Указание: воспользуйтесь тем фактом, что все латинские прописные буквы расположены в кодовой таблице подряд, по алфавиту, начиная с символа ‘A’ с кодом 65. Строчные буквы также расположены по алфавиту, начиная с символа ‘a’ с кодом 97. Подсказка: для решения обратной задачи существует функция UpCase, которая преобразует строчные буквы латинского алфавита в прописные, но не изменяет другие, то есть:
Контрольные вопросы:
1. Как работает оператор присваивания?
2. Приведите синтаксис оператора присваивания.
3. Что такое ввод данных?
4. Что такое вывод данных?
5. Перечислите формы операторов ввода данных.
6. Перечислите формы операторов вывода данных.
7. Сформулируйте правила записи оператора IF.
8. Что такое вложенный оператор IF?
9. Что представляет собой оператор варианта?
10. В программах какого типа используется оператор варианта?
11. Константы какого типа могут быть использованы в операторе варианта?
12. Какое соответствие должно быть между выражением оператора варианта и его константами?
Читайте также:
- Обвести неверные данные excel
- Формат файла dbase iv
- Программа клеар сканер для телефона
- Drparser mode что это за программа на андроид
- Яндекс браузер не скачивает файлы
Нужно найти ошибки в программе и добавить и дополнить работу программы операциями деления (/) и целочисленного делени
09.04.2021, 07:18. Показов 418. Ответов 1
Program Interpretator;
Type PozInt = 0..MaxInt;
Var Line : String;
А, В : PozInt;
Znak : Char;
Flag : Boolean;
Rezult : Integer;
Procedure Propusk (Stroka : String; M : Byte; Var N : Byte) ;
Begin
{—Пропускает подряд стоящие пробелы в строке Stroka, начиная с символа номер М.
В переменной N получает номер первого символа, не являющегося пробелом—}
End;
Function Cifra (С : Char) : Boolean;
Begin
{—Получает значение True, если символ С является цифрой, и False — в противном
случае—}
End;
Function Sintax (Stroka : String) : Boolean;
Begin
{—Синтаксический контроль. Получает значение True, если в строке нет других
символов кроме цифр, знаков операций, знака ‘=’ и пробелов. В противном случае –
False—}
End;
Function Semantika (Stroka : String): Boolean;
Begin
{—Проверяет, соответствует ли структура строки формату ‘а ϴ b = ‘ . Если соответствует,
получает значение True, если нет – False—}
End;
Procedure Operand (Stroka : String; Var А, В : Pozlnt; Var Z : Char; Var Flag : Boolean);
Begin
{—Выделяет операнды. Проверяет их на соответствие допустимому диапазону значений.
Переменная Flag получает значение True, если результат проверки положительный, и
False – в противном случае. Преобразует операнды в целые положительные числа А, В.
В переменной Z получает знак операции—}
End;
Procedure Calc (A, В : PozInt; Znak : Char; Var Rez: Integer; Var Flag : Boolean);
Begin
{—Вычисляет результат операции. Проверяет принадлежность результата диапазону от
— Maxlnt до Maxlnt. Flag – признак результата проверки. Результат операции получается в
переменной Rez—}
End;
Begin {—Начало основной части программы—}
WriteLn(‘ Введите выражение: ‘);
Read(Line) ;
If Not Sintax (Line)
Then WriteLn (‘ Недопустимые символы ‘)
Else If Not Semantika (Line)
Then WriteLn (‘ Неверное выражение ‘)
Else Begin
Operand ( Line, A, B, Znak, Flag);
If Not Flag
Then WriteLn (‘ Слишком большие операнды ‘)
Else
Begin
Calc (A, B, Znak, Rezult, Flag) ;
If Not Flag
Then WriteLn (‘ Большой результат ‘)
Else WriteLn (Rezult)
Procedure Propusk (Stroka : String; M : Byte; Var N : Byte);
End;
Begin
N := M;
While (Stroka [N] = ‘ ‘) And (N < Length (Stroka) ) Do
N := N + 1
End;
Function Cifra (C : Char) : Boolean;
Begin
Cifra := (C >= ‘0’ ) And ( C <= ‘9’ )
End;
Function Sintax (Stroka : String ) : Boolean;
Var I : Byte;
Begin
Sintax := True;
For I := 1 To Length (Stroka) Do
If Not (( Stroka [I] = ‘ ‘) Or Cifra ( Stroka [I] ) Or
(Stroka [I] = ‘ + ‘) Or (Stroka [I] = ‘-‘ ) Or
(Stroka [I] = ‘*’ ) Or (Stroka [I] = `=` ))
Then Sintax := False
End;
Function Semantika (Stroka : String): Boolean;
Var I : Byte;
Begin
Semantika := True;
Propusk(Stroka, 1, I);
If Not Cifra(Stroka[I])
Then Begin
Semantika := False; Exit
End;
While Cifra (Stroka [I] ) Do I := I + 1;
Propusk(Stroka, I, I);
If Not ((Stroka [I] = ‘+’) Or (Stroka [I] = ‘-‘) Or (Stroka [I] = ‘*’))
Then
Begin
Semantika := False; Exit
End;
I := I + 1;
Propusk (Stroka, I, I);
If Not Cifra (Stroka [I] )
Then
Begin
Semantika := False; Exit
End;
While Cifra (Stroka [I]) Do I := I + 1;
Propusk (Stroka, I, I);
If Stroka [I] <> `=`
Then
Begin
Semantika := False; Exit
End;
I := I + 1;
Propusk (Stroka, I, I);
If I < Length (Stroka)
Then
Begin
Semantika := False; Exit
End;
End;
Procedure Operand (Stroka : String; Var А, В : PozInt; Var Z: Char; Var Flag : Boolean);
Var P, Q : String;
I : Byte;
Code : Integers;
Function Error (S : String): Boolean;
{—Функция принимает значение True, если в строке S находится число, превышающее
максимальное целое, и False – в противном случае—}
Const Lim = `32767 `;
Var I: Byte;
Begin
If Length(S) > 5
Then Error := True
Else If Length(S) < 5
Then Error := False
Else Error := S > Lim
End;
Begin
Flag := True;
I := 1;
Propusk(Stroka, I, I); // Пропуск пробелов в Stroka, начиная с позиции 1
Q : = «; // до первого символа. не являющегося пробелом
While Cifra (Stroka [I] ) Do // пока текущий символ является цифрой
Begin // формируем подстроку Q , добавляя
Q := Q + Stroka[I]; // по одному символу
I := I +1 // при выходе из while I показывает
End; // на первую не цифру
If Error (Q) Then
Begin // проверяем, Q должно быть меньше `32767`
Flag := False; Exit
End;
Propusk (Stroka, I, I); // Пропуск пробелов в Stroka, начиная с позиции I
Z := Stroka [I]; // Z присваиваем значение символа арифметич. операции
I := I + 1;
Propusk (Stroka, I, I); // Пропуск пробелов в Stroka, начиная с позиции I
P := «;
While Cifra (Stroka [I] ) Do // Формируем подстроку P аналогично Q
Begin
P := P + Stroka [I];
I := I + 1
End;
If Error (P) Then
Begin
Flag := False; Exit
End;
Val (Q, A, Code);
Val (P, B, Code);
{—Стандартная процедура Val преобразует цифровую строку в соответствующее число;
Code — код ошибки—}
End;
Procedure Calc (А, В : PozInt; Znak : Char; Var Rez : Integer; Var Flag : Boolean);
Var X, Y, Z : Real;
Begin
Flag := True;
Y := A; Z := B;
Case Znak of
`+` : X := Y + Z;
`-` : X := Y – Z;
`*` : X := Y * Z;
End;
If Abs (X) > MaxInt Then
Begin
Flag := False; Exit
End;
Rez := Round(X)
End;
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Технология программирования
Чтение короткой (30±50 строк) простой программы на алгоритмическом языке (языке программирования)
Запись алгоритма в словесной форме, в виде блок-схемы или на псевдокоде должна быть точна настолько, чтобы позволить исполнителю правильно выполнить алгоритм, при этом изображение команд произвольное. При решении любой задачи на компьютере предполагается, что некоторая информация подвергается обработке по предварительно составленной инструкции, называемой программой. Язык, на котором записывается алгоритм для исполнения компьютером, называется языком программирования. Языки программирования принадлежат к формальным языкам. При записи алгоритма на языке программирования все правила языка должны строго выполняться. Программа — это алгоритм, записанный на языке программирования.
Для записи программ используется конечный набор символов, составляющих алфавит языка программирования. В отличие от привычных алфавитов (например, русского) алфавит языка программирования включает в себя, кроме букв, цифры, знаки препинания, знаки арифметических действий и некоторые другие дополнительные символы. Программа записывается в виде последовательности символов из алфавита своего языка программирования. Естественно, что не любой текст, составленный из символов алфавита, будет правильной программой. Как и в естественных языках, правильность построения программы из символов алфавита можно проверить, используя синтаксис языка программирования.
Синтаксис языка программирования — это набор правил, которые определяют способы построения правильных программ из символов алфавита. Зная синтаксис языка, можно построить алгоритм, который определяет, является ли данный текст правильной программой или нет. Этот алгоритм позволяет компьютеру проверять синтаксическую правильность вводимых в него программ.
Должна быть определена и семантика языка программирования. Семантика языка программирования — это набор правил, по которым исполнитель выполняет программы на этом языке. Пользуясь семантикой языка, можно однозначно определить результат выполнения программы с заданными входными данными.
При чтении программы необходимо сначала определить, к какому виду она относится. Условно программы можно разделить на два вида: простая программа без использования подпрограмм (кроме стандартных процедур вводавывода) и программа, использующая подпрограммы (подалгоритмы). Такая программа может включать в свою структуру как стандартные подпрограммы, так и подпрограммы, написанные пользователем.
Для чтения простой программы необходимо выяснить:
- что является входными данными и как они вводятся в программу;
- какие действия последовательно выполняются с помощью каждого функционального узла программы (операторов), т. е. рассмотреть пошаговое выполнение операторов, при этом обратить внимание на роль вспомогательных переменных, массивов и т.д.;
- что является результаты работы программы;
- каковы ограничения по работе алгоритма.
При чтении программы, использующей подпрограммы, необходимо сначала проанализировать, что и как выполняют подпрограммы, каковы их входные и выходные параметры. Затем в основной программе вызовы каждой из подпрограмм рассматривать уже как результат работы соответствующего подалгоритма.
Существенно облегчает чтение программ наличие комментариев — поясняющего текста. Комментарии можно добавлять в любое место программы. Наличие комментариев — обязательное условие хорошо и грамотно написанной программы.
Примеры чтения программ на языках Pascal, QBASIC
Примечание. В приведенных примерах программа приводится для двух языков программирования. В зависимости от того, какой язык программирования изучается, и следует рассматривать ее вариант записи и соответствующие пояснения.
Пример 1. Дана программа на двух языках программирования. Определить, какую задачу она решает.

Решение. Проанализируем тексты программы:
- формируется тело программы и описываются переменные;
- вводятся натуральные числа М и N, причем проверяется условие корректности ввода: числа должны быть положительные. Если введенные значения не удовлетворяют условию, то ввод повторяют, пока условие не будет выполнено;
- выбирается наименьшее значение из М и N, результат записывается в K;
- NOD присваивается значение 1;
- в цикле от двух до K генерируется число I;
- тело цикла — в условном операторе проверяется, является ли значение переменной I одновременно делителем М и N. Если условие выполняется, то текущее значение I сохраняется в переменной NOD; если условие не выполняется, NOD не изменит своего значения;
- после перебора всех значений I в NOD или запишется наибольший делитель двух чисел М и N, или останется значение 1;
- последний оператор программы служит для вывода результата работы программы — значения переменной NOD.
Переменные, используемые в программе:
N, М — исследуемые числа;
I — переменная цикла;
NOD — наибольший общий делитель;
К — наименьшее из М и N.
Ответ: данная программа позволяет определить для двух чисел М и N их наибольший общий делитель NOD.
Примечание. Эту же задачу можно решить, используя алгоритм Евклида.
Пример 2. Дана программа на двух языках программирования. Определить, какую задачу она решает.
Решение. Проанализируем тексты программы:
- формируется тело программы, описываются переменные и одномерный массив MAS целого типа (для Pascal целый массив длиной 100);
- вводится фактическая длина массива N с проверкой на положительное значение N;
- вводится значение первого элемента массива MAS;
- устанавливается начальное значение МАХ по первому элементу массива;
- переменной К присваивается значение 1;
- последовательно, в цикле, просматриваются вводимые элементы массива, и если очередной элемент MAS(I) больше или равен МАХ, то переписывается значение MAS(I) в МАХ и в переменной К запоминается I;
- выводятся результаты: МАХ — значение максимального элемента массива и К — номер максимального элемента в исходном массиве (если таких элементов несколько, выведется номер самого правого максимума).
Переменные, используемые в программе:
MAS — массив чисел;
N — размер массива;
I — переменная цикла;
МАХ — значение наибольшего элемента;
К — номер наибольшего элемента.
Ответ: программа написана для поиска значения максимального элемента массива и его номера (если таких элементов несколько, то будет найден номер самого правого максимума).
Пример 3. Дана программа на двух языках программирования. Определить, какую задачу она решает.

Решение. Проанализируем тексты программы:
- формируется тело программы и описываются переменные;
- вводится строка символов S;
- определяется длина строки, значение которой заносится в переменную L;
- в цикле осуществляется замена ‘!’ на ‘.’ в исходной строке;
- выводится преобразованная строка.
Переменные, используемые в программе:
I — переменная цикла;
L — длина строки;
S — строка текста.
В программе на языке Pascal используется встроенная функция языка:
Length(STR) — она определяет фактическую длину строки STR (длина строки не более 256 символов).
В программе на языке QBASIC используются встроенные функции:
Len(X) — определяет фактическую длину строки X (длина строки не более 256 символов);
M1D$(X$, N, M) — выделяет M символов, начиная с N-го символа в символьном выражении X$ (M можно опустить).
Ответ: данная программа позволяет заменить во введенной строке символов все восклицательные знаки на точки.
Пример 4. Дана программа на двух языках программирования. Определить, какую задачу она решает.

Решение. Проанализируем текст программы на языке Pascal:
- формируется тело программы и описываются переменные;
- вводится строка STR и дублируется во вспомогательной переменной S1;
- определяется местоположение первой точки в тексте; если точка есть, то из S1 вырезается текст до нее;
- ищется вторая точка; если она есть, то из S1 вырезается текст после нее;
- в зависимости от присутствия точек результат выводится на экран.
Используемые переменные:
I — номер позиции, которая соответствует точке;
STR — строка текста;
S1 — вспомогательная переменная.
В данной программе используются встроенные функции языка Pascal:
Pos(S1, S2) — поиск подстроки S1 в строке S2 ;
Delete(S, N, M) — удаление из строки S M символов, начиная с позиции N;
Copy(S, N, M) — выделение подстроки из M символов, которые располагаются в строке S начиная с позиции N.
Проанализируем текст программы на языке QBASIC:
- формируется тело программы, и описываются переменные;
- вводится строка символов S;
- определяется местоположение первой точки в тексте — М1;
- ищется вторая точка в строке (поиск начинается с символа М1 + 1); если в строке есть две точки, то на экран выводится текст, находящийся между двумя точками, если нет — сообщение «В тексте нет двух точек».
Используемые переменные:
S — строка текста;
Ml, M2 — номера позиций двух точек; если точек нет, то значения Ml и М2 равны нулю.
В данной программе используются встроенные функции языка:
INSTR(N, X$, Y$) — поиск подстроки Y в строке X, начиная с N-го символа (N можно опустить);
MID$(X$, N, M) — выделение M символов, начиная с N-го символа в символьном выражении X$ (M можно опустить).
Ответ: данная программа из заданной строки символов выделяет подстроку между первой и второй точкой.
Пример 5. Проанализировать тексты программы.

Решение.
- Формируется тело программы и описываются переменные и двумерный массив MАS;
- вводится фактический размер массива MAS и значения его элементов;
- просматриваются строки массива справа налево, находиться минимальный элемент в строке и запоминаются значения индексов (номер столбца) этого элемента;
- для каждой строки выводится значение и местоположение самого правого минимального элемента.
Используемые переменные:
MAS — двумерный массив;
N, M — количество строк и столбцов массива;
I, J — переменные цикла;
JM — столбец минимального элемента для данной строки;
MIN — текущий минимум.
Ответ: программа решает задачу поиска в каждой строке двумерной матрицы минимального элемента и его координат. Если таких элементов в строке несколько, то выводится значение и координаты самого правого элемента.
Поиск и исправление ошибок в небольшом фрагменте программы (10±20 строк)
Существует три аспекта проверки программы:
- на правильность;
- на эффективность реализации;
- на вычислительную сложность.
Эти проверки, вместе взятые, направлены на получение экспериментального ответа на вопросы: работает ли алгоритм и насколько хорошо он работает? Предполагается, что проверка правильности удостоверяет, что программа делает в точности то, для чего она была предназначена. Проверка эффективности реализации направлена на поиск способов «заставить» правильную программу работать быстрее или расходовать меньше памяти. Чтобы улучшить программу, пересматриваются результаты этапа реализации в процессе построения алгоритма.
Проверка вычислительной сложности сводится к экспериментальному анализу сложности алгоритма или к экспериментальному сравнению двух или более алгоритмов, решающих одну и ту же задачу.
Наличие ошибок в только что разработанной программе — вполне нормальное, закономерное явление. Составить реальную (достаточно сложную) программу без ошибок практически невозможно. Нельзя делать вывод, что программа правильна, лишь на том основании, что она считает и выдает результаты.
Текст программы можно проконтролировать за столом с помощью просмотра, проверки и прокрутки.
Просмотр. Текст программы просматривается на предмет обнаружения явных ошибок и расхождений с алгоритмом. Нужно просмотреть организацию всех циклов, чтобы убедиться в правильности операторов, задающих кратности циклов. Полезно просмотреть еще раз условия в условных операторах, аргументы в обращениях к подпрограммам и т. п.
Проверка. При проверке программы программист по тексту программы мысленно старается восстановить тот вычислительный процесс, который определяет программа, после чего сверяет его с требуемым алгоритмом.
Прокрутка. Основой прокрутки является имитация программистом за столом выполнения программы на машине. Для выполнения прокрутки приходится задаваться какими-то исходными данными и производить над ними необходимые вычисления.
Прокрутка — трудоемкий процесс, поэтому ее следует применять только для контроля логически сложных участков программы.
После просмотра программы вручную ее необходимо отладить и протестировать на компьютере.
Отладка — это процесс поиска и устранения ошибок в программе, производимый по результатам ее прогона на компьютере.
Тестирование — это испытание, проверка правильности работы программы в целом или ее составных частей.
Отладка и тестирование — два разных этапа:
- при отладке происходит локализация и устранение синтаксических ошибок и явных ошибок кодирования;
- в процессе тестирования проверяется работоспособность программы, не содержащей явных ошибок. Тестирование устанавливает факт наличия ошибок, а отладка выясняет их причину.
Как бы тщательно ни была отлажена программа, решающим этапом, устанавливающим ее пригодность для работы, является контроль программы по результатам ее выполнения на системе тестов. Программу условно можно считать правильной, если ее запуск для выбранной системы тестовых исходных данных во всех случаях дает правильные результаты.
Тестовые данные должны обеспечить проверку всех возможных условий возникновения ошибок. Процесс тестирования можно разделить на три этапа:
- Проверка в нормальных условиях. Предполагает тестирование на основе данных, которые характерны для реальных условий функционирования программы.
- Проверка в экстремальных условиях. Тестовые данные включают граничные значения области изменения входных переменных, которые должны восприниматься программой как правильные данные. Типичными примерами таких значений являются очень маленькие или очень большие числа и отсутствие данных. Еще один тип экстремальных условий — граничные объемы данных. Например, когда массивы состоят из слишком малого или слишком большого количества элементов.
- Проверка в исключительных ситуациях. Проводится с использованием данных, значения которых лежат за пределами допустимой области изменений.
Ошибки могут быть допущены на всех этапах решения задачи. Разновидности характерных ошибок:
- Неправильная постановка задачи — верное решение неверно сформулированной задачи.
- Неверный алгоритм — выбор алгоритма, приводящего к неточному, неэффективному решению задачи.
- Ошибки анализа — неполный учет ситуаций, которые могут возникнуть; логические ошибки.
- Семантические ошибки — неправильный порядок выполнения операций.
- Синтаксические ошибки — нарушение правил, определяемых языком программирования.
- Ошибки при выполнении операций — слишком большое число (переполнение), деление на нуль, извлечение квадратного корня из отрицательного числа и т. п.
- Ошибки в данных — неправильное определение возможного диапазона изменения данных.
- Опечатки — перепутаны близкие по написанию символы, например цифра 1 и буква I.
- Ошибки ввода/вывода — неверное считывание входных данных, неверное задание форматов, отсутствие некоторых данных.
В качестве примера рассмотрим программу, в которой вычисляется значение функции по приведенным формулам в зависимости от значения параметра K, который является номером режима.
$y(x)={table√{a_1x^2+b_1x+c_1}, text»если» K=1; √{a_2x^2+c_2}, text»если» K=2; √{b_3x+c_3}, text»если» K=3;$
Программа имеет вид

Ошибки, допущенные при написании программы:
- Пропущен ввод исходных данных А1, B1, C1, A2, C2, B3, C3; пропущено описание переменной Y (для языка Pascal).
- В приведенной программе не предусмотрена обработка ситуации, когда под корнем получается отрицательное значение. Необходимо использовать условный оператор для определения положительности подкоренного выражения.
- Отсутствует анализ ситуации, когда вместо цифр 1, 2, 3 для переменной К считана другая цифра. В этом случае, можно выдавать, например, сообщение: «Номер режима неверен». Для выдачи такого сообщения в программе в саsе-операторе после строки с меткой 3 нужно добавить строку вида else <Печать сообщения> (вариант 1). Можно также организовать ввод параметра K с проверкой введенного значения, и при ошибочном вводе требовать повторения ввода значения для переменной K (вариант 2).
Пример откорректированной программы (вариант 1).

Пример откорректированной программы (вариант 2).

Создание собственной программы (30±50 строк) для решения простых задач
Процесс создания компьютерной модели можно представить как путь от постановки задачи до реализации модели на компьютере. При разработке компьютерной модели очень важен выбор программного обеспечения (ПО), с помощью которого будет реализована модель. Возможны два основных варианта выбора — это, во-первых, прикладное ПО и, во-вторых, среда программирования. Если в качестве ПО была выбрана среда программирования, то построение компьютерной модели завершается созданием программы.
При написании программы прежде всего следует четко уяснить задачу, которую должна решать программа. Затем предварительно разработанный алгоритм решения задачи записывается в виде упорядоченной последовательности команд (инструкций), т. е. составляется программа, ориентированная на определенную среду программирования.
При написании программы обязательно следует проверять, насколько она соответствует намеченной цели, т. е. делает ли программа для всех наборов данных то, что от нее требуется, не выполняет ли она каких-либо лишних действий. Основное внимание следует сосредоточить на предотвращении логических ошибок. Для этого рекомендуется перед написанием программы построить блок-схему алгоритма решения или словесный алгоритм, что позволит абстрагироваться от конкретного языка программирования и сосредоточиться на анализе алгоритма.
Примеры разработки программ
Пример 1. Составить словесный алгоритм, разработать блок-схему и написать программу проверки принадлежности введенного числа данной арифметической прогрессии. Прогрессия задается двумя последовательными членами.
Решение. Словесный алгоритм.
Начало алгоритма
- Ввести два последовательных члена арифметической прогрессии: A1, A2.
- Ввести произвольное целое число C.
- Найти разность (D) арифметической прогрессии.
- Найти разность между введенным числом C и членом арифметической прогрессии, например A1.
- Найти остаток от деления нацело найденной разности на D.
- Если остаток от деления равен 0, то это значит, что число C принадлежит рассматриваемой арифметической прогрессии»; иначе получаем, что число C не принадлежит рассматриваемой арифметической прогрессии.
Конец алгоритма.
Блок-схема алгоритма:

Программа:

Примечание. Mod — операция, результатом которой является остаток от целочисленного деления.
Пример 2. Составить словесный алгоритм, алгоритм в виде блок-схемы и написать программу поиска в строковом массиве, содержащем фамилии 10 учеников, заданной фамилии, обеспечить запоминание ее порядкового номера (массив фамилий может быть неупорядочен).
Решение.
Словесный алгоритм
Начало алгоритма
- Ввести все десять фамилий (строковый массив из 10 элементов).
- Ввести фамилию, которую нужно найти.
- Сравнивать ее с очередным элементом строкового массива, пока не будет найдена такая же фамилия или пока не закончится список (массив).
- Если фамилия найдена, вывести ее номер в списке (массиве), если нет — сообщить о том, что фамилия не найдена.
Конец алгоритма.
Блок-схема алгоритма


Программа:

Конструкция Попытка-Исключение-КонецПопытки
Если в модуле на встроенном языке 1С будет ошибка времени выполнения, например деление на 0, то выполнение модуля будет прервано и на экран будет выведено сообщение об ошибке:
&НаКлиенте Процедура Исключение(Команда) а = 5/0; КонецПроцедуры
Ошибки времени выполнения (run time) — это ошибки во время выполнения модуля. Еще есть ошибки времени компиляции (compile time) — это ошибки во время компиляции модуля.
Для обработки ошибок времени выполнения можно использовать исключения:
&НаКлиенте Процедура Исключение(Команда) Попытка а = 5/0; Исключение Сообщить("Нельзя делить на 0"); КонецПопытки; КонецПроцедуры
Если в коде после ключевого слова Попытка будет ошибка времени выполнения, то выполнение программы перейдет на первую строку после ключевого слова Исключение. Если ошибок не будет, то код после ключевого слова Исключение даже не будет выполнен.
Конструкцию Попытка-Исключение-КонецПопытки нельзя использовать для обработки ошибок времени компиляции. Такой модуль все равно не будет скомпилирован:
&НаКлиенте Процедура Исключение(Команда) Попытка а = 5/0;+ //здесь ошибка Исключение Сообщить("Нельзя делить на 0"); КонецПопытки; КонецПроцедуры
Вызовы процедур и функций внутри попытки тоже будут обработаны:
&НаКлиенте Процедура Исключение(Команда) Попытка ПоделитьНаНоль(); Исключение Сообщить("Нельзя делить на 0"); КонецПопытки; КонецПроцедуры &НаКлиенте Процедура ПоделитьНаНоль() а = 5/0; КонецПроцедуры
В 1С используется единый механизм для обработки всех исключений, как исключений платформы, так и исключений конфигураций. То есть при возникновении ошибки времени выполнения платформа начинает искать ближайший оператор Исключение, относящийся к данному блоку кода. Если ошибка произошла на строке, который не был обернут в конструкцию Попытка-Исключение, но после этой строки есть такая конструкция — ошибка не будет обработана этой конструкцией. Если такой оператор найден, то ошибка будет обработана им. Если не найден, то ошибка обрабатывается платформой, выполнение модуля останавливается.
Оператор ВызватьИсключение
Попытки могут быть вложенными:
&НаКлиенте Процедура Исключение(Команда) Попытка ПоделитьНаНоль(); Исключение Сообщить("Нельзя делить на 0"); КонецПопытки; КонецПроцедуры &НаКлиенте Процедура ПоделитьНаНоль() Попытка а = 5/0; Исключение Сообщить("Ошибка в процедуре"); КонецПопытки; КонецПроцедуры
Если выполнить данный код, то выйдет сообщение «Ошибка в процедуре», то есть код из первого исключения даже не будет выполнен. Чтобы выполнялся код из вышестоящего исключения нужно использовать оператор ВызватьИсключение:
&НаКлиенте Процедура Исключение(Команда) Попытка ПоделитьНаНоль(); Исключение Сообщить("Нельзя делить на 0"); КонецПопытки; КонецПроцедуры &НаКлиенте Процедура ПоделитьНаНоль() Попытка а = 5/0; Исключение ВызватьИсключение; КонецПопытки; КонецПроцедуры
В этом случае исключение будет проброшено вверх по стеку и обработано первым блоком Попытка-Исключение.
Можно вызывать исключение из кода оператором ВызватьИсключение. Выполнение кода будет прервано, на экране будет сообщение с текстом исключения:
&НаКлиенте Процедура Исключение(Команда) ВызватьИсключение "Исключение вызванное из кода"; КонецПроцедуры
Информация об ошибке
В 1С нельзя использовать несколько блоков Исключений для разных типов ошибки. Какая бы ошибка не произошла всегда будет вызываться код после оператора Исключение. Для получения описания ошибки можно использовать метод ОписаниеОшибки():
&НаКлиенте Процедура Исключение(Команда) Попытка а = 4/0; Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; КонецПроцедуры
Пример с другим типом ошибки:
&НаКлиенте Процедура Исключение(Команда) Попытка а = ПредопределенноеЗначение("Справочник.Склады.ОсновнойСклад"); //при этом такого предопределенного элемента нет Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; КонецПроцедуры
Но правильней использовать метод ИнформацияОбОшибке(), который вернет объект типа ИнформацияОбОшибке:
&НаКлиенте Процедура Исключение(Команда) Попытка а = 4/0; Исключение Инф = ИнформацияОбОшибке(); //объект типа ИнформацияОбОшибке передаем //в метод КраткоеПредставлениеОшибки() //для вывода сообщения на экран Сообщить(КраткоеПредставлениеОшибки(Инф)); КонецПопытки; КонецПроцедуры
Метод КраткоеПредставлениеОшибки() выведет более понятное для обычного пользователя сообщение: «Деление на 0» вместо «{Обработка.Обработка1.Форма.Форма.Форма(5)}: Деление на 0».
Для более полного описания ошибки можно использовать метод ПодробноеПредставлениеОшибки():
&НаКлиенте Процедура Исключение(Команда) Попытка а = 4/0; Исключение Инф = ИнформацияОбОшибке(); //объект типа ИнформацияОбОшибке передаем //в метод ПодробноеПредставлениеОшибки() //для вывода подробного сообщения на экран Сообщить(ПодробноеПредставлениеОшибки(Инф)); КонецПопытки; КонецПроцедуры
Но правильней пользователю сообщать кратное представление, а в журнал регистрации записывать подробное представление ошибки:
&НаКлиенте Процедура Исключение(Команда) //ЗаписьЖурналаРегистрации доступно только на сервере Команда1НаСервере(); КонецПроцедуры &НаСервере Процедура Команда1НаСервере() Попытка а = 4/0; Исключение Инф = ИнформацияОбОшибке(); //сообщим пользователю Сообщить(КраткоеПредставлениеОшибки(Инф)); //и запишем в журнал регистрации ПодробнаяОшибка = ПодробноеПредставлениеОшибки(Инф); ЗаписьЖурналаРегистрации("Ошибка", УровеньЖурналаРегистрации.Ошибка,,, ПодробнаяОшибка); КонецПопытки; КонецПроцедуры
Приведение к нужному типу
При загрузке числовых данных из файла (например из текстового документа) в 1С часто применяется такой прием для получения числа из строки:
&НаКлиенте Процедура Исключение(Команда) //это строка с числом, допустим она была получена из файла ЧислоСтрокой = "123.45"; Попытка //пробуем перевести ее в число ЧислоЧислом = Число(ЧислоСтрокой); Исключение //если не получилось ЧислоЧислом = 0; КонецПопытки; //дальше работаем как с числом ЧислоЧислом = ЧислоЧислом + 1; Сообщить(ЧислоЧислом); КонецПроцедуры
С точки зрения производительности это не совсем корректно. Правильно использовать объект ОписаниеТипов:
&НаКлиенте Процедура Исключение(Команда) //это строка с числом, допустим она была получена из файла ЧислоСтрокой = "123.45"; //создаем объект типа ОписаниеТипов с типом Число ОписаниеТипа = Новый ОписаниеТипов("Число"); //приводим строку к числу, если не получится вернет значение по умолчанию //для числа это 0 ЧислоЧислом = ОписаниеТипа.ПривестиЗначение(ЧислоСтрокой); //дальше работаем как с числом ЧислоЧислом = ЧислоЧислом + 1; Сообщить(ЧислоЧислом); КонецПроцедуры
Смотрите также:
Электронный учебник по по программированию в 1С
Рекомендации по изучению программирования 1С с нуля
Программное решение для сдачи и подготовки к экзаменам
Программирование в 1С 8.3 с нуля — краткий самоучитель
Комплексная подготовка программистов 1С:Предприятие 8.2
Сайты с уроками программирования и со справочниками
Youtube-каналы с уроками программирования
Сайты для обучения программированию
Лекции и уроки
Ответы на тест 3 по Информатике 8 класс
«Ответы на тест 3 по Информатике 8 класс» — это пособие для родителей для проверки правильности ответов обучающихся детей (ГДЗ) на «Тестовые вопросы для самоконтроля», указанные в учебнике Информатики в конце 3-й главы. Как утверждают авторы учебника (Л.Л.Босова, А.Ю.Босова) в конце каждой главы приведены тестовые задания, которые помогут оценить, хорошо ли учащиеся освоили теоретический материал и могут ли они применять свои знания для решения возникающих проблем.
Ответы на вопросы помогут родителям оперативно проверить выполнение указанных заданий.
Разработчиком языка Паскаль является:
а) Блез Паскаль
б) Никлаус Вирт
в) Норберт Винер
г) Эдсгер В. Дейкстра
Правильный ответ: б) Никлаус Вирт
Что из нижеперечисленного не входит в алфавит языка Паскаль?
а) латинские строчные и прописные буквы
б) служебные слова
в) русские строчные и прописные буквы
г) знак подчёркивания
Правильный ответ: в) русские строчные и прописные буквы
Какая последовательность символов не может служить именем в языке Паскаль?
а) _mas
б) maS1
в) d2
г) 2d
Правильный ответ: г) 2d
Вещественные числа имеют тип данных:
а) real
б) integer
в) boolean
г) string
Правильный ответ: в) boolean
В программе на языке Паскаль обязательно должен быть:
а) заголовок программы
б) блок описания используемых данных
в) программный блок
г) оператор присваивания
Правильный ответ: в) программный блок
Какого раздела не существует в программе, написанной на языке Паскаль?
а) заголовка
б) примечаний
в) описаний
г) операторов
Правильный ответ: б) примечаний
Языковые конструкции, с помощью которых в программах записываются действия, выполняемые в процессе решения задачи, называются:
а) операндами
б) операторами
в) выражениями
г) данными
Правильный ответ: б) операторами
Разделителями между операторами служит:
а) точка
б) точка с запятой
в) пробел
г) запятая
Правильный ответ: б) точка с запятой
Описать переменную — это значит указать её:
а) имя и значение
б) имя и тип
в) тип и значение
г) имя, тип и значение
Правильный ответ: б) имя и тип
В данном фрагменте программы:
program error;
begin
SuMmA:=25–14;
end.
ошибкой является:
а) некорректное имя программы
б) не определённое имя переменной
в) некорректное имя переменной
г) запись арифметического выражения
Правильный ответ: б) не определённое имя переменной
Какая клавиша нажимается после набора последнего данного в операторе read?
а) Enter
б) точка с запятой
в) пробел
г) Ctrl
Правильный ответ: а) Enter
При присваивании изменяется:
а) имя переменной
б) тип переменной
в) значение переменной
г) значение константы
Правильный ответ: в) значение переменной
Для вывода результатов в Паскале используется оператор
а) begin
б) readln
в) write
г) print
Правильный ответ: в) write
Для вычисления квадратного корня из х используется функция:
а) abs (х)
б) sqr (х)
в) sqrt (х)
г) int (х)
Правильный ответ: в) sqrt (х)
Для генерации случайного целого числа из интервала [10, 20) необходимо использовать выражение:
а) random*20
б) random(20)
в) random(10)+10
г) random(10)*2
Правильный ответ: в) random(10)+10
В каком из условных операторов допущена ошибка?
а) if b=0 then writeln (‘Деление невозможно.’);
б) if a b then max:=a else max:=b;
r) if (a>b) and (b>0) then c:=a+b;
Правильный ответ: б) if a b then c:=a–b else c:=b–a;
а) 20
б) 70
в) -20
г) 180
Правильный ответ: а) 20
Условный оператор
if a mod 2=0 then write (‘Да’) else write (‘Нет’)
позволяет определить, является ли число а:
а) целым
б) двузначным
в) чётным
г) простым
Правильный ответ: в) чётным
Какого оператора цикла не существует в языке Паскаль?
а) for
б) while
в) repeat…until
г) loop
Правильный ответ: г) loop
Цикл в фрагменте программы
р: =2;
repeat
р:=р*0.1
until р 0 do begin
s:=s+i;
i:=i-l;
end;
а) s = 0, i = –1
б) s = 5, i = 0
в) s = 15, i = 5
г) s = 15, i = 0
Правильный ответ: г) s = 15, i = 0
Выберите фрагмент программы, в котором ищется произведение 1*2*3*4*5:
а) р:=0; i :=1; while i 5 do begin p:=p*i; i:=i+1 end;
Просмотр содержимого документа
«Тест паскаль 9 класс»
1. Для отделения операторов друг от друга в языке Паскаль используют:
а) пробел; б) двоеточие; в) запятую; г) точку с запятой.
2. Из предложенных заголовков программы правильным является:
а) Program сумма; в) programm сумма;
б) programm summa; г) program summa.
3. Для вывода результатов в языке программирования Паскаль используют ключевое слово:
а) VAR; б) READ; в) BEGIN; г) WRITE.
4. В данном фрагменте программы
ошибкой считают:
а) некорректное имя программы;
б) длинное имя переменной;
в) не определенное имя переменной;
г) запись арифметического выражения.
5. Укажите недопустимые имена программ на Паскале:
6. Программа на Паскале – это
а) формальная запись некоторого алгоритма, решающего конкретную задачу;
б) указание ЭВМ на выполнение какого-либо действия;
в) операторы, переменные и константы.
7. Установите соответствие:
1) label а) раздел констант
2) type б) раздел переменных
3) var в) раздел меток
4) const г) раздел типов
8. Между какими служебными словами находится раздел операторов?
а) program и begin;
в) program и end.
9. Идентификаторы – это
а) слова, смысл и написание которых закреплены в программе навсегда;
б) набор допустимых знаков, которые используются для записи программы;
в) слова, которые обозначают какие-либо объекты.
10. Укажите служебное слово:
11. С точки зрения информатики Паскаль это:
А. Единица измерения давления. Б. Французский учёный. В. Один из наиболее известных языков программирования. Г. Единица измерения механического напряжения.
12.. Язык программирования Паскаль был разработан профессором:
А. Никлаусом Виртом. Б. Альбертом Энштейном. В. Иваном Борменталем. Г. Блезом Паскалем.
13. Раздел описания переменных начинается со слова:
А. Var. Б. Program. В. Begin. Г. Integer.
14. Основная часть программы, начало и конец которой обозначаются словами begin и end это:
А. Вывод результатов программы. Б. Вывод описания переменных. В. Раздел операторов. Г. Раздел описания переменных.
15. Для правильной работы на компьютере необходимо строгое соблюдение синтаксиса программы так как:
А. Компьютер проверяет вашу грамотность. Б. Компьютер является формальным исполнителем. В. Паскаль написан учёными – лингвистами. Г. В компьютер заложена программа проверки пунктуации.
16. Возможно ли написание комментариев (пояснений) в программе на любом ином языке, кроме английского.
А. Категорически нет. Б. Возможно без ограничений. В. Возможно при соблюдении орфографических знаков или //. Г. Возможно только на русском.
17 . Множество допустимых значений данных, а так же совокупность операций над ними можно определить как:
А. Тип данных. Б. Переменная. В. Описание переменных. Г. Оператор.
18. Постоянные переменные, значения которых не меняются в процессе выполнения задачи это:
А. Константы. Б. Идентификаторы. В. Оба варианта верны. Г. Нет правильных вариантов.
1. Начало раздела программы, в котором описывают типы используемых переменных, определяет ключевое слово:
а) program; б) var; в) begin; г) write.
2. Из предложенных заголовков, неправильным является:
а) program summa;
б) program summa_chisel;
в) program chisla;
г) programm summa.
3. Для ввода данных в языке программирования Паскаль используют ключевое слово:
а) VAR; б) READ; в) BEGIN; г) WRITE.
4. В данном фрагменте программы
ошибкой считают:
а) некорректное имя программы;
б) отсутствие переменной;
в) не определенное имя переменной;
г) запись арифметического выражения.
5 . Совокупность допустимых операторов языка программирования – это
б) семантика языка программирования;
в) синтаксис языка программирования.
6. Оператор – это
а) формальная запись некоторого алгоритма, решающего конкретную задачу;
б) указание ЭВМ на выполнение какого-либо действия;
в) операторы, переменные и константы.
7. Установите соответствие:
1) writeln а) функция
2) begin б) оператор
3) sin в) ключевое слово
8. Служебное слово – это
а) слова, смысл и написание которых закреплены в программе навсегда;
б) набор допустимых знаков, которые используются для записи программы;
в) слова, которые обозначают какие-либо объекты.
9. С точки зрения информатики Паскаль это:
А. Единица измерения давления. Б. Язык программирования общего назначения. В. Французский учёный. Г. Единица измерения механического напряжения.
10. Язык программирования Паскаль был разработан профессором:
А. Блезом Паскалем. Б. Альбертом Энштейном. В. Иваном Борменталем. Г. Никлаусом Виртом.
11. Слово, после которого начинается раздел описания переменных:
А. Integer. Б. Program. В. Var. Г. Begin.
12. Ввод исходных данных производится по оператору:
А. Write. Б. Read. В. Begin. Г. Writeln. Д. Все ответы верны.
13. При записи арифметических выражений используются:
А. Числовые константы. Б. Переменные. В. Знаки арифметических операций. Г. Круглые скобки. Д. Функции. Е. Все ответы верны.
14. Последовательность латинских букв, цифр и символа «_» в Паскале относится к группе допустимых символов:
А. Разделители. Б. Специальные символы. В. Символы идентификатора. Г. Все ответы верны.
15. Данные которые могут меняться в процессе выполнения программы:
А. Константы. Б. Идентификаторы. В. Переменные. Г. Нет правильных вариантов.
16. Вы захотели оставить личный комментарий в программе. Возможно ли написание пояснений в программе на любом ином языке, кроме английского?
А. Возможно без ограничений. Б. Зависит от желания составителя программы. В. Возможно при соблюдении орфографических знаков или //. Г. Возможно только на русском и китайском.
17. Множество допустимых значений данных, а так же совокупность операций над ними можно определить как:
А. Все ответы верны. Б.Оператор. В. Описание переменных. Г. Переменная. Д. Тип данных.
18. Необходимо ли строгое соблюдение синтаксиса программы?
А. Да, так как компьютер проверяет вашу грамотность. Б. Да, поскольку компьютер является формальным исполнителем. В. Нет, т.к. «Паскаль» написан учёными – лингвистами. Г. Нет, так как компьютер сам исправляет ошибки.
1-г. 2-г. 3-г.4-в.5-ав.6-а.7-1в,2г,3б,4а.8-б. 9-в. 10-а. 11-в. 12-а. 13-а. 14-в. 15-б. 16-в. 17-а. 18-а.
1-б. 2-г. 3-б. 4-а. 5-а. 6-б. 7-1б,2в,3а. 8-а. 9-б. 10-г. 11-в. 12-б. 13-е. 14-в. 15-в. 16-в. 17-д. 18-б.
Тестирование по теме «Программирование в среде Pascal»
Содержимое разработки
Контрольный тест «Язык программирования Паскаль»
(фамилия, имя, класс)
Разработчиком языка Паскаль является:
в) Норберт Винер
г) Эдсгер В.Дейкстра
Установите соответствия между типами данных и типами переменных в Паскале
В данном фрагменте программы:
program error;
begin
SuMmA:=25-14;
end.
ошибкой является:
а) некорректное имя программы
б)не определено имя переменной
в) некорректное имя переменной
г) запись арифметического выражения
Что из ниже перечисленного не входит в алфавит языка Паскаль?
а) латинские строчные и прописные буквы
б) служебные слова
в) русские строчные и прописные буквы
г) знак подчеркивания
Какая клавиша нажимается после набора последнего данного в операторе read?
б) точка с запятой
Разделителями между операторами служит:
б) точка с запятой
В программе на языке Паскаль обязательно должен быть:
а) заголовок программы
б) блок описания используемых данных
в) программный блок
г) оператор присваивания
При присваивании изменяется:
а) имя переменной
б) тип переменной
в) значение переменной
г) значение константы
Вещественные числа имеют тип данных:
Описать переменную – это значит указать её:
а) имя и значение
в) тип и значение
г) имя, тип и значение
Для генерации случайного целого числа из промежутка [10; 20) необходимо использовать выражение:
Какие последовательности символов могут служить именем в языке Паскаль?
Для вывода результатов в Паскале используется оператор:
Какого раздела не существует в программе, написанной на языке Паскаль?
Найдите ошибки в записи программы, исправьте их.
writeln (Произведение введенных Вами чисел равно , C)
Укажите недопустимые имена программ на Паскале:
Запишите на Паскале следующее арифметическое выражение:

В алгоритме, записанном ниже, используются целочисленные переменные a и b. Определите значение переменной b после выполнения данного алгоритма:
Напишите программу для вычисления периметра и площади прямоугольного треугольника по заданным длинам двух катетов a и b.
Ошибки во время выполнения :
- Ошибка выполнения в программе — это ошибка, которая возникает во время работы программы после успешной компиляции.
- Ошибки времени выполнения обычно называются «ошибками» и часто обнаруживаются в процессе отладки перед выпуском программного обеспечения.
- Когда ошибки времени выполнения возникают после того, как программа была распространена среди общественности, разработчики часто выпускают исправления или небольшие обновления, предназначенные для исправления ошибок.
- Любой желающий может найти в этой статье список проблем, с которыми он может столкнуться, если он новичок.
- При решении проблем на онлайн-платформах можно встретить множество ошибок времени выполнения, которые четко не указаны в сообщении, которое приходит с ними. Существует множество ошибок времени выполнения, таких как логические ошибки , ошибки ввода / вывода, ошибки неопределенного объекта, ошибки деления на ноль и многие другие.
Типы ошибок времени выполнения :
- SIGFPE: SIGFPE — ошибка с плавающей запятой. Это практически всегда вызвано делением на 0 . В основном могут быть три основные причины ошибки SIGFPE, описанные ниже:
- Деление на ноль.
- Операция по модулю по нулю.
- Целочисленное переполнение.
Ниже приведена программа, иллюстрирующая ошибку SIGFPE:
C ++
#include <iostream>usingnamespacestd;intmain(){inta = 5;cout << a / 0;return0;}Выход:
- SIGABRT: это сама ошибка, обнаруженная программой, тогда этот сигнал генерируется с использованием вызова функции abort (). Этот сигнал также используется стандартной библиотекой для сообщения о внутренней ошибке. Функция assert () в C ++ также использует abort () для генерации этого сигнала.
Ниже приведена программа, иллюстрирующая ошибку SIGBRT:
C ++
#include <iostream>usingnamespacestd;intmain(){inta = 100000000000;int* arr =newint[a];return0;}Выход:
- NZEC: эта ошибка обозначает «Ненулевой код выхода» . Для пользователей C эта ошибка будет сгенерирована, если метод main () не имеет оператора return 0 . Пользователи Java / C ++ могут сгенерировать эту ошибку, если вызовут исключение. Ниже приведены возможные причины появления ошибки NZEC:
- Бесконечная рекурсия или если у вас закончилась память стека.
- Доступ к отрицательному индексу массива.
- ArrayIndexOutOfBounds Exception.
- Исключение StringIndexOutOfBounds.
Ниже приведена программа, иллюстрирующая ошибку NZEC:
Python
if__name__=="__main__":arr=[1,2]print(arr[2])Выход:
- SIGSEGV: эта ошибка является наиболее частой и известна как «ошибка сегментации». Он генерируется, когда программа пытается получить доступ к памяти, доступ к которой не разрешен, или пытается получить доступ к области памяти недопустимым способом. Список некоторых из распространенных причин ошибок сегментации:
- Доступ к массиву вне пределов.
- Разыменование указателей NULL.
- Разыменование освобожденной памяти.
- Разыменование неинициализированных указателей.
- Неправильное использование операторов «&» (адрес) и «*» (разыменование).
- Неправильные спецификаторы форматирования в операторах printf и scanf.
- Переполнение стека.
- Запись в постоянную память.
Ниже приведена программа, иллюстрирующая ошибку SIGSEGV:
C ++
#include <bits/stdc++.h>usingnamespacestd;voidinfiniteRecur(inta){returninfiniteRecur(a);}intmain(){infiniteRecur(5);}Выход:
Способы избежать ошибок во время выполнения :
- Избегайте использования переменных, которые не были инициализированы. В вашей системе они могут быть установлены на 0 , но не на платформе кодирования.
- Проверяйте каждое вхождение элемента массива и убедитесь, что он не выходит за границы.
- Не объявляйте слишком много памяти. Проверьте ограничение памяти, указанное в вопросе.
- Избегайте объявления слишком большого объема памяти стека. Большие массивы следует объявлять глобально вне функции.
- Используйте return в качестве конечного оператора.
- Избегайте ссылок на свободную память или нулевые указатели.
Вниманию читателя! Не прекращайте учиться сейчас. Освойте все важные концепции DSA с помощью самостоятельного курса DSA по доступной для студентов цене и будьте готовы к работе в отрасли. Получите все важные математические концепции для соревновательного программирования с курсом Essential Maths for CP по доступной для студентов цене.
Если вы хотите посещать живые занятия с отраслевыми экспертами, пожалуйста, обращайтесь к Geeks Classes Live и Geeks Classes Live USA.