Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Запись арифметических выражений.
Примеры: Арифметическое Запись арифметического выражение выражения в программе 1) ab+cd a*b+c*d
2) a(b+c) a*(b+c) 3) a+1 (a+1)/(b+1) b+1
4) 1 1/(a*b) ab
Замечание В выражениях нужно ставить скобки всегда, когда возникают сомнения в правильной очерёдности действий. Лишняя пара скобок не помешает.
Задача 4. Как правильно записать арифметическое выражение в программе? Решение.
Замечание В десятичных дробях принято вместо запятой ставить точку.
Запись математических функций.
Примеры: Действия Результыты
Sqr(2+1) 9 10+Sqr(2+1) 19 1+Abs(5-8) 4 Sqr(2)+Sqrt(35+1) 10 Sqrt(8+Int(41.5)) 7 21div(Round(Pi+1)) 5
Задача 5. Что напечатает данная программа? VAR a,b: Integer; BEGIN a:=(Sqrt(16)+1)*(20-Sqr(2*2))-11; b:=11div(a-4); WriteLn(Sqr(a)+b-1) End.
Ответ. 82 Задача 6. Написать программу для вычисления площади основания и объёма спичечной коробки, если известны её размеры: высота – 12.41 см., ширина – 8 см., толщина – 5 см.
Программа.
VAR shirina,tol,S: Byte; visota,V: Real; BEGIN visota:=12.41; shirina:=8; tol:=5; S:= shirina* tol; V:=S*visota; Write('S=',S,'V=',V:10:3) END.
Оператор ввода данных ReadLn. (читается – "рид'лайн; переводится – "читай строку")
Оператор ReadLn приказывает компьютеру остановиться и ждать, когда человек введет с клавиатуры значения переменных, имена которых перечисляются в круглых скобках через запятую. Пример.
VAR a,b: Integer; BEGIN ReadLn(a,b); WriteLn(a+b) END.
Эта программа на операторе ReadLn остановиться и будет ждать. Человек должен набрать на клавиатуре первое число (значение переменной a), затем нажать клавишу пробела, затем набрать второе число (значение переменной b) и нажать клавишу Enter. Паскаль воспринимает нажатие пробела как сигнал человека о том, что закончен набор на клавиатуре одного числа и сейчас начнётся набор другого. После набора на клавиатуре последнего числа необходимо нажать клавишу
Enter в знак того, что ввод чисел для данного оператора ReadLn закончен и компьютер может продолжать свою работу.
Замечание. Оператор ReadLn можно писать и без скобок, просто так: ReadLn. Компьютер остановиться и будет ждать нажатия клавиши Enter. Таким образом создаются паузы в процессе выполнения программы.
Когда программа делает паузу на операторе ReadLn, человек видит перед собой пустой экран монитора. Для улучшения интерфейса пользователя перед оператором ReadLn необходимо записывать оператор WriteLn, который выводит на экран приглашение ввести ту или иную информацию.
Пример. VAR a,b: Integer; BEGIN WriteLn('Введите два целых числа'); ReadLn(a,b); WriteLn(a+b) END.
Строковые переменные.
Значением переменной может быть не только число, но и текст. Оператор a:='Привет всем!' записывает в ячейку a строку Привет всем! Оператор WriteLn(a) выведет на экран текст Привет всем! Описание VAR a:String говорит о том, что переменная а обязана иметь текстовое значение. (читается – "стринг"; переводится – "строка") Строковую переменную можно задавать не только оператором присваивания, но и оператором ReadLn. Пример. VAR а: String; BEGIN WriteLn('Введите какое-нибудь слово'); ReadLn(a); WriteLn('Вы ввели слово ',а) END.
Задача7. Написать программу, которая осуществляла бы такой диалог человека с компьютером:
Компьютер выводит на экран: Здравствуй, я компьютер, а тебя как зовут? Человек вводит с клавиатуры: имя Компьютер выводит на экран: Очень приятно, …. Сколько тебе лет? Человек вводит с клавиатуры: возраст Компьютер выводит на экран: Ого! Целых … лет! Ты уже совсем взрослый!
Программа.
VAR a: String; b: Byte; BEGIN WriteLn('Здравствуй, я компьютер, а тебя как зовут?'); ReadLn(a); WriteLn('Очень приятно, ',а,'. Сколько тебе лет?'); ReadLn(b); WriteLn(' Ого! Целых ',b,' лет! Ты уже совсем взрослый!') END.
Замечание При вводе одним оператором ReadLn нескольких строковых переменных (или строковых переменных вместе с числовыми) нужно заканчивать ввод каждой переменной нажатием клавиши Enter.
Разветвляющиеся программы.
Процедуры ввода и вывода, а также оператор присваивания позволяют писать только линейные программы, в которых все команды выполняются последовательно одна за другой. Но очень часто возникает необходимость выполнять различные команды в зависимости от выполнения какого – то условия. Для таких целей в Паскале введён условный оператор: If условие then оператор_1 else оператор_2; (If читается – "иф"; переводится – "если"; then читается "зэн"; переводится – "то"; else читается "элз"; переводится – "иначе") Работает этот оператор так – сначала проверяется условие, и, если оно верно, выполняется оператор_1, в противном случае выполняется оператор_2. В простейших случаях условие – это математическое сравнение двух выражений по величине, которое можно записать при помощи следующих знаков:
Задача 8. Составить программу для следующей задачи: Компьютер должен перемножить два числа – 167 и 121. Если их произведение превышает 2000, то компьютер должен напечатать текст Произведение большое, иначе – текст Произведение маленькое. После этого компьютер в любом случае должен напечатать само произведение.
Программа.
VAR a,b,с: Integer; BEGIN a:=167; b:=121; c:=a*b; If c>2000 then WriteLn(' Произведение большое '); else WriteLn(' Произведение маленькое '); WriteLn(с) END. Рассмотренная нами форма условного оператора называется полной, она позволяет направлять выполнение программы по одному из двух путей. Такую конструкцию называют ветвлением. В Паскале есть и краткая форма условного оператора, которая просто позволяет выполнять заданный оператор, если выполнено условие: If условие then оператор_1; Если условие верно, то выполняется оператор_1, иначе выполняться будет следующий за условным оператор. Задача 9. Составить программу для следующей задачи: В компьютер вводится слово. Компьютер должен просто распечатать его. Однако, если введённым словом будет " колхозник ", то компьютер должен вместо него напечатать слово " фермер ".
Решение. VAR a: String; BEGIN ReadLn(a); If a='колхозник' then a:='фермер'; WriteLn(a) END.
Составной оператор. Часто бывает так, что в случае выполнения некоторого условия надо осуществить несколько действий, а не одно, как это предусмотрено в условном операторе. В этом случае используется составной оператор, который выглядит следующим образом: begin оператор_1 оператор_2 . . оператор_n end; Зарезервированные слова Begin и End называются операторными скобками. Между ними может быть сколько угодно других операторов, но считается всё это одним составным оператором. В условном операторе, да и в других ситуациях, с которыми мы встретимся позже, там, где предусмотрено использование одного – единственного оператора, можно использовать составной оператор.
Задача 10. Написать программу, которая бы по желанию пользователя или складывала два числа, или возводила одно число в квадрат.
Программа. VAR otvet: String;
a,b: Integer; BEGIN WriteLN(' Чем займемся – сложением или возведением в квадрат?'); ReadLn(Otvet); If Otvet='сложением' then begin Writeln('Введите два числа'); ReadLn(a,b); WriteLn('Сумма равна',a+b) end else begin WriteLn('Введите число'); ReadLn(a); WriteLn('Квадрат числа равен',a*a) end END.
Задача 11. Составить программу для решения квадратного уравнения ax2+bx+c=0, где b не равно 0, c не равно 0.
Программа.
Var a,b,c,x,x1,x2,D:real; BEGIN WriteLn('Введите a,b,c'); ReadLn(a,b,c); D:=b*b-4*a*c; if D<0 then WriteLn('корней нет') else if D=0 then begin x:=-b/(2*a); WriteLn('x=',x:6:2) end else begin x1:=(-b+Sqrt(D))/(2*a); x2:=(-b-Sqrt(D))/(2*a); WriteLn('x1=',x1:6:2); WriteLn('x2=',x2:6:2) end; ReadLn END.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2017-02-07; просмотров: 149; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 54.144.233.198 (0.084 с.) |