Урок 8. Паскаль с нуля. Оператор выбора Case

  Рет қаралды 14,049

Дмитрий Лапко

Дмитрий Лапко

Күн бұрын

Пікірлер: 67
@ivanfedorovich2999
@ivanfedorovich2999 4 жыл бұрын
program vremyasutok; var h, m: integer; begin writeln('Введите время : '); read(h, m); if(h > 24) or (h < 0) or (m > 59) or (m < 0) then writeln('Ошибка ввода ') else case h of 6..11: writeln('Доброе утро! '); 12..17: writeln('Добрый день! '); 18..22: writeln('Добрый вечер! '); 23..24, 0..5: writeln('Доброй ночи'); end; end.
@sergeyebasher4255
@sergeyebasher4255 4 жыл бұрын
Эх, вот бы сейчас цену такую за бенз((
@bestpaul3720
@bestpaul3720 6 жыл бұрын
8.3 program vrem; var h,m,v:integer; begin writeln('Введите время '); read(h,m); if (h>24)or(h59)or(m
@ДмитрийЛапко-л1н
@ДмитрийЛапко-л1н 6 жыл бұрын
Порядок
@Собственник-т3к
@Собственник-т3к 6 жыл бұрын
Нормально так, через 2 года =D
@АртурКорт
@АртурКорт 29 күн бұрын
Автор, присмотритесь к задаче "8.5". Могу ошибаться, но данная задача либо неполная, либо поставленные условия не совсем верны. Нужно объяснить данные недочеты слушателям, или же дать рекомендации в видеуроках учиться по Вашему списку задач в данном учебнике. Задачник хороший, как и Ваши уроки, но в этом задачнике, скорее всего, есть некоторые ошибки. Конкретно в этой задаче следует: 1)Заменить пременные "k" и "m" на одну 2)Использовать операции не только деления по модулю, но и целочисленного деления("mod" и "div") 3)Либо использовать оператор выбора "Case" дважды. Тогда можно выполнить условия задачи согласно представленной блок-схеме. Первые два варианта укорачивают и упрощают код, но могут запутать новичка с переназначением переменных и использованием нескольких операций деления .Последний вариант хоть и дублирует одну и ту же операцию ,но более прост для логического понимания и усвоения материала, что на начальном этапе важнее.
@abdushevarlan5403
@abdushevarlan5403 4 жыл бұрын
8.1 var dl,stoimost2:real; kod:integer; begin Writeln ('Введите код города'); Read (kod); Writeln ('Введите длительность разговора '); Read (dl); case kod of 423: stoimost2:= dl*3.5; 495: stoimost2:= dl*1.2; 815: stoimost2:= dl*1.8; 846: stoimost2:= dl*2.4; else writeln ('Города несуществует'); end; begin If (kod=423) then writeln ('Город Владивосток'); If (kod=495) then writeln ('Город Москва'); If (kod=815) then writeln ('Город Мурманск'); If (kod=846) then writeln ('Город Самара'); end; begin If (kod=423) then writeln ('Стоимость минуты 3,5 руб'); If (kod=495) then writeln ('Стоимость минуты 1,2 руб'); If (kod=815) then writeln ('Стоимость минуты 1,8 руб'); If (kod=846) then writeln ('Стоимость минуты 2,4 руб'); end; Writeln ('Стоимость разговора ',stoimost2,' руб'); end.
@vldkv
@vldkv 5 жыл бұрын
Благодарю за урок)
@blandmind1483
@blandmind1483 Жыл бұрын
Задача 8.5. Что-то я не поняла алгоритм в задачнике и решила сделать проще: program rubli; var rubl,chislo:integer; begin write('Введите число рублей от 1 до 999: '); read(rubl); chislo:= rubl mod 10; if (chislo>10) then chislo:=chislo mod 10; case chislo of 1: write(rubl,' рубль'); 2,3,4: write(rubl,' рубля'); else write(rubl,' рублей') end; end. Почему-то работает, даже если число от трехзначного и выше :)
@АртурКорт
@АртурКорт 29 күн бұрын
Прежде чем вводить в заблуждение себя и других,то проверяйте,пожалуйста ,свой код.Исправьте.
@vgetas7660
@vgetas7660 3 жыл бұрын
var a,b,c:integer; begin writeln('Введите количество копеек'); read(a); b:=a mod 10; c:=a div 10; if c=1 then write(a,' копеек') else if a>99 then write('Ошибка') else case b of 1:write(a,' копейка'); 2,3,4:write(a,' копейки'); 5,6,7,8,9,0:write(a,' копеек'); end; end.
@annazhmurkova2660
@annazhmurkova2660 6 жыл бұрын
8.5 program rub; var number:integer; begin write('Введите число от 1 до 999 '); read(number); if (number>=1) and (number11) and (number
@АртурКорт
@АртурКорт 29 күн бұрын
Прежде чем вводить в заблуждение себя и других,то проверяйте,пожалуйста ,свой код.Исправьте.
@MsTudor10
@MsTudor10 4 жыл бұрын
спасибо за урок super !!!
@abdushevarlan5403
@abdushevarlan5403 4 жыл бұрын
Задача 8.5 Почему в комментариях эту задачу усложняют и делают более большой какая она есть на самом деле -_- var n,m,k:integer; begin writeln ('Введите число от 0 до 999'); read (n); if n>100 then m:= n mod 100; begin if (m>=11) and (m
@АртурКорт
@АртурКорт 29 күн бұрын
Прежде чем вводить в заблуждение себя и других,то проверяйте,пожалуйста ,свой код.Исправьте.
@АлександрХанин-ш3ф
@АлександрХанин-ш3ф 6 жыл бұрын
задача 8.3 program vr; var h, m:Integer; begin WriteLn('Введите время ( часы минуты)'); Read(h, m); if (m>59) or (m
@ДмитрийЛапко-л1н
@ДмитрийЛапко-л1н 6 жыл бұрын
Все ок)
@helenmaksimova3696
@helenmaksimova3696 6 жыл бұрын
задача 8.1 program telefon; var minuta,stoimost,dlitelnost:real; kod:integer; begin writeln('Введите код города:'); writeln('Владивосток-423'); writeln('Москва-495'); writeln('Мурманск-815'); writeln('Самара-846'); readln(kod); writeln('Укажите длительность разговора :'); readln(dlitelnost); case kod of 423:stoimost:= dlitelnost*3.50; 495:stoimost:= dlitelnost*1.20; 815:stoimost:= dlitelnost*1.80; 846:stoimost:= dlitelnost*2.40; else writeln('Такого кода нет!'); end; writeln('Стоимость разговора',' ',stoimost, ' ', 'руб' ); end.
@ДмитрийЛапко-л1н
@ДмитрийЛапко-л1н 6 жыл бұрын
Отлично
@grishapetrov2688
@grishapetrov2688 2 жыл бұрын
Круто
@viacheslavkondakov921
@viacheslavkondakov921 4 жыл бұрын
8.4 var a,b:integer; begin writeln ('введи число от 1 до 99'); readln (a); if (a>0) and (a=11) and (a
@bestpaul3720
@bestpaul3720 6 жыл бұрын
8.4 program ii; var a:integer; begin writeln(' Введите кол-во копеек '); read(a); case a of 1,21,31,41,51,61,71,81,91:writeln(' У вас ',a,' копейка '); 2..4,22..24,32..34,42..44,52..54,62..64,72..74,82..84,92..94:writeln(' У вас ',a,' копейки '); 5..20,25..30,35..40,45..50,55..60,65..70,75..80,85..90,95..99:writeln(' У вас ',a,' копеек '); else writeln(' только в диапозоне от 1 до 99'); end; end.
@ДмитрийЛапко-л1н
@ДмитрийЛапко-л1н 6 жыл бұрын
Все ок.
@СергейЛюбанов-ч8й
@СергейЛюбанов-ч8й 6 жыл бұрын
Задача 8.5 var n,m,k:integer; begin writeln('Введите число от 1 до 999'); read(n); if (n>=1) and (n100) then m:=n mod 100; if (m>=11) and (m=11) and (n
@Ррооо-ж2я
@Ррооо-ж2я 10 ай бұрын
ну пять лет прошло но всё же program 8.1; var w,e:real; var q:int64; begin writeln('владивасток-423'); writeln('москва-495'); writeln('мурманск-815'); writeln('самара-846'); writeln('введите код города '); read (q); writeln('введите кол-во минут '); read(w); case q of 423: e:=w*3.5; 495: e:=w*1.2; 815: e:=w*1.8; 846: e:=w*2.4; end; writeln('стоимость звонка',e,'р.'); end.
@bestpaul3720
@bestpaul3720 6 жыл бұрын
задача №8.1 program zvonok; var st,c:real; kod:integer; begin writeln('Введите код города'); read(kod); writeln('Введите длительность разговора(мин)'); read(c); case kod of 423: st:= c*3.5; 495: st:= c*1.2; 815: st:= c*1.8; 846: st:= c*2.4; else writeln('Город не внесён в базу'); end; case kod of 423: writeln('Город Владивосток стоимость минуты 3.5 руб '); 495: writeln('Город Москва стоимость минуты 1.2 руб '); 815: writeln('Город Мурманск стоимость минуты 1.8 руб '); 846: writeln('Город Самара стоимость минуты 2.4 руб '); end; writeln('Стоимость разговора составит',st:6:2,'руб'); end.
@ДмитрийЛапко-л1н
@ДмитрийЛапко-л1н 6 жыл бұрын
Отлично.
@Art-xo2hx
@Art-xo2hx 8 ай бұрын
Для эстетики нужно кое что переделать program xxxx; var st,c:real; kod:integer; begin writeln('Введите код города'); read(kod); writeln('Введите длительность разговора(мин)'); read(c); case kod of 423: st:=c*3.5; 495: st:=c*1.2; 815: st:=c*1.8; 846: st:=c*2.4; end; case kod of 423: writeln('Город Владивосток'); 495: writeln('Город Москва'); 815: writeln('Город Мурманск'); 846: writeln('Город Самара'); else writeln('Город не внесён в базу') end; case kod of 423:writeln('Стоимость минуты 3.5 руб '); 495:writeln('Стоимость минуты 1.2 руб '); 815:writeln('Стоимость минуты 1.8 руб '); 846:writeln('Стоимость минуты 2.4 руб '); end; if ((kod=423) or (kod=495) or (kod=815) or (kod=846)) and (c>0) then writeln('Стоимость разговора составит',st:6:2,' руб'); if c
@kawai9072
@kawai9072 3 жыл бұрын
8.4 var k:integer; begin writeln('введите количество копеек от 0 до 99'); read(k); if k in 11..19 then writeln(k,'копеек') else if (k>100) then writeln('вы не можете ввести больше 100 копеек') else case k mod 10 of 0,5,6,7,8,9: writeln(k,' копеек'); 1: writeln(k,' копейка'); 2..4: writeln(k,' копейки'); else if (k>100) then exit; end; end.
@ВадимЛеванович-х7я
@ВадимЛеванович-х7я 5 жыл бұрын
Помогите пожалуйста: у меня некоторые числа пишутся 2 раза руб. Например ввёл 12 рублей, выводит 12 рублей рублей. Что не так? Скажите пожалуйста( program 8.5; var n,m,k:integer; begin writeln('Введите число от 1 до 999'); readln(n); m:=n mod 100; if (m>=11) and (m
@reni4097
@reni4097 5 жыл бұрын
У тебя 12 сначала проверяется в условном операторе => выводит рублей, потом проверяет через оператор case выводит рублей
@РамисИбрагимов-л7з
@РамисИбрагимов-л7з 2 жыл бұрын
А почему до else вы поставили точку с запятой, вы же говорили что не надо ставить?
@ВиталийРожков-л5е
@ВиталийРожков-л5е 3 жыл бұрын
Можно как то по другому ?(по теме) Или так норм? program kopeika; var n,k : integer; begin Writeln('Введите количество копеек от 1-99'); Readln(n); if n>20 then k :=n mod 10; case k of 5..9,0:Writeln(n, ' копеек'); 1:writeln(n, ' копейка'); 2,3,4:writeln(n, ' копейки'); end; end.
@АлександрХанин-ш3ф
@АлександрХанин-ш3ф 6 жыл бұрын
еще одна 8.4 program kopeik; var n:Integer; begin WriteLn('Введите количество копеек от 0 до 99'); Readln(n); if (n>=0) and (n
@ДмитрийЛапко-л1н
@ДмитрийЛапко-л1н 6 жыл бұрын
Отличник по информатике?
@АлександрХанин-ш3ф
@АлександрХанин-ш3ф 6 жыл бұрын
Нуу...как тебе сказать.Я просто понятливый. Мы на информатике программы с учебников списываем. Отличником стать нетрудно
@annazhmurkova2660
@annazhmurkova2660 6 жыл бұрын
Смотри, если число 3 будет и все числа оканчивающиеся на 3, будцт относится к "копейки", а не к копеек
@kulonjob7319
@kulonjob7319 4 жыл бұрын
var price,time:real; city:integer; begin WriteLn('Выберите город'); WriteLn('Владивосток-код:423'); WriteLn('Москва-код:495'); WriteLn('Мурманск-код:815'); WriteLn('Самара-код:846'); Write('Код города:'); read(city); Write ('Время разговора в мин:'); read(time); case city of 423: price:=3.5*time; 495: price:=1.2*time; 815: price:=1.8*time; 846: price:=2.4*time; else writeLn('Такого города нет в беза данных') end; write (price,' ','руб.')
@bestpaul3720
@bestpaul3720 6 жыл бұрын
8.5 Не работает, пишет,что нельзя тип boolean преобразовать в integer.Подскажите пожалуйста что не так. program rub; var m:real; a:integer; begin writeln(' Введите кол-во рублей '); read(a); CASE A OF a>100: m:=a mod 100; (m>=11) and (m
@ДмитрийЛапко-л1н
@ДмитрийЛапко-л1н 6 жыл бұрын
Проблема тут CASE A OF a>100 . А именно, сдесь нужен оператор If, а не Case. Это видно по блок схеме
@bestpaul3720
@bestpaul3720 6 жыл бұрын
я заменил, уже работает,но фразы иногда повторяются,и чет несовсем все правильно в итоге,можете исправить,а то я уже не знаю,как это решить. В интернете есть решение,но там через uses crt.За ранее спасибо! program rub; var m,a:integer; begin writeln(' Введите кол-во рублей '); read(a); if a>100 then m:=a mod 100; if(m>=11) and (m=11) and (m
@BY-pg8vr
@BY-pg8vr 6 жыл бұрын
program devyatki; var chislo, chi2: integer; begin write('введите сумму от 1 до 999 - '); read(chislo); chi2 := chislo mod 10; if chislo < 21 then case chislo of 0, 5..10: write(chislo, ' рублей'); 1: write(chislo, ' рубль'); 2..4: write(chislo, ' рубля'); 11..20: write(chislo, ' рублей'); end; if chislo > 20 then case chi2 of 0, 5..9: write(chislo, '-рублей'); 1: write(chislo, '-рубль'); 2..4: write(chislo, '-рубля'); else write(' - ошибка'); end; end.
@hivaln
@hivaln 5 жыл бұрын
program znak_zodiaka; var d, m: integer; begin writeln('Write your birthday'); read(d,m); if (m=1) and (d>=20) or (m=2) and (d=19) or (m=3) and (d=21) or (m=4) and (d=20) or (m=5) and (d=21) or (m=6) and (d=22) or (m=7) and (d=23) or (m=8) and (d=23) or (m=9) and (d=23) or (m=10) and (d=23) or (m=11) and (d=23) or (m=12) and (d=22) or (m=1) and (d
@ШамаКаспийский-ъ2б
@ШамаКаспийский-ъ2б 8 ай бұрын
шёл 2024год и Дизельное топливо дороже 95го...(
@nematullatashmetov8907
@nematullatashmetov8907 6 жыл бұрын
Помогите написать программу 7.12
@АлександрХанин-ш3ф
@АлександрХанин-ш3ф 6 жыл бұрын
задача 8.1 program zvonok; Var min, cen, stm:Real; cod:Integer; Begin Writeln('Введите код города'); Readln(cod); case cod of 423: cen:=3.5; 495: cen:=1.2; 815: cen:=1.8; 846: cen:=2.4 else WriteLn('Неверные данные'); end; if (cen>0) then begin WriteLn('Введите длительность разговора (мин)'); Readln(min); if (cod=423) then WriteLn('Владивосток') else if (cod=495) then WriteLn('Москва') else if (cod=815) then WriteLn('Мурманск') else if (cod=846) then WriteLn('Самара') else WriteLn(' '); WriteLn('Стоимость минуты ', cen); stm:=min*cen; WriteLn(' Стоимость разговора ', stm); end else WriteLn(' '); End.
@ДмитрийЛапко-л1н
@ДмитрийЛапко-л1н 6 жыл бұрын
Решается все проще. Попробуй без if все сделать.
@ВиталийРожков-л5е
@ВиталийРожков-л5е 3 жыл бұрын
Program cena; var c,m,os: real; k: integer; g: string; begin writeln('423'); writeln('495'); writeln('815'); writeln('846'); read(k); writeln('Введите длительность разговора в минутах - '); read(m); case k of 423: g:=('город Владивосток'); 495: g:=('город Москва'); 815: g:=('город Мурманск'); 846: g:=('город Самара'); end; writeln(g); case k of 423: c:=3.5; 495: c:=1.2 ; 815: c:=1.8 ; 846: c:=2.4 ; end; writeln('Стоимость минуты = ', c , ' руб' ); case k of 423: os:=m*3.5; 495: os:=m*1.2; 815: os:=m*1.8; 846: os:=m*2.4; else write('Такого кода не существует '); end; write('Стоимость разговора = ', os , ' руб'); end. только так смог
@Никита-ъ1ш8ш
@Никита-ъ1ш8ш 6 жыл бұрын
Задача 8.1 Program telefon; uses crt ; var k,t:integer; r:real; begin WriteLn('Введите код города: '); ReadLn(k); WriteLn('Введите продолжительность разговора: '); ReadLn(t); case k of 861: begin WriteLn('Город Краснодар'); WriteLn('Стоимость разговора минуты - 2.5 руб'); r:=t*2.5; WriteLn('Стоимость разговора составит ',r:7:2,' руб.'); end; 423: begin WriteLn('Город Владивосток'); WriteLn('Стоимость разговора минуты - 3.5 руб'); r:=t*3.5; WriteLn('Стоимость разговора составит ',r:7:2,' руб.'); end; 495: begin WriteLn('Город Москва'); WriteLn('Стоимость разговора минуты - 1.2 руб'); r:=t*1.2; WriteLn('Стоимость разговора составит ',r:7:2,' руб.'); end; 815: begin WriteLn('Город Мурманск'); WriteLn('Стоимость разговора минуты - 1.8 руб'); r:=t*1.8; WriteLn('Стоимость разговора составит ',r:7:2,' руб.'); end; 846: begin WriteLn('Город Самара'); WriteLn('Стоимость разговора минуты - 2.4 руб'); r:=t*2.4; WriteLn('Стоимость разговора составит ',r:7:2,' руб.'); end; else WriteLn('Я не знаю такого кода.Введите другой.') end end.
@nfoe3430
@nfoe3430 5 жыл бұрын
ТЫ ОХУЕННЫЙ
@nfoe3430
@nfoe3430 5 жыл бұрын
Спасибо большое
@СергейМазур-я4я
@СергейМазур-я4я 5 жыл бұрын
работает не корректно
@annazhmurkova2660
@annazhmurkova2660 6 жыл бұрын
8.6 program mera; var x, z, y:real; var n, m:integer; begin write('Введите исходное число '); read(x); writeln('Введите в каких единицах она указана: '); writeln('1 - дюйм '); writeln('2 - фут '); writeln('3 - ярд '); read(n); writeln('Выберите в какие еденицы перевести: '); writeln('1 - мм '); writeln('2 - см '); writeln('3 - м '); writeln('4 - км '); read(m); case n of 1:y:=x*2.54; 2:y:=x*30.48; 3:y:=x*91.44; end; case m of 1:z:=y*10; 2:z:=y; 3:z:=y/100; 4:z:=y/100000 else writeln('Не корректно введена конечная мера длины '); end; writeln('Ответ: ', z:6:2); end.
@vaiforo6788
@vaiforo6788 4 жыл бұрын
Винда 7, потом 10... А потом опять 7?
@bt_market
@bt_market 6 жыл бұрын
program sd; var a,b:integer; c:real; begin writeln('Выберайти город'); Writeln ('423-Влодивосток ','Цена=3,5 руб'); writeln ('495-Москва','Цена=1,2 руб'); Writeln ('815-Мурминск','Цена=1.8 руб'); Writeln ('846-Самара','Цена=2,4 руб'); read (a); writeln ('Введите длительность розговора'); read (b); Case a of 423:c:=b*3.5; 495:c:=b*1.2; 815:c:=b*1.8; 846:c:=b*2.4; end; writeln(c,'=Руб'); end.
@СергейМазур-я4я
@СергейМазур-я4я 5 жыл бұрын
работает не корректно
@paveltumanow3788
@paveltumanow3788 6 жыл бұрын
rogram bablo; var s,s1:integer; begin writeln('vvedite nominal moneti 1..99'); read(s); s1:= s mod 10; case s1 of 1: writeln(s,'kopeika'); 2,3,4: writeln(s,'kopeiki'); 5,6,7,8,9,0: writeln(s,'kopeek'); end; end.
@СергейМазур-я4я
@СергейМазур-я4я 5 жыл бұрын
проверь на 13
@АлександрХанин-ш3ф
@АлександрХанин-ш3ф 6 жыл бұрын
program rybl; var a, n, k:Integer; begin WriteLn(' Введите число от 1 до 999' ); ReadLn(a); if (a999) then WriteLn ('Я же сказал - от 1 до 999') else if (a>=100) then begin k:=a mod 100; if (k=11) or (k=12) or (k=13) or (k=14) then WriteLn(a, ' ', 'рублей') else begin k:=a mod 10; case k of 2..4: WriteLn(a, ' ', 'рубля'); 1: WriteLn(a, ' ', 'рубль') else WriteLn(a, ' ', 'рублей'); end; end; end else begin case a of 1, 21, 31, 41, 51, 61, 71, 81, 91: WriteLn(n, ' ', 'рублей'); 2..4, 22..24, 32..34, 42..44, 52..54, 62..64, 72..74, 82..84, 92..94: WriteLn(n, ' ', 'копейки') else WriteLn(a, ' ', 'pублей'); end; end; end.
@ДмитрийЛапко-л1н
@ДмитрийЛапко-л1н 6 жыл бұрын
А если 24 ввести, что выведет??
@АлександрХанин-ш3ф
@АлександрХанин-ш3ф 6 жыл бұрын
Да... я перепутал. Там "а" должно быть
@АлександрХанин-ш3ф
@АлександрХанин-ш3ф 6 жыл бұрын
Да. я перепутал. там "а" должно быть вместо "n"
Урок №6. Паскаль с нуля. If then else . Продолжение
21:06
😜 #aminkavitaminka #aminokka #аминкавитаминка
00:14
Аминка Витаминка
Рет қаралды 3,1 МЛН
My MEAN sister annoys me! 😡 Use this gadget #hack
00:24
Osman Kalyoncu Sonu Üzücü Saddest Videos Dream Engine 275 #shorts
00:29
Triple kill😹
00:18
GG Animation
Рет қаралды 18 МЛН
Урок 2. Паскаль с нуля. Ещё о типах данных
20:14
Дмитрий Лапко
Рет қаралды 37 М.
Советский мультфильм про нашу жизнь !
13:49
Дедушка Аргентинца
Рет қаралды 6 МЛН
«Осень». Самая большая загадка Windows XP
14:36
Девять десятых
Рет қаралды 1,1 МЛН
ЯЗЫК АССЕМБЛЕРА С НУЛЯ | #1 НАЧАЛО
54:43
😜 #aminkavitaminka #aminokka #аминкавитаминка
00:14
Аминка Витаминка
Рет қаралды 3,1 МЛН